Google Cloud 콘솔을 사용하여 클러스터에 연결

Connect를 사용하면 Google Cloud 콘솔을 통해 사용자 클러스터를 관리할 수 있습니다. 생성한 각각의 사용자 클러스터는 자동으로 Connect 에이전트를 실행하고 Connect에 등록됩니다. 자세한 내용은 연결 개요를 참조하세요.

시작하기 전에

GKE on AWS를 사용하기 전에 다음 작업을 수행했는지 확인합니다.

Connect를 사용하여 클러스터에 로그인

Google Cloud Console을 사용하여 사용자 클러스터에서 워크로드를 확인, 모니터링, 디버깅, 관리할 수 있습니다.

사용자 클러스터에 로그인하려면 다음 단계를 따르세요.

  1. anthos-aws 디렉터리에서 anthos-gke를 사용하여 컨텍스트를 사용자 클러스터로 전환합니다.

    cd anthos-aws
    env HTTPS_PROXY=http://localhost:8118 \
      anthos-gke aws clusters get-credentials CLUSTER_NAME
    CLUSTER_NAME을 사용자 클러스터 이름으로 바꿉니다.

  2. 명령줄에서 kubectl을 사용하여 kube-system 네임 스페이스에 Kubernetes 서비스 계정과 토큰을 설정합니다.

    이 주제에서는 서비스 계정 이름이 admin-user라고 가정합니다.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl create serviceaccount -n kube-system admin-user
    
  3. 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
    
  4. cluster-admin 역할과 Kubernetes 서비스 계정 사이에 ClusterRoleBinding을 만듭니다.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl create clusterrolebinding admin-user-binding \
      --clusterrole cluster-admin --serviceaccount kube-system:admin-user
    
  5. 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'
    
  6. 보안 비밀을 클립 보드에 복사합니다.

  7. Google Cloud 콘솔에서 Google Kubernetes Engine 클러스터 개요 페이지로 이동합니다.

    GKE 클러스터로 이동

  8. 클러스터를 선택합니다. Kubernetes 클러스터 세부정보 화면이 나타납니다.

  9. 로그인 버튼을 클릭합니다.

  10. 토큰을 선택하고 복사한 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를 사용하여 멀티 클러스터 관리 알아보기