이 페이지 개선에 도움 주기
이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.
EKS의 ACK 기능과 자체 관리형 ACK 비교
EKS의 ACK 기능은 자체 관리형 ACK 컨트롤러와 동일한 기능을 제공하지만 상당한 운영 이점을 제공합니다. EKS 기능과 자체 관리형 솔루션의 일반적인 비교는 EKS 기능 및 고려 사항 섹션을 참조하세요. 이 주제에서는 ACK에 특정한 차이에 중점을 둡니다.
업스트림 ACK와의 차이
EKS의 ACK 기능은 업스트림 ACK 컨트롤러에 기반하지만 IAM 통합에서 차이가 납니다.
IAM 기능 역할: 이 기능은 서비스 계정에 대한 IAM 역할(IRSA)이 아닌 capabilities.eks.amazonaws.com 서비스 위탁자를 허용하는 신뢰 정책이 있는 전용 IAM 역할을 사용합니다. Kubernetes 서비스 계정을 생성하거나 이에 주석을 달거나 OIDC 공급자를 구성할 필요 없이 IAM 정책을 기능 역할에 직접 연결할 수 있습니다. 프로덕션 사용 사례의 모범 사례는 IAMRoleSelector를 사용하여 서비스 권한을 구성하는 것입니다. 자세한 내용은 ACK 권한 구성 섹션을 참조하세요.
세션 태그: 관리형 기능이 모든 AWS API 요청에서 세션 태그를 자동으로 설정하여 세분화된 액세스 제어 및 감사를 지원합니다. 태그에는 eks:eks-capability-arn, eks:kubernetes-namespace 및 eks:kubernetes-api-group이 포함됩니다. 기본적으로 이러한 태그를 설정하지 않는 자체 관리형 ACK와는 다릅니다. IAM 정책에서 세션 태그 사용에 대한 자세한 내용은 ACK 권한 구성 섹션을 참조하세요.
리소스 태그: 이 기능은 자체 관리형 ACK와는 다른 기본 태그를 AWS 리소스에 적용합니다. 이 기능은 자체 관리형 ACK에서 사용하는 services.k8s.aws/ 태그 대신 eks: 접두사의 태그(예: eks:kubernetes-namespace, eks:eks-capability-arn)를 사용합니다. 기본 리소스 태그의 전체 목록은 EKS에 대한 ACK 고려 사항 섹션을 참조하세요.
리소스 호환성: ACK 사용자 지정 리소스는 ACK 리소스 YAML 파일을 변경하지 않고도 업스트림 ACK와 동일하게 작동합니다. 이 기능은 동일한 Kubernetes API 및 CRD를 사용하므로 kubectl 같은 도구가 동일한 방식으로 작동합니다. 업스트림 ACK의 모든 GA 컨트롤러 및 리소스가 지원됩니다.
전체 ACK 설명서 및 서비스별 가이드는 ACK 설명서
마이그레이션 경로
가동 중지 시간 없이 자체 관리형 ACK에서 관리형 기능으로 마이그레이션할 수 있습니다.
-
리더 선정 리스에
kube-system을 사용하도록 자체 관리형 ACK 컨트롤러를 업데이트합니다. 예를 들어 다음과 같습니다.helm upgrade --install ack-s3-controller \ oci://public.ecr.aws/aws-controllers-k8s/s3-chart \ --namespace ack-system \ --set leaderElection.namespace=kube-system그러면 컨트롤러의 리스가
kube-system으로 이전되어 관리형 기능을 이에 맞게 조정할 수 있습니다. -
클러스터에서 ACK 기능 생성(ACK 기능 생성 참조)
-
관리형 기능은 기존 ACK 관리형 AWS 리소스를 인식하고 조정을 인계함
-
자체 관리형 컨트롤러 배포를 점진적으로 스케일 다운하거나 제거합니다.
helm uninstall ack-s3-controller --namespace ack-system
이 접근 방식을 사용하면 마이그레이션 중에 두 컨트롤러가 모두 안전하게 공존할 수 있습니다. 관리형 기능은 이전에 자체 관리형 컨트롤러o에서 관리하던 리소스를 자동으로 채택하여 충돌 없이 지속적인 조정을 보장합니다.