Connect를 사용하면 Google Cloud 콘솔을 통해 사용자 클러스터를 관리할 수 있습니다. 생성한 각각의 사용자 클러스터는 자동으로 Connect 에이전트를 실행하고 Connect에 등록됩니다. 자세한 내용은 연결 개요를 참조하세요.
시작하기 전에
GKE on AWS를 사용하기 전에 다음 작업을 수행했는지 확인합니다.
- 기본 요건을 완료합니다.
- 관리 서비스를 설치합니다.
- 사용자 클러스터를 만듭니다.
Connect를 사용하여 클러스터에 로그인
Google Cloud Console을 사용하여 사용자 클러스터에서 워크로드를 확인, 모니터링, 디버깅, 관리할 수 있습니다.
사용자 클러스터에 로그인하려면 다음 단계를 따르세요.
anthos-aws
디렉터리에서anthos-gke
를 사용하여 컨텍스트를 사용자 클러스터로 전환합니다.cd anthos-aws env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME
CLUSTER_NAME을 사용자 클러스터 이름으로 바꿉니다.명령줄에서
kubectl
을 사용하여kube-system
네임 스페이스에 Kubernetes 서비스 계정과 토큰을 설정합니다.이 주제에서는 서비스 계정 이름이
admin-user
라고 가정합니다.env HTTPS_PROXY=http://localhost:8118 \ kubectl create serviceaccount -n kube-system admin-user
kubectl
을 사용하여 서비스 계정 토큰 보안 비밀을 만듭니다.env HTTPS_PROXY=http://localhost:8118 \ kubectl apply -n kube-system -f - << EOF apiVersion: v1 kind: Secret metadata: name: admin-user-token annotations: kubernetes.io/service-account.name: admin-user type: kubernetes.io/service-account-token EOF
cluster-admin
역할과 Kubernetes 서비스 계정 사이에 ClusterRoleBinding을 만듭니다.env HTTPS_PROXY=http://localhost:8118 \ kubectl create clusterrolebinding admin-user-binding \ --clusterrole cluster-admin --serviceaccount kube-system:admin-user
kubectl
을 사용하여 서비스 계정의 보안 비밀을 가져옵니다.env HTTPS_PROXY=http://localhost:8118 \ kubectl get secret -n kube-system admin-user-token -o jsonpath='{$.data.token}' \ | base64 -d | sed $'s/$/\\\n/g'
보안 비밀을 클립 보드에 복사합니다.
Google Cloud 콘솔에서 Google Kubernetes Engine 클러스터 개요 페이지로 이동합니다.
클러스터를 선택합니다. Kubernetes 클러스터 세부정보 화면이 나타납니다.
로그인 버튼을 클릭합니다.
토큰을 선택하고 복사한 Kubernetes 토큰을 붙여넣습니다. 로그인을 클릭합니다.
클러스터 등록
여러 클러스터가 동일한 이름으로 Connect에 등록하지 못하게 하려면 Google Cloud CLI를 통해 클러스터를 등록합니다. 클러스터를 등록할 때 클러스터와 동일한 네트워크에서 Google Cloud CLI를 실행해야 합니다. 클러스터를 등록하려면 다음 명령어를 실행하세요.
gcloud container fleet memberships register MEMBERSHIP_NAME \ --context=KUBECONFIG_CONTEXT \ --kubeconfig=KUBECONFIG_PATH \ --service-account-key-file=SERVICE_ACCOUNT_KEY_PATH
다음을 바꿉니다.
- MEMBERSHIP_NAME: Fleet에 등록되는 클러스터를 고유하게 나타내는 데 사용되는 멤버십 이름입니다.
- SERVICE_ACCOUNT_KEY_PATH: 기본 요건의 일부로 다운로드한 서비스 계정의 비공개 키 JSON 파일의 로컬 파일 경로입니다.
이 서비스 계정 키는
gke-connect
네임스페이스에creds-gcp
라는 보안 비밀로 저장됩니다. - KUBECONFIG_CONTEXT: kubeconfig 파일에 나타나는 것과 같이 등록된 클러스터의 클러스터 컨텍스트입니다.
kubectl config current-context
를 실행하면 명령줄에서 이 값을 가져올 수 있습니다. - KUBECONFIG_PATH: 등록 중인 클러스터의 항목을 포함하는 kubeconfig가 저장된 로컬 파일 경로입니다.
환경 변수가 설정된 경우 기본값은
$KUBECONFIG
입니다. 그렇지 않으면 이 기본값은$HOME/.kube/config
입니다.
다음 단계
Connect를 사용하여 클러스터에 로그인하기에 대한 전체 문서 읽어보기
Connect를 사용하여 멀티 클러스터 관리 알아보기