在EKS上安装CloudWatch Container Insights | Kubernetes

这是续集。
您可以通过以下链接以PDF格式下载本文来支持我们。

以PDF格式下载指南

这是续集。
这是续集。
这是续集。
这是续集。
这是续集。

这是续集。

这是续集。
这是续集。
这是续集。
这是续集。


这是续集。

这是续集。
这是续集。

CloudWatch是一项服务,可在AWS Cloud Platform中以日志,指标和事件的形式收集运营和监控数据,然后使用自动化仪表板将数据可视化,以便您可以统一查看AWS资源,应用程序和服务。可以在AWS和本地运行。

部署EKS或Kubernetes集群后,需要配置Container Insights将数据发送到CloudWatch。

该设置的先决条件是功能正常的Amazon EKS或Kubernetes集群。如果您需要参考安装文章,我们可以在我们的网站上提供它们。

使用EKS轻松在AWS上设置Kubernetes集群

使用kubeadm在Ubuntu上安装Kubernetes集群

使用kubeadm在CentOS 7上安装Kubernetes集群

检查以确认kubectl可以连接到Kubernetes API Server。

$ kubectl get nodes
NAME                                            STATUS   ROLES    AGE   VERSION
ip-192-168-138-244.eu-west-1.compute.internal   Ready       9d    v1.17.9-eks-4c6976
ip-192-168-176-247.eu-west-1.compute.internal   Ready       9d    v1.17.9-eks-4c6976

创建策略并将其附加到工作节点的IAM角色

在以下位置打开Amazon EC2控制台 https://console.aws.amazon.com/ec2/ 并选择一个Worker节点。

在说明中选择IAM角色。在IAM角色页面上,选择 附加政策

在EKS上安装CloudWatch Container Insights | Kubernetes

选择 CloudWatchAgentServerPolicy 复选框并附加策略。

在EKS上安装CloudWatch Container Insights | Kubernetes

在Amazon EKS上设置容器见解

将策略附加到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                     5m22s
daemonset.apps/fluentd-cloudwatch   2         2         2       2            2                     5m18s

我们可以看到所有Pod都处于运行状态,它们是由守护程序集创建的。

查看容器见解指标

设置容器数据分析并收集指标后,您可以在 CloudWatch控制台

在EKS上安装CloudWatch Container Insights | Kubernetes

在导航窗格中选择“性能监视”,从中可以选择要查看的资源类型指标。

更多指南:

使用EFS存储服务的EKS Kubernetes持久存储

在Kubernetes EKS集群上使用水平Pod自动缩放器

在EKS Kubernetes集群中启用CloudWatch日志记录

这是续集。
您可以通过以下链接以PDF格式下载本文来支持我们。

以PDF格式下载指南

这是续集。
这是续集。
这是续集。
这是续集。
这是续集。

这是续集。

这是续集。
这是续集。
这是续集。
这是续集。


这是续集。

这是续集。
这是续集。

Sidebar