Amazon CloudWatch Observability EKS 추가 기능 또는 헬름 차트를 사용하여 CloudWatch 에이전트 설치
Amazon CloudWatch Observability EKS 추가 기능 또는 Amazon CloudWatch Observability 차트 Helm을 사용하여 Amazon EKS 클러스터에 CloudWatch 에이전트와 Fluent-Bit 에이전트를 설치할 수 있습니다. 또한 차트 Helm을 사용하여 Amazon EKS에서 호스팅되지 않은 Kubernetes 클러스터에 CloudWatch 에이전트와 Fluent-bit 에이전트를 설치할 수 있습니다.
Amazon EKS 클러스터에서 두 방법 중 하나를 사용하면 기본적으로 Amazon EKS와 CloudWatch Application Signals에 대한 향상된 관찰성을 갖춘 Container Insights가 모두 활성화됩니다. 두 기능 모두 클러스터에서 인프라 지표, 애플리케이션 성능 텔레메트리 및 컨테이너 로그를 수집하는 데 도움이 됩니다.
Amazon EKS의 향상된 관찰 기능을 갖춘 Container Insights를 사용하면 Container Insights 지표는 저장된 지표나 수집된 로그별로 요금이 부과되는 대신 관찰당 요금이 부과됩니다. Application Signals의 경우 결제는 애플리케이션에 대한 인바운드 요청, 애플리케이션의 아웃바운드 요청, 구성된 각 서비스 수준 목표(SLO)를 기준으로 합니다. 수신된 각 인바운드 요청은 하나의 애플리케이션 신호를 생성하고, 각 아웃바운드 요청은 하나의 애플리케이션 신호를 생성합니다. 모든 SLO는 측정 기간당 두 개의 애플리케이션 신호를 생성합니다. CloudWatch 요금에 대한 자세한 내용은 Amazon CloudWatch 요금
두 방법 다 Amazon EKS 클러스터의 Linux 및 Windows 워커 노드 모두에서 Container Insights를 활성화합니다. Windows에서 Container Insights를 활성화하려면 Amazon EKS 추가 기능 버전 1.5.0 이상 또는 차트 Helm을 사용해야 합니다. Amazon EKS 클러스터의 Windows에서는 Application Signals가 현재 지원되지 않습니다.
Amazon CloudWatch Observability EKS 추가 기능은 Kubernetes 버전 1.23 이상을 실행하는 Amazon EKS 클러스터에서 지원됩니다.
추가 기능 또는 차트 Helm을 설치할 때 CloudWatch 에이전트가 지표, 로그 및 트레이스를 CloudWatch에 전송할 수 있도록 IAM 권한을 부여해야 합니다. 이렇게 하는 방법은 두 가지입니다.
작업자 노드의 IAM 역할에 정책을 연결합니다. 이 옵션은 워커 노드에 CloudWatch로 원격 분석을 전송할 수 있는 권한을 부여합니다.
에이전트 포드에 대해 서비스 계정의 IAM 역할을 사용하고 이 역할에 정책을 연결합니다. 이는 Amazon EKS 클러스터에만 적용됩니다. 이 옵션을 사용하면 CloudWatch가 해당 에이전트 포드에만 액세스할 수 있습니다.
옵션 1: 워커 노드에 IAM 권한으로 설치
이 방법을 사용하려면 먼저 다음 명령을 입력하여 CloudWatchAgentServerPolicy IAM 정책을 워커 노드에 연결합니다. 이 명령에서는 my-worker-node-role
을 Kubernetes 워커 노드에서 사용하는 IAM 역할로 대체합니다.
aws iam attach-role-policy \ --role-name
my-worker-node-role
\ --policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy
그런 다음 Amazon CloudWatch Observability EKS 추가 기능을 사용하여 설치합니다. 추가 기능을 설치하려면 AWS CLI, 콘솔, AWS CloudFormation 또는 Terraform을 사용할 수 있습니다.
옵션 2: IAM 서비스 계정 역할을 사용하여 설치(추가 기능을 사용하는 경우에만 해당)
이 방법은 Amazon CloudWatch Observability EKS 추가 기능을 사용하는 경우에만 유효합니다. 이 방법을 사용하기 전에 다음과 같은 사전 요구 사항을 확인하세요.
-
Container Insights를 지원하는 AWS 리전 중 하나에 노드가 연결되어 있는 Amazon EKS 클러스터터가 작동 중입니다. 지원되는 리전 목록은 Container Insights 단원을 참조하세요.
-
클러스터에 대해
kubectl
가 설치 및 구성되어 있습니다. 자세한 내용은 Amazon EKS 사용 설명서의kubectl
설치를 참조하세요. -
eksctl
이 설치되어 있습니다. 자세한 내용은 Amazon EKS 사용 설명서의eksctl
설치 또는 업데이트 섹션을 참조하세요.
IAM 서비스 계정 역할을 사용하여 Amazon CloudWatch Observability EKS 추가 기능 설치
클러스터에 아직 OpenID Connect(OIDC) 공급자가 없는 경우 다음 명령을 입력하여 해당 공급자를 생성합니다. 자세한 내용은 Amazon EKS 사용자 가이드의 IAM 역할을 가정하는 Kubernetes 서비스 계정 구성을 참조하세요.
eksctl utils associate-iam-oidc-provider --cluster
my-cluster-name
--approve다음 명령을 입력하여 CloudWatchAgentServerPolicy 정책이 연결된 IAM 역할을 생성하고 OIDC를 사용하여 해당 역할을 수임하도록 에이전트 서비스 계정을 구성합니다.
my-cluster-name
을 클러스터 이름으로,my-service-account-role
을 서비스 계정을 연결할 역할의 이름으로 바꿉니다. 역할이 아직 없는 경우eksctl
이 자동으로 생성합니다.eksctl create iamserviceaccount \ --name cloudwatch-agent \ --namespace amazon-cloudwatch --cluster
my-cluster-name
\ --role-namemy-service-account-role
\ --attach-policy-arn arn:aws:iam::aws:policy/CloudWatchAgentServerPolicy \ --role-only \ --approve다음 명령을 입력하여 추가 기능을 설치합니다.
my-cluster-name
을 클러스터 이름으로,111122223333
을 계정 ID로,my-service-account-role
을 이전 단계에서 생성한 IAM 역할로 바꿉니다.aws eks create-addon --addon-name amazon-cloudwatch-observability --cluster-name
my-cluster-name
--service-account-role-arn arn:aws:iam::111122223333
:role/my-service-account-role
(선택 사항) 추가 구성
주제
컨테이너 로그 수집 옵트아웃
기본적으로 추가 기능은 Fluent Bit를 사용하여 모든 포드에서 컨테이너 로그를 수집한 다음 로그를 CloudWatch Logs로 보냅니다. 수집되는 로그에 대한 자세한 내용은 Fluent Bit 설정을 참조하세요.
참고
추가 기능과 차트 Helm 모두 클러스터의 기존 Fluentd 또는 Fluent Bit 리소스를 관리하지 않습니다. 추가 기능 또는 차트 Helm을 설치하기 전에 기존 Fluentd 또는 Fluent Bit 리소스를 삭제할 수 있습니다. 또는 기존 설정을 유지하고 추가 기능이나 차트 Helm이 Fluent Bit를 설치하지 않도록 하려면 이 섹션의 지침에 따라 이를 비활성화할 수 있습니다.
Amazon CloudWatch Observability EKS 추가 기능을 사용하는 경우 컨테이너 로그 수집을 옵트아웃하려면 추가 기능을 생성하거나 업데이트할 때 다음 옵션을 전달하세요.
--configuration-values '{ "containerLogs": { "enabled": false } }'
차트 Helm을 사용하는 경우 컨테이너 로그 수집을 옵트아웃하려면 추가 기능을 생성하거나 업데이트할 때 다음 옵션을 전달하세요.
--set containerLogs.enabled=false
사용자 지정 Fluent Bit 구성 사용
Amazon CloudWatch Observability EKS 추가 기능 버전 1.7.0부터 추가 기능 또는 차트 Helm을 생성하거나 업데이트할 때 Fluent Bit 구성을 수정할 수 있습니다. 차트 Helm의 값 재정의 또는 추가 기능 고급 구성의 containerLogs
루트 수준 섹션에서 지정 정의 Fluent Bit 구성을 제공합니다. 이 섹션에서는 config
섹션(Linux의 경우) 또는 configWindows
섹션(Windows의 경우)에서 사용자 지정 Fluent Bit 구성을 제공합니다. config
는 다음과 같은 하위 섹션으로 더 세분화됩니다.
service
- 이 섹션은 Fluent Bit 엔진의 글로벌 동작을 정의하는SERVICE
구성을 나타냅니다.customParsers
– 이 섹션은 비정형 로그 항목을 가져와 처리 및 추가 필터링을 쉽게 할 수 있도록 구조를 부여할 수 있는 포함할 글로벌PARSER
를 나타냅니다.extraFiles
– 이 섹션은 포함할 추가 Fluent Bitconf
파일을 제공하는 데 사용할 수 있습니다. 기본적으로 다음 3개의conf
파일이 포함됩니다.application-log.conf
- CloudWatch Logs의 로그 그룹/aws/containerinsights/
으로 클러스터의 애플리케이션 로그를 전송하기 위한my-cluster-name
/applicationconf
파일입니다.dataplane-log.conf
- CloudWatch Logs의 로그 그룹/aws/containerinsights/
으로 클러스터의 데이터 영역 구성 요소에 해당하는 로그(CRI 로그, kubelet 로그, kube-proxy 로그 및 Amazon VPC CNI 로그 포함)를 전송하기 위한my-cluster-name
/dataplaneconf
파일입니다.host-log.conf
- Linux의/var/log/dmesg
,/var/log/messages
,/var/log/secure
와 Windows의 시스템winlogs
에서 CloudWatch의 로그 그룹/aws/containerinsights/
로 로그를 전송하기 위한my-cluster-name
/hostconf
입니다.
참고
하위 섹션 내에서 한 필드만 수정하는 경우에도 이러한 개별 섹션 각각에 대한 전체 구성을 제공하세요. 아래에 제공된 기본 구성을 기준으로 사용한 다음 기본적으로 활성화되어 있는 기능을 비활성화하지 않도록 적절하게 수정하는 것이 좋습니다. Amazon EKS 추가 기능의 고급 구성을 수정하거나 차트 Helm에 대한 값 재정의를 제공할 때 다음 YAML 구성을 사용할 수 있습니다.
클러스터의 config
섹션을 찾으려면 GitHub의 aws-observability / helm-charts/charts/amazon-cloudwatch-observability/values.yaml
로 이동하여 containerLogs
아래의 fluentBit
섹션 내에서 config
섹션(Linux의 경우)과 configWindows
섹션(Windows의 경우)을 찾으세요.
예를 들어 버전 1.7.0의 기본 Fluent Bit 구성은 여기
Amazon EKS 추가 기능의 고급 구성을 사용하여 제공하거나 Helm 설치에 대한 값 재정의로 제공할 때 config
를 YAML로 제공하는 것이 좋습니다. YAML이 다음 구조를 준수하는지 확인하세요.
containerLogs: fluentBit: config: service: | ... customParsers: | ... extraFiles: application-log.conf: | ... dataplane-log.conf: | ... host-log.conf: | ...
다음 예제 config
에서는 비우기 간격의 글로벌 설정을 45초로 변경합니다. Flush
필드만 수정하더라도 서비스 하위 섹션에 대한 전체 SERVICE
정의를 제공해야 합니다. 이 예제에서는 다른 하위 섹션에 대한 재정의를 지정하지 않았으므로 기본값이 사용됩니다.
containerLogs: fluentBit: config: service: | [SERVICE] Flush 45 Grace 30 Log_Level error Daemon off Parsers_File parsers.conf storage.path /var/fluent-bit/state/flb-storage/ storage.sync normal storage.checksum off storage.backlog.mem_limit 5M
다음 예제 구성에는 추가 Fluent bit conf
파일이 포함되어 있습니다. 이 예제에서는 extraFiles
아래에 사용자 지정 my-service.conf
를 추가하고 있으며 이 구성은 세 가지 기본 extraFiles
에 추가로 포함됩니다.
containerLogs: fluentBit: config: extraFiles: my-service.conf: | [INPUT] Name tail Tag myservice.* Path /var/log/containers/*myservice*.log DB /var/fluent-bit/state/flb_myservice.db Mem_Buf_Limit 5MB Skip_Long_Lines On Ignore_Older 1d Refresh_Interval 10 [OUTPUT] Name cloudwatch_logs Match myservice.* region ${AWS_REGION} log_group_name /aws/containerinsights/${CLUSTER_NAME}/myservice log_stream_prefix ${HOST_NAME}- auto_create_group true
다음 예제에서는 extraFiles
에서 기존 conf
파일을 완전히 제거합니다. 이는 빈 문자열로 재정의하여 application-log.conf
를 완전히 제외합니다. extraFiles
에서 application-log.conf
를 생략하면 기본값을 사용한다는 의미이지만, 이 예제에서 기본값을 사용하려고 하는 것은 아닙니다. 이전에 extraFiles
에 추가했을 수 있는 사용자 지정 conf
파일을 제거하는 경우에도 마찬가지입니다.
containerLogs: fluentBit: config: extraFiles: application-log.conf: ""
설치된 포드 워크로드에 대한 Kubernetes 톨러레이션을 관리합니다.
Amazon CloudWatch Observability EKS 추가 기능 버전 1.7.0부터 추가 기능이나 차트 Helm은 이에 의해 설치된 포드 워크로드의 모든 테인트를 허용하도록 Kubernetes 톨러레이션을 기본 설정합니다. 이렇게 하면 CloudWatch 에이전트 및 Fluent Bit와 같은 DaemonSet가 기본적으로 클러스터의 모든 노드에서 포드를 예약할 수 있습니다. 톨러레이션과 테인트에 대한 자세한 내용은 Kubernetes 문서의 테인트(Taints)와 톨러레이션(Tolerations)
추가 기능 또는 차트 Helm에서 설정하는 기본 톨러레이션은 다음과 같습니다.
tolerations: - operator: Exists
추가 기능 고급 구성을 사용하거나 값 재정의로 차트 Helm을 설치하거나 업그레이드할 때 루트 수준에서 tolerations
필드를 설정하여 기본 톨러레이션을 재정의할 수 있습니다. 예제는 다음과 같습니다.
tolerations: - key: "key1" operator: "Exists" effect: "NoSchedule"
톨러레이션을 완전히 생략하려면 다음과 같은 구성을 사용할 수 있습니다.
tolerations: []
톨러레이션에 대한 모든 변경 사항은 추가 기능 또는 차트 Helm에 의해 설치되는 모든 포드 워크로드에 적용됩니다.
가속 컴퓨팅 지표 수집 옵트아웃
기본적으로 고급 관찰성을 갖춘 Container Insights는 NVIDIA GPU 지표, AWS Trainium 및 AWS Inferentia에 대한 AWS Neuron 지표, AWS Elastic Fabric Adapter(EFA) 지표를 포함하여 가속 컴퓨팅 모니터링을 위한 지표를 수집합니다.
Amazon EKS 워크로드의 NVIDIA GPU 지표는 EKS 추가 기능 또는 차트 Helm 버전 v1.3.0-eksbuild.1
과 CloudWatch 에이전트 버전 1.300034.0
부터 기본적으로 수집됩니다. 수집되는 지표 목록과 전제 조건은 NVIDIA GPU 지표 섹션을 참조하세요.
AWS Trainium 및 AWS Inferentia 액셀러레이터에 대한 AWS Neuron 지표는 EKS 추가 기능 또는 차트 Helm 버전 v1.5.0-eksbuild.1
과 CloudWatch 에이전트 버전 1.300036.0
부터 기본적으로 수집됩니다. 수집되는 지표 목록과 전제 조건은 AWS Trainium 및 AWS Inferentia의 AWS Neuron 지표 섹션을 참조하세요.
Amazon EKS 클러스터의 Linux 노드의 AWS Elastic Fabric Adapter(EFA) 지표는 기본적으로 EKS 추가 기능 또는 차트 Helm 버전 v1.5.2-eksbuild.1
과 CloudWatch 에이전트 버전 1.300037.0
부터 수집됩니다. 수집되는 지표 목록과 전제 조건은 AWS Elastic Fabric Adapter(EFA) 지표 섹션을 참조하세요.
CloudWatch 에이전트 구성 파일의 accelerated_compute_metrics
필드를 false
로 설정하여 이러한 지표 수집을 옵트아웃할 수 있습니다. 이 필드는 CloudWatch 구성 파일의 metrics_collected
섹션의 kubernetes
섹션에 있습니다. 다음은 옵트아웃 구성의 예입니다. 사용자 지정 CloudWatch 에이전트 구성을 사용하는 방법에 대한 자세한 내용은 사용자 지정 CloudWatch 에이전트 구성 사용 섹션을 참조하세요.
{ "logs": { "metrics_collected": { "kubernetes": { "enhanced_container_insights": true, "accelerated_compute_metrics": false } } } }
사용자 지정 CloudWatch 에이전트 구성 사용
CloudWatch 에이전트를 사용하여 다른 지표, 로그 또는 트레이스를 수집하려면 Container Insights와 CloudWatch Application Signals를 활성화한 상태로 유지하면서 사용자 지정 구성을 지정할 수 있습니다. 이렇게 하려면 EKS 추가 기능 또는 차트 Helm을 생성하거나 업데이트할 때 사용할 수 있는 고급 구성의 에이전트 키 아래에 있는 구성 키 내에 CloudWatch 에이전트 구성 파일을 포함합니다. 다음은 추가 구성을 제공하지 않은 경우의 기본 에이전트 구성을 나타냅니다.
중요
추가 구성 설정을 사용하여 제공하는 모든 사용자 지정 구성은 에이전트가 사용하는 기본 구성보다 우선합니다. 향상된 관찰성을 갖춘 Container Insights 및 CloudWatch Application Signals와 같이 기본적으로 활성화되는 기능을 실수로 비활성화하지 않도록 주의합니다. 사용자 지정 에이전트 구성을 제공해야 하는 시나리오에서는 다음 기본 구성을 기준으로 사용하고 그에 따라 수정하는 것이 좋습니다.
Amazon CloudWatch Observability EKS 추가 기능을 사용하는 경우
--configuration-values '{ "agent": { "config": { "logs": { "metrics_collected": { "application_signals": {}, "kubernetes": { "enhanced_container_insights": true } } }, "traces": { "traces_collected": { "application_signals": {} } } } }'
-
차트 Helm을 사용하는 경우
--set agent.config='{ "logs": { "metrics_collected": { "application_signals": {}, "kubernetes": { "enhanced_container_insights": true } } }, "traces": { "traces_collected": { "application_signals": {} } } }'
다음 예시는 Windows의 CloudWatch 에이전트에 대한 기본 에이전트 구성을 보여줍니다. Windows의 CloudWatch 에이전트는 사용자 지정 구성을 지원하지 않습니다.
{ "logs": { "metrics_collected": { "kubernetes": { "enhanced_container_insights": true }, } } }
승인 웹후크 TLS 인증서 관리
Amazon CloudWatch Observability EKS 추가 기능과 차트 Helm은 Kubernetes 승인 웹후크AmazonCloudWatchAgent
및 Instrumentation
사용자 지정 리소스(CR) 요청과 클러스터에 대한 Kubernetes 포드 요청(CloudWatch Application Signals가 활성화된 경우)을 검증하고 변경합니다. Kubernetes에서 웹후크에는 보안 통신을 보장하기 위해 API 서버가 신뢰할 수 있도록 구성된 TLS 인증서가 필요합니다.
기본적으로 Amazon CloudWatch Observability EKS 추가 기능과 차트 Helm은 API 서버와 웹후크 서버 간의 통신을 보호하기 위해 자체 서명된 CA와 이 CA에서 서명한 TLS 인증서를 자동으로 생성합니다. 이 자동 생성된 인증서의 기본 만료 기한은 10년이며 만료 시 자동 갱신되지 않습니다. 또한 추가 기능 또는 차트 Helm을 업그레이드하거나 다시 설치할 때마다 CA 번들과 인증서가 다시 생성되므로 만료 기한이 재설정됩니다. 자동 생성된 인증서의 기본 만료 기한을 변경하려면 추가 기능을 만들거나 업데이트할 때 다음과 같은 추가 구성을 사용합니다. expiry-in-days
를 원하는 만료 기간(일)으로 바꿉니다.
Amazon CloudWatch Observability EKS 추가 기능에 사용
--configuration-values '{ "admissionWebhooks": { "autoGenerateCert": { "expiryDays":
expiry-in-days
} } }'차트 Helm에 사용
--set admissionWebhooks.autoGenerateCert.expiryDays=expiry-in-days
보다 안전하고 기능이 풍부한 인증 기관 솔루션을 위해 이 추가 기능에는 cert-manager
클러스터의 TLS 인증서 관리에 대한 모범 사례를 검토하고 프로덕션 환경에서는 cert-manager로 옵트인하는 것이 좋습니다. 승인 웹후크 TLS 인증서를 관리하기 위해 cert-manager를 활성화하도록 옵트인 경우 Amazon CloudWatch Observability EKS 추가 기능 또는 차트 Helm을 설치하기 전에 Amazon EKS 클러스터에 cert-manager를 미리 설치해야 합니다. 사용 가능한 설치 옵션에 대한 자세한 내용은 cert-manager 설명서
Amazon CloudWatch Observability EKS 추가 기능을 사용하는 경우
--configuration-values '{ "admissionWebhooks": { "certManager": { "enabled": true } } }'
차트 Helm을 사용하는 경우
--set admissionWebhooks.certManager.enabled=true
--configuration-values '{ "admissionWebhooks": { "certManager": { "enabled": true } } }'
이 섹션에서 설명하는 고급 구성에서는 기본적으로 SelfSigned
Amazon EBS 볼륨 ID 수집
성능 로그에서 Amazon EBS 볼륨 ID를 수집하려는 경우 워커 노드나 서비스 계정에 연결된 IAM 역할에 다른 정책을 추가해야 합니다. 다음 내용을 인라인 정책으로 추가합니다. 자세한 내용은 IAM 자격 증명 권한 추가 및 제거를 참조하세요.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:DescribeVolumes" ], "Resource": "*", "Effect": "Allow" } ] }
Amazon CloudWatch Observability EKS 추가 기능 또는 차트 Helm 문제 해결
다음은 Amazon CloudWatch Observability EKS 추가 기능 또는 차트 Helm 관련 문제를 해결하는 데 도움이 되는 정보입니다.
주제
Amazon CloudWatch Observability EKS 추가 기능 또는 차트 Helm 업데이트 및 삭제
Amazon CloudWatch Observability EKS 추가 기능의 업데이트 또는 삭제에 대한 지침은 Amazon EKS 추가 기능 관리를 참조하세요. 추가 기능 이름으로 amazon-cloudwatch-observability
를 사용합니다.
클러스터에서 차트 Helm을 삭제하려면 다음 명령을 입력합니다.
helm delete amazon-cloudwatch-observability -n amazon-cloudwatch --wait
Amazon CloudWatch Observability EKS 추가 기능 또는 차트 Helm에서 사용하는 CloudWatch 에이전트의 버전 확인
Amazon CloudWatch Observability EKS 추가 기능 또는 차트 Helm은 사용 중인 CloudWatch 에이전트의 버전을 포함하여 클러스터에서 CloudWatch 에이전트 대몬 세트의 동작을 제어하는 AmazonCloudWatchAgent
종류의 사용자 지정 리소스를 설치합니다. 다음 명령을 입력하면 클러스터에 설치된 모든 AmazonCloudWatchAgent
사용자 지정 리소스 목록을 가져올 수 있습니다.
kubectl get amazoncloudwatchagent -A
이 명령의 출력에서 CloudWatch 에이전트의 버전을 확인할 수 있습니다. 또는 클러스터에서 실행 중인 amazoncloudwatchagent
리소스 또는 cloudwatch-agent-*
포드 중 하나를 설명하여 사용 중인 이미지를 검사할 수도 있습니다.
추가 기능 또는 차트 Helm 관리 시 ConfigurationConflict 처리
Amazon CloudWatch Observability EKS 추가 기능 또는 차트 Helm을 설치하거나 업데이트할 때 기존 리소스로 인해 장애가 발생하는 경우, 클러스터에 이미 CloudWatch 에이전트와 관련 구성 요소(예: ServiceAccount, ClusterRole 및 ClusterRoleBinding)가 설치되어 있기 때문일 수 있습니다.
추가 기능에 의해 표시되는 오류에는 Conflicts found when trying to apply. Will not continue due to resolve conflicts mode
메시지가 포함됩니다.
차트 Helm에 표시되는 오류는 Error: INSTALLATION FAILED: Unable to continue with install and invalid ownership metadata.
와 비슷합니다.
추가 기능 또는 차트 Helm이 CloudWatch 에이전트 및 연결된 구성 요소를 설치하려고 할 때 콘텐츠의 변경 사항이 탐지되면 기본적으로 클러스터의 리소스 상태를 덮어쓰지 않도록 설치 또는 업데이트가 실패합니다.
Amazon CloudWatch Observability EKS 추가 기능에 온보딩하려고 하는데 이 오류가 표시되는 경우 이전에 클러스터에 설치한 기존 CloudWatch 에이전트 설정을 삭제한 다음, EKS 추가 기능 또는 차트 Helm을 설치하는 것이 좋습니다. 사용자 지정 에이전트 구성과 같이 원래 CloudWatch 에이전트 설정에 대한 모든 사용자 지정을 백업하고 다음에 설치하거나 업데이트할 때 Amazon CloudWatch Observability EKS 추가 기능 또는 차트 Helm에 제공합니다. 이전에 Container Insights 온보딩을 위해 CloudWatch 에이전트를 설치한 경우 자세한 내용은 Container Insights의 CloudWatch 에이전트 및 Fluent Bit 삭제 섹션을 참조하세요.
또는 추가 기능은 OVERWRITE
를 지정하는 기능이 있는 충돌 해결 구성 옵션을 지원합니다. 이 옵션을 사용하면 클러스터의 충돌을 덮어써서 추가 기능 설치 또는 업데이트를 진행할 수 있습니다. Amazon EKS 콘솔을 사용하는 경우 추가 기능을 생성하거나 업데이트할 때 선택적 구성 설정을 선택하면 충돌 해결 방법을 찾을 수 있습니다. AWS CLI를 사용하는 경우 명령에 --resolve-conflicts OVERWRITE
를 제공하여 추가 기능을 생성하거나 업데이트할 수 있습니다.