View a markdown version of this page

Terapkan Wawasan Kontainer yang Ditingkatkan (Klasik) dengan CloudFormation atau Helm - Amazon CloudWatch

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terapkan Wawasan Kontainer yang Ditingkatkan (Klasik) dengan CloudFormation atau Helm

Anda dapat menerapkan Enhanced Container Insights (Classic) sebagai infrastruktur sebagai kode dengan menggunakan CloudFormation templat atau bagan Helm. Pendekatan ini menginstal amazon-cloudwatch-observability add-on dengan versi sebelum v6.2.0 untuk mengaktifkan pipeline metrik Klasik. Pilih pendekatan ini jika Anda mengelola cluster melalui saluran pipa IAC dan menginginkan penerapan yang dapat diulang dan dikendalikan versi.

Rekomendasi

Untuk penerapan baru, kami sarankanWawasan Kontainer OTel (Direkomendasikan), yang menggunakan add-on versi 6.2.0 atau yang lebih baru dengan pipeline. OTel-based

Prasyarat

Sebelum Anda menerapkan Enhanced Container Insights (Classic) dengan CloudFormation atau Helm, verifikasi bahwa Anda memenuhi persyaratan berikut.

  • Cluster Amazon EKS yang sudah ada yang menjalankan Kubernetes versi 1.25 atau yang lebih baru

  • AWS CLI versi 2.12.0 atau yang lebih baru

  • kubectldikonfigurasi untuk berkomunikasi dengan cluster target Anda

  • Izin IAM untuk pembuatan CloudFormation tumpukan (untuk metode) CloudFormation

  • Helm v3.8 atau yang lebih baru (untuk metode Helm)

  • Akses internet keluar dari cluster ke titik akhir CloudWatch

Menyebarkan dengan CloudFormation

Gunakan CloudFormation template untuk menerapkan add-on CloudWatch Observability dengan konfigurasi Classic. Template ini menggunakan AWS::EKS::Addon sumber daya untuk menginstal add-on dengan versi sebelum v6.2.0.

CloudFormation templat

Template berikut membuat resource yang Anda perlukan untuk mengaktifkan Enhanced Container Insights (Classic) di klaster Amazon EKS Anda.

AWSTemplateFormatVersion: '2010-09-09' Description: Deploy Enhanced Container Insights (Classic) on an EKS cluster Parameters: ClusterName: Type: String Description: The name of your EKS cluster Resources: CloudWatchAgentRole: Type: AWS::IAM::Role Properties: RoleName: EKS-CloudWatch-Agent-Role AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: pods.eks.amazonaws.com Action: - sts:AssumeRole - sts:TagSession ManagedPolicyArns: - arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy PodIdentityAssociation: Type: AWS::EKS::PodIdentityAssociation Properties: ClusterName: !Ref ClusterName Namespace: amazon-cloudwatch ServiceAccount: cloudwatch-agent RoleArn: !GetAtt CloudWatchAgentRole.Arn CloudWatchObservabilityAddon: Type: AWS::EKS::Addon DependsOn: PodIdentityAssociation Properties: ClusterName: !Ref ClusterName AddonName: amazon-cloudwatch-observability AddonVersion: v5.4.0-eksbuild.1 ServiceAccountRoleArn: !GetAtt CloudWatchAgentRole.Arn ResolveConflicts: OVERWRITE

Template ini menciptakan sumber daya berikut:

  • Peran IAM dengan kebijakan CloudWatchAgentServerPolicy terkelola terlampir

  • Asosiasi Identitas Pod EKS yang memetakan peran ke akun layanan CloudWatch agen

  • Pengaya amazon-cloudwatch-observability EKS dengan versi Klasik (sebelum v6.2.0)

Untuk menyebarkan CloudFormation tumpukan

Gunakan AWS CLI untuk membuat CloudFormation tumpukan dari template.

Untuk menyebarkan tumpukan
  1. Simpan template sebelumnya ke file bernama. classic-container-insights.yaml

  2. Jalankan perintah berikut. Ganti cluster-name dengan nama cluster Amazon EKS Anda.

    aws cloudformation create-stack \ --stack-name classic-container-insights \ --template-body file://classic-container-insights.yaml \ --parameters ParameterKey=ClusterName,ParameterValue=cluster-name \ --capabilities CAPABILITY_NAMED_IAM
  3. Tunggu pembuatan tumpukan selesai.

    aws cloudformation wait stack-create-complete \ --stack-name classic-container-insights
  4. Verifikasi bahwa status tumpukan adalahCREATE_COMPLETE.

    aws cloudformation describe-stacks \ --stack-name classic-container-insights \ --query "Stacks[0].StackStatus" \ --output text

Menyebarkan dengan Helm

Gunakan bagan Helm untuk menerapkan Enhanced Container Insights (Classic) jika Anda mengelola beban kerja Kubernetes dengan Helm. Bagan menginstal operator CloudWatch Observability dengan pipeline metrik Klasik.

catatan

Ketika Anda menggunakan Helm, Anda harus membuat peran IAM dan asosiasi Pod Identity secara terpisah. Bagan Helm hanya menginstal sumber daya Kubernetes.

Langkah 1: Buat peran IAM

Buat peran IAM untuk CloudWatch agen sebelum Anda menginstal bagan Helm.

Untuk membuat peran IAM dan asosiasi Pod Identity
  1. Jalankan perintah berikut untuk membuat peran dengan kebijakan kepercayaan untuk EKS Pod Identity.

    aws iam create-role \ --role-name EKS-CloudWatch-Agent-Role \ --assume-role-policy-document '{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "pods.eks.amazonaws.com" }, "Action": ["sts:AssumeRole", "sts:TagSession"] }] }'
  2. Lampirkan kebijakan yang CloudWatchAgentServerPolicy dikelola ke peran.

    aws iam attach-role-policy \ --role-name EKS-CloudWatch-Agent-Role \ --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
  3. Buat asosiasi Pod Identity. Ganti cluster-name dengan nama cluster Amazon EKS Anda dan account-id dengan ID AWS akun Anda.

    aws eks create-pod-identity-association \ --cluster-name cluster-name \ --namespace amazon-cloudwatch \ --service-account cloudwatch-agent \ --role-arn arn:aws:iam::account-id:role/EKS-CloudWatch-Agent-Role

Langkah 2: Instal bagan Helm

Instal bagan CloudWatch Observability Helm dengan versi Klasik (sebelum v6.2.0).

Untuk menginstal bagan Helm
  1. Jalankan perintah berikut. Ganti cluster-name dengan nama cluster Amazon EKS Anda dan region dengan AWS Wilayah Anda.

    helm install amazon-cloudwatch-observability \ oci://public.ecr.aws/cloudwatch-agent/amazon-cloudwatch-observability-helm-chart \ --namespace amazon-cloudwatch \ --create-namespace \ --set clusterName=cluster-name \ --set region=region \ --version 5.4.0
  2. Verifikasi bahwa rilis Helm berhasil diterapkan.

    helm list -n amazon-cloudwatch

    Status harus ditunjukkandeployed.

Verifikasi penyebaran

Setelah pembuatan CloudFormation tumpukan atau instalasi Helm selesai, verifikasi bahwa add-on sedang berjalan dan mengirim data ke. CloudWatch

Untuk memverifikasi penyebaran
  1. Konfirmasikan bahwa pod CloudWatch agen sedang berjalan.

    kubectl get pods -n amazon-cloudwatch -l app.kubernetes.io/name=cloudwatch-agent

    Semua pod harus menunjukkan Running status.

  2. Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/.

  3. Pada panel navigasi, silakan pilih Metrik, dan kemudian pilih Semua metrik.

  4. Verifikasi bahwa metrik muncul di ContainerInsights namespace untuk klaster Anda.

Metrik biasanya muncul CloudWatch dalam waktu 3 hingga 5 menit setelah penerapan selesai.

Langkah selanjutnya

Setelah menerapkan Enhanced Container Insights (Classic), Anda dapat menjelajahi topik-topik berikut.