View a markdown version of this page

Kubernetes 클러스터에 연결 - Wickr Enterprise

이 가이드에서는 Wickr Enterprise에 대한 설명서를 제공합니다. AWS Wickr를 사용하는 경우 AWS Wickr 관리 안내서 또는 AWS Wickr 사용 설명서를 참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Kubernetes 클러스터에 연결

Amazon EKS API는 배포의 일부로 생성된 Bastion Host를 통해서만 액세스할 수 있습니다. 그 결과, 모든 kubectl 명령은 Bastion Host 자체에서 실행되거나 Bastion Host를 통해 프록시되어야 합니다.

Bastion을 통한 프록시 연결

클러스터에 처음 연결할 때는 aws eks update-kubeconfig 명령을 사용하여 로컬 kubeconfig 파일을 업데이트한 다음 구성에서 proxy-url을 설정해야 합니다. 그런 다음 클러스터에 연결할 때마다 Bastion Host와 SSM 세션을 시작하여 API 액세스를 위해 프록시로 포트 포워딩합니다.

일회성 설정

WickrEksCloudFormation 스택에는 WickrEnterpriseConfigCommand로 시작하는 이름을 가진 출력 값이 있습니다. 이 값에는 클러스터의 kubectl 구성을 생성하는 데 필요한 전체 명령이 포함됩니다. 이 출력은 다음 명령으로 확인할 수 있습니다.

aws cloudformation describe-stacks --stack-name WickrEks \ --query 'Stacks[0].Outputs[?starts_with(OutputKey, `WickrEnterpriseConfigCommand`)].OutputValue' \ --output text

그러면 aws eks update-kubeconfig로 시작하는 명령이 출력되어야 합니다. 이 명령을 실행합니다.

다음으로, Bastion Host를 통한 프록시 요청으로 Kubernetes 구성을 수정해야 합니다. 이 작업은 다음 명령을 사용하여 완료될 수 있습니다.

CLUSTER_ARN=$(aws cloudformation describe-stacks --stack-name WickrEks --query 'Stacks[0].Outputs[?OutputKey==`WickrEnterpriseEksClusterArn`].OutputValue' --output text) kubectl config set "clusters.${CLUSTER_ARN}.proxy-url" http://localhost:8888

제대로 작업했으면, 'Property "clusters.arn:aws:eks:us-west-2:012345678912:cluster/WickrEnterprise5B8BF472-1234a41c4ec48b7b615c6789d93dcce.proxy-url" set.'과 같은 출력이 표시됩니다.

Bastion으로 향하는 포트 포워드

Amazon EKS 클러스터에 연결하려면 Bastion Host에서 실행되는 프록시로 요청을 포워딩하는 SSM 세션을 시작해야 합니다. 이 작업을 수행하기 위한 명령은 WickrEks 스택의 출력으로 제공됩니다BastionSSMProxyEKSCommand. 다음 명령을 실행하여 출력 값을 확인합니다.

aws cloudformation describe-stacks --stack-name WickrEks \ --query 'Stacks[0].Outputs[?OutputKey==`BastionSSMProxyEKSCommand`].OutputValue' \ --output text

출력되는 명령은 aws ssm start-session로 시작됩니다. 이 명령을 실행하여 포트 8888에서 실행되는 로컬 프록시를 시작합니다. 이 포트를 통해 Amazon EKS 클러스터에 연결할 수 있습니다. 포트 전달이 제대로 작동하면 출력에 '연결 대기 중... '이 표시되어야 합니다. Amazon EKS 클러스터에 액세스하는 데 필요한 시간 내내 이 프로세스를 계속 실행되도록 하십시오.

모든 것이 올바르게 설정된 경우 다른 터미널kubectl get nodes에서를 실행하여 Amazon EKS 클러스터의 작업자 노드를 나열할 수 있습니다.

kubectl get nodes NAME STATUS ROLES AGE VERSION ip-10-0-111-216.ec2.internal Ready none 3d v1.26.4-eks-0a21954 ip-10-0-180-1.ec2.internal Ready none 2d23h v1.26.4-eks-0a21954 ip-10-0-200-102.ec2.internal Ready none 3d v1.26.4-eks-0a21954