-
06_EKS에 외부 Cluster(K8S) 등록 및 관리: EKS Connector공부합시다!/AWS 2023. 7. 9. 12:01728x90
EKS를 활용하면 외부(GCP, Azure, Tanzu, Onpremis 등) K8S Cluster를 등록해서 관리할 수 있습니다.
물론 한계는 있습니다만 그래도 단일 환경에서 모니터링이 가능하다면 꽤 괜찮은 방법일 듯 합니다.
역할 설정들이 까다롭기는 하지만 최대한 쉽게 풀어보려 합니다.
프로젝트에 활용하시면 좋을 듯!
우선 결론부터 보여드리면 이렇게 EKS의 클러스터가 아닌 Other Cluster로 나타난다는 점입니다.
매력적이죠! 그럼 시작하겠습니다.
1. 역할 생성
2. 정책 연결
3. Cluster 등록
4. 확인
순서로 진행하겠습니다.
https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/eks-connector.html
해당 문서를 참고하세요! 그래도 힘들껄! ㅎ
1. 역할 생성
https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/connector_IAM_role.html
1.1. AmazonEKSConnectorAgentRole 생성
1.1.1. IAM -> 역할 -> 역할만들기 클릭
1.1.2. 신뢰할 수 있는 엔터티 선택 -> 사용자 지정 신뢰정책 -> 코드 입력
https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/connector_IAM_role.html
eks-connector-agent-trust-policy.json
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ssm.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
1.1.3. 권한 추가
1.1.4. 이름 지정 및 검토 생성
1.1.4.1. 반드시 이름은
AmazonEKSConnectorAgentRole 로 생성
주의: 에제에서는 AmazonEKSConnectorAgentRole1로 생성 했음
1.1.4. 생성된 역할 확인 -> 클릭
2. 정책 설정
2.1. 인라인 정책 설정
2.1.1. 역할 -> AmazonEKSConnectorAgentRole -> 권한 추가 -> 인라인 정책 설정
2.2. 권한 지정
2.2.1 권한 지정 -> JSON -> 정책 편집기
https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/connector_IAM_role.html
eks-connector-agent-policy.json 파일 등록
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SsmControlChannel", "Effect": "Allow", "Action": [ "ssmmessages:CreateControlChannel" ], "Resource": "arn:aws:eks:*:*:cluster/*" }, { "Sid": "ssmDataplaneOperations", "Effect": "Allow", "Action": [ "ssmmessages:CreateDataChannel", "ssmmessages:OpenDataChannel", "ssmmessages:OpenControlChannel" ], "Resource": "*" } ] }
2.2.2. 검토 및 생성
2.2.2.1. 정책 이름
AmazonEKSConnectorAgentPolicy -> 정책 설정 클릭
2.2.3. 정책 확인
3. 클러스터 등록
3.1. EKS -> 클러스터 추가 -> 등록
3.2. 클러스터 등록
3.2.1. 이름: HOME_CLU
3.2.2. 공급자: Other
3.2.3. 연결 구성: AmazonEKSConnectorAgentRole -> 클러스터 등록 클릭
3.3. yaml 파일 다운로드 및 Onpremis 환경 Master에 복사
3.3.1. 다운로드한 yaml 파일 확인
3.3.2. scp를 이용하여 Onpremis 환경의 Master Node로 복사
scp HOME_CLU.yaml root@10.0.0.1[마스터노드IP]:/root[경로지정]
3.3.3. 업로드된 HOME_CLU.yaml 파일 확인
3.3.4. HOME_CLU.yaml 파일 적용
kubectl apply -f HOME_CLU.yaml
3.3.5. eks-connector-clusterrole.yaml 파일 다운로드
3.3.6. eks-connector-console-dashboard-full-access-group.yaml 파일 다운로드
curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/eks-connector/manifests/eks-connector-console-roles/eks-connector-clusterrole.yaml curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/eks-connector/manifests/eks-connector-console-roles/eks-connector-console-dashboard-full-access-group.yaml
3.3.7. yaml 파일 수정
3.3.3.7. %IAM_ARN% 내용을 실제 사용자의 arn으로 수정
arn:aws:iam::ID:계정명
3.3.8. yaml 파일 적용
kubectl apply -f eks-connector-clusterrole.yaml kubectl apply -f eks-connector-console-dashboard-full-access-group.yaml
4. 확인
4.1. 생성된 HOME_CLU 클러스터 확인
4.2. 등록한 HOME_CLU의 리소스 확인
4.3. 기존 EKS의 sdkim_clu 확인
728x90'공부합시다! > AWS' 카테고리의 다른 글
Untangle을 활용한 AWS Site to Site VPN 연결 (0) 2023.08.05 05_EKS-LoadBalancer 연결 (0) 2023.07.10 userdata : wordpress + rds (0) 2022.06.30 04_AWS CLI와 PowerShell을 이용한 EKS 관리 (0) 2022.06.27 03_EKS(Elastic Kubernetes Service) 구성 (0) 2022.06.26