이 페이지 개선에 도움 주기
이 사용자 설명서에 기여하고 싶으신가요? 이 페이지 하단으로 스크롤하여 GitHub에서 이 페이지 편집을 선택하세요. 여러분의 기여는 모두를 위한 더 나은 사용자 설명서를 만드는 데 도움이 됩니다.
외부 Kubernetes 클러스터를 Amazon EKS Management Console에 연결
다음 프로세스에서 여러 방법을 사용하여 외부 Kubernetes 클러스터를 Amazon EKS에 연결할 수 있습니다. 이 프로세스에는 두 단계로 이루어집니다. Amazon EKS에 클러스터를 등록하고 클러스터에 eks-connector
에이전트를 설치하는 것입니다.
첫 번째 단계를 완료한 후 등록이 만료되는 3일 이내에 두 번째 단계를 완료해야 합니다.
고려 사항
에이전트를 설치할 때 YAML 매니페스트를 사용할 수 있습니다. 아니면 AWS Management Console 또는 AWS Command Line Interface에 클러스터를 등록하는 경우 Helm을 사용할 수 있습니다. 그러나 eksctl
에 클러스터를 등록한 경우 Helm을 사용하여 에이전트를 설치할 수 없습니다.
사전 조건
1단계: 클러스터 등록
- AWS CLI
-
클러스터를 AWS CLI에 등록하려면
-
커넥터 구성의 경우 Amazon EKS Connector 에이전트 IAM 역할을 지정합니다. 자세한 내용은 Amazon EKS Connector에 필요한 IAM 역할 단원을 참조하십시오.
aws eks register-cluster \
--name my-first-registered-cluster
\
--connector-config roleArn=arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole
,provider="OTHER" \
--region aws-region
예제 출력은 다음과 같습니다.
{
"cluster": {
"name": "my-first-registered-cluster
",
"arn": "arn:aws:eks:region:111122223333:cluster/my-first-registered-cluster
",
"createdAt": 1627669203.531,
"ConnectorConfig": {
"activationId": "xxxxxxxxACTIVATION_IDxxxxxxxx
",
"activationCode": "xxxxxxxxACTIVATION_CODExxxxxxxx
",
"activationExpiry": 1627672543.0,
"provider": "OTHER",
"roleArn": "arn:aws:iam::111122223333:role/AmazonEKSConnectorAgentRole"
},
"status": "CREATING"
}
}
다음 단계에서 aws-region
, activationId
및 activationCode
값을 사용합니다.
- AWS Management Console
-
콘솔에 Kubernetes 클러스터를 등록하려면 다음을 수행합니다.
https://console.aws.amazon.com/eks/home#/clusters에서 Amazon EKS 콘솔을 엽니다.
-
클러스터 추가(Add cluster)를 선택하고 등록(Register)을 선택하여 구성 페이지를 불러옵니다.
-
클러스터 구성(Configure cluster) 페이지에서 다음 필드를 작성합니다.
-
클러스터 등록(Register cluster)을 선택합니다.
-
클러스터 개요 페이지가 표시됩니다. 차트 Helm을 사용하려면 helm install
명령을 복사하고 다음 단계로 넘어갑니다. YAML 매니페스트를 사용하려면 YAML 파일 다운로드를 선택하여 매니페스트 파일을 로컬 드라이브에 다운로드합니다.
-
helm
install
명령을 복사하거나 이 파일을 다운로드할 수 있는 유일한 기회입니다. 링크에 액세스할 수 없으며 클러스터를 등록 취소하고 처음부터 단계를 시작해야 하므로 이 페이지에서 벗어나지 마세요.
-
명령 또는 매니페스트 파일은 등록된 클러스터에 대해 한 번만 사용할 수 있습니다. Kubernetes 클러스터에서 리소스를 삭제하는 경우 클러스터를 다시 등록하고 새 매니페스트 파일을 가져와야 합니다.
매니페스트 파일을 Kubernetes 클러스터에 적용하려면 다음 단계로 이동합니다.
- eksctl
-
클러스터를 eksctl
에 등록하려면 다음을 수행합니다.
-
이름, 공급자 및 리전을 제공하여 클러스터를 등록합니다.
eksctl register cluster --name my-cluster
--provider my-provider
--region region-code
출력 예제:
2021-08-19 13:47:26 [ℹ] creating IAM role "eksctl-20210819194112186040"
2021-08-19 13:47:26 [ℹ] registered cluster "<name>" successfully
2021-08-19 13:47:26 [ℹ] wrote file eks-connector.yaml to <current directory>
2021-08-19 13:47:26 [ℹ] wrote file eks-connector-clusterrole.yaml to <current directory>
2021-08-19 13:47:26 [ℹ] wrote file eks-connector-console-dashboard-full-access-group.yaml to <current directory>
2021-08-19 13:47:26 [!] note: "eks-connector-clusterrole.yaml" and "eks-connector-console-dashboard-full-access-group.yaml" give full EKS Console access to IAM identity "<aws-arn>", edit if required; read https://eksctl.io/usage/eks-connector for more info
2021-08-19 13:47:26 [ℹ] run `kubectl apply -f eks-connector.yaml,eks-connector-clusterrole.yaml,eks-connector-console-dashboard-full-access-group.yaml` before expiry> to connect the cluster
이렇게 하면 로컬 컴퓨터에 파일이 생성됩니다. 이 파일을 3일 이내에 외부 클러스터에 적용해야 하며, 그러지 않으면 등록이 만료됩니다.
-
클러스터에 액세스할 수 있는 터미널에서 eks-connector-binding.yaml
파일 적용:
kubectl apply -f eks-connector-binding.yaml
2단계: eks-connector
에이전트 설치
- Helm chart
-
eksctl
에 클러스터를 등록한 경우 차트 Helm 방법 대신 YAML 매니페스트 방법을 사용하세요.
-
이전 단계에서 AWS CLI를 사용한 경우 다음 명령에서 ACTIVATION_CODE
및 ACTIVATION_ID
를 각각 activationId
및 activationCode
값으로 대체합니다. aws-region
을 이전 단계에서 사용한 AWS 리전으로 바꿉니다. 그런 다음 명령을 실행하여 등록하는 클러스터에 eks-connector
에이전트를 설치합니다.
$
helm install eks-connector \
--namespace eks-connector \
oci://public.ecr.aws/eks-connector/eks-connector-chart \
--set eks.activationCode=ACTIVATION_CODE
\
--set eks.activationId=ACTIVATION_ID
\
--set eks.agentRegion=aws-region
이전 단계에서 AWS Management Console을 사용한 경우 이전 단계에서 복사하고 이러한 값이 채워진 명령을 사용합니다.
-
설치된 eks-connector
배포의 상태를 확인하고 Amazon EKS에 등록된 클러스터의 상태가 ACTIVE
가 될 때까지 기다립니다.
- YAML manifest
-
Amazon EKS Connector 매니페스트 파일을 Kubernetes 클러스터에 적용하여 연결 작업을 완료합니다. 이렇게 하려면 앞서 설명한 방법을 사용해야 합니다. 3일 이내에 매니페스트가 적용되지 않으면 Amazon EKS Connector 등록이 만료됩니다. 클러스터 연결이 만료되면 먼저 클러스터의 등록을 취소한 후 클러스터를 다시 연결해야 합니다.
-
Amazon EKS Connector YAML 파일을 다운로드합니다.
curl -O https://amazon-eks.s3.us-west-2.amazonaws.com/eks-connector/manifests/eks-connector/latest/eks-connector.yaml
-
Amazon EKS Connector YAML 파일을 편집하여 %AWS_REGION%
, %EKS_ACTIVATION_ID%
, %EKS_ACTIVATION_CODE%
의 모든 참조를 이전 단계 출력의 aws-region
, activationId
및 activationCode
로 바꿉니다.
다음 예제 명령은 이러한 값을 대체할 수 있습니다.
sed -i "s~%AWS_REGION%~$aws-region
~g; s~%EKS_ACTIVATION_ID%~$EKS_ACTIVATION_ID
~g; s~%EKS_ACTIVATION_CODE%~$(echo -n $EKS_ACTIVATION_CODE
| base64)~g" eks-connector.yaml
정품 인증 코드가 base64 형식인지 확인합니다.
-
클러스터에 액세스할 수 있는 터미널에서 다음 명령을 실행하여 업데이트된 매니페스트 파일을 적용할 수 있습니다.
kubectl apply -f eks-connector.yaml
-
Amazon EKS Connector 매니페스트 및 역할 바인딩 YAML 파일이 Kubernetes 클러스터에 적용된 후 클러스터가 이제 연결되었는지 확인합니다.
aws eks describe-cluster \
--name "my-first-registered-cluster"
\
--region AWS_REGION
출력에 status=ACTIVE
가 포함되어야 합니다.
-
(선택 사항) 클러스터에 태그를 추가합니다. 자세한 내용은 태그를 사용하여 Amazon EKS 리소스 구성 단원을 참조하십시오.
다음 단계
이 단계에서 문제가 있는 경우 Amazon EKS Connector 이슈 문제 해결의 내용을 참조하세요.
연결된 클러스터에서 Kubernetes 리소스를 볼 수 있도록 추가 IAM 보안 주체에게 Amazon EKS 콘솔에 대한 액세스 권한을 부여하려면 Amazon EKS 콘솔에서 Kubernetes 클러스터 리소스를 볼 수 있는 액세스 권한 부여 섹션을 참조하세요.