在EKS上安装CloudWatch Container Insights | Kubernetes
时间:2020-02-23 14:31:40 来源:igfitidea点击:
CloudWatch是一项服务,可在AWS Cloud平台中以日志,指标和事件的形式收集运营和监控数据。然后,它通过使用自动化仪表板来可视化数据,以便我们可以统一查看在AWS和本地运行的AWS资源,应用程序和服务。
部署EKS或者Kubernetes集群后,需要配置Container Insights将数据发送到CloudWatch。
此设置的准备工作是功能正常的Amazon EKS或者Kubernetes集群。
检查以确认kubectl可以连接到Kubernetes API Server。
$kubectl get nodes NAME STATUS ROLES AGE VERSION ip-192-168-138-244.eu-west-1.compute.internal Ready <none> 9d v1.17.9-eks-4c6976 ip-192-168-176-247.eu-west-1.compute.internal Ready <none> 9d v1.17.9-eks-4c6976
创建策略并将其添加到工作节点的IAM角色
通过以下网址打开Amazon EC2控制台:https://console.aws.amazon.com/ec2/,然后选择一个Worker节点。
在描述中选择IAM角色。在" IAM角色"页面上,选择"添加策略"。
选中CloudWatchAgentServerPolicy复选框并添加策略。
在Amazon EKS上设置容器Insights
将策略添加到EKS辅助节点角色后,继续在Amazon EKS上部署Container Insights。
将群集名称和区域另存为变量。
EKS_CLUSTER_NAME="prod-eks-cluster" EKS_CLUSTER_REGION="eu-west-1"
下载安装列表:
curl -O https://raw.githubusercontent.com/aws-samples/amazon-cloudwatch-container-insights/latest/k8s-deployment-manifest-templates/deployment-mode/daemonset/container-insights-monitoring/quickstart/cwagent-fluentd-quickstart.yaml
更新文件以设置正确的群集和区域名称。
sed -ie "s/{{cluster_name}}/${EKS_CLUSTER_NAME}/;s/{{region_name}}/${EKS_CLUSTER_REGION}/" cwagent-fluentd-quickstart.yaml
使用以下命令在Amazon EKS上安装Container Insights。
kubectl apply -f ./cwagent-fluentd-quickstart.yaml
如命令执行输出所示,创建了许多资源:
namespace/amazon-cloudwatch unchanged serviceaccount/cloudwatch-agent unchanged clusterrole.rbac.authorization.k8s.io/cloudwatch-agent-role unchanged clusterrolebinding.rbac.authorization.k8s.io/cloudwatch-agent-role-binding unchanged configmap/cwagentconfig unchanged daemonset.apps/cloudwatch-agent unchanged configmap/cluster-info unchanged serviceaccount/fluentd unchanged clusterrole.rbac.authorization.k8s.io/fluentd-role unchanged clusterrolebinding.rbac.authorization.k8s.io/fluentd-role-binding unchanged configmap/fluentd-config unchanged daemonset.apps/fluentd-cloudwatch unchanged
获取amazon-cloudwatch命名空间中所有资源的状态。
$kubectl get all -n amazon-cloudwatch NAME READY STATUS RESTARTS AGE pod/cloudwatch-agent-lqtfw 1/1 Running 0 5m21s pod/cloudwatch-agent-lsz92 1/1 Running 0 5m21s pod/fluentd-cloudwatch-6j2jf 1/1 Running 0 5m17s pod/fluentd-cloudwatch-dzrdq 1/1 Running 0 5m17s NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE daemonset.apps/cloudwatch-agent 2 2 2 2 2 <none> 5m22s daemonset.apps/fluentd-cloudwatch 2 2 2 2 2 <none> 5m18s
我们可以看到所有Pod都处于运行状态,它们是由守护程序集创建的。
查看容器Insights指标
设置Container Insights并收集指标后,可以在CloudWatch控制台中查看这些指标。
在导航窗格中选择"性能监视",从中可以选择要查看的资源类型指标。