Cloud Console에서 클러스터에 로그인

이 페이지에서는 Google Cloud Console에서 Google Cloud 외부의 등록된 Kubernetes 클러스터에 로그인하는 방법을 설명합니다.

등록된 클러스터에 로그인한 후에는 클러스터를 조사하고 Google Cloud의 Google Kubernetes Engine(GKE) 클러스터와 같이 Cloud Console에 있는 모든 노드에 대한 세부정보를 얻을 수 있습니다. 프로젝트 및 조직의 요구사항에 맞게 여러 인증 방법 중 하나를 선택하여 클러스터에 로그인할 수 있습니다.

명령줄에서 등록된 클러스터에 연결하려면 Connect 게이트웨이로 등록된 클러스터에 연결을 참조하세요.

등록된 클러스터 정보

Kubernetes 클러스터를 프로젝트 Environ에 등록하면 Cloud Console에서 한 번에 보기를 포함하여 통합 방식으로 여러 클러스터 및 해당 워크로드를 보고 관리할 수 있습니다. Google Cloud 외부의 클러스터를 보려면 Anthos를 사용 설정해야 합니다.

Google Cloud 외부의 관리형 Anthos 클러스터(온프레미스 또는 AWS기반)는 생성 시 프로젝트 Environ에 자동으로 등록됩니다. 연결된 클러스터는 수동으로 등록해야 합니다. 또한 실수로 등록을 취소했거나 다른 프로젝트에 등록하고 싶은 경우 클러스터를 수동으로 등록할 수 있습니다. 클러스터를 등록해야 할 경우 클러스터 등록의 안내를 따르세요.

클러스터를 등록하면 Cloud Console의 GKE 및 Anthos 클러스터 페이지에 표시됩니다. 하지만 Google Cloud 외부에 있는 클러스터의 노드 및 워크로드와 같은 추가 세부정보를 보려면 이 가이드의 나머지에 설명된 대로 클러스터에 로그인하고 인증을 수행해야 합니다. 아래 Google Kubernetes Engine 클러스터 목록에서 로그인이 필요한 클러스터는 주황색 경고 삼각형이 표시되고 로그인하라는 메시지가 표시됩니다.

Google Kubernetes Engine 클러스터 목록 스크린샷

Environ에 대한 자세한 내용은 Environs 소개를 참조하세요. 클러스터 등록 및 Connect 에이전트의 작동 방식을 자세히 알아보려면 Conect 문서를 참조하세요.

Google Cloud ID를 사용한 로그인

이 권장 옵션을 사용하면 프로젝트 및 GKE 클러스터에 사용하는 것과 동일한 Google Cloud ID를 사용하여 등록된 클러스터에 로그인하고 Connect 서비스를 사용하여 요청을 클러스터의 API 서버에 전달할 수 있습니다. Connect 서비스 작동 방식에 대한 자세한 내용은 Connect 게이트웨이로 등록된 클러스터에 연결을 참조하세요.

시작하기 전에 등록된 클러스터 보기 및 인증을 위해 필요한 모든 역할 및 역할 기반 액세스 제어(RBAC) 권한 부여를 포함하여 Google Cloud ID를 사용하여 로그인할 수 있도록 플랫폼 관리자가 필요한 설정을 수행했는지 확인합니다.

Console

Google Cloud ID를 사용하여 클러스터에 로그인하려면 다음 단계를 수행합니다.

  1. Cloud Console에서 GKE 클러스터 페이지로 이동합니다.

    GKE 클러스터로 이동

  2. 클러스터 목록에서 등록된 클러스터 옆에 있는 작업을 클릭한 후 로그인을 클릭합니다.

  3. Google ID를 사용하여 로그인을 선택합니다.

  4. 로그인을 클릭합니다.

Bearer 토큰을 사용하여 로그인

Bearer 토큰을 사용하여 등록된 클러스터에 로그인할 수 있습니다. Kubernetes 인증에 지정된 다양한 종류의 Bearer 토큰이 지원됩니다. 가장 쉬운 방법은 클러스터에 Kubernetes 서비스 계정(KSA)을 만들고 해당 Bearer 토큰을 사용하여 로그인하는 것입니다.

클러스터에 로그인하는 모든 계정은 최소한 클러스터에 다음 Kubernetes RBAC역할이 있어야 합니다.

시작하기 전에

사용자 또는 플랫폼 관리자는 등록된 클러스터당 한 번씩 다음 단계를 완료해야 합니다.

cloud-console-reader RBAC 역할 만들기 및 적용

Cloud Console에서 클러스터의 리소스를 보려면 사용자에게 관련 권한이 있어야 합니다. 이 권한 집합은 클러스터에서 ClusterRole RBAC 리소스인 cloud-console-reader를 만들어 정의합니다.

cloud-console-reader는 사용자에게 클러스터의 노드, 영구 볼륨, 스토리지 클래스에 대한 get, list, watch 권한을 부여하여 관련 리소스에 대한 세부정보를 볼 수 있게 합니다. 그런 다음 아래 섹션에 설명된 대로 이 ClusterRole을 사용자의 서비스 계정에 바인딩할 수 있습니다.

kubectl

cloud-console-reader ClusterRole을 만들고 적용하려면 다음 명령어를 실행합니다.

  cat <<EOF > cloud-console-reader.yaml
  kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: cloud-console-reader
rules:
- apiGroups: [""]
  resources: ["nodes", "persistentvolumes"]
  verbs: ["get", "list", "watch"]
- apiGroups: ["storage.k8s.io"]
  resources: ["storageclasses"]
  verbs: ["get", "list", "watch"]
  EOF
  kubectl apply -f cloud-console-reader.yaml

서비스 계정 설정

각 사용자가 클러스터에 로그인할 수 있도록 사용자 또는 클러스터 관리자가 서비스 계정을 만드는 것이 좋습니다. Bearer 토큰을 사용하는 것은 비밀번호를 사용하는 것과 비슷합니다. 따라서 각 사용자가 자신의 고유 계정을 가져야 합니다. KSA의 Bearer 토큰을 사용하여 로그인하면 모든 작업이 KSA로 실행되고 KSA에서 관리되는 RBAC 역할에 따라 제한됩니다.

KSA는 클러스터에 최소한 다음 RBAC 역할이 있어야 합니다.

KSA 만들기 및 승인

kubectl

KSA를 만들고 여기에 권한을 바인딩하려면 다음 단계를 따르세요.

  1. KSA 및 ClusterRoleBinding 리소스를 만들어 viewcloud-console-reader Kubernetes RBAC ClusterRoles를 KSA에 바인딩합니다.

    KSA_NAME=KSA_NAME
    kubectl create serviceaccount ${KSA_NAME}
    kubectl create clusterrolebinding VIEW_BINDING_NAME \
    --clusterrole view --serviceaccount default:${KSA_NAME}
    kubectl create clusterrolebinding CLOUD_CONSOLE_READER_BINDING_NAME \
    --clusterrole cloud-console-reader --serviceaccount default:${KSA_NAME}
    

    다음을 바꿉니다.

    • KSA_NAME: KSA에 대해 선택하는 이름입니다.
    • VIEW_BINDING_NAME: view ClusterRoleBinding 리소스에 대해 선택하는 이름입니다. 원하는 대로 이름을 지정할 수 있지만 KSA에 따라 이름을 지정하는 것이 가장 쉽습니다.
    • CLOUD_CONSOLE_READER_BINDING_NAME: cloud-console-reader ClusterRoleBinding 리소스에 대해 선택하는 이름입니다. 이 이름도 원하는 대로 지정할 수 있습니다.
  2. 서비스 계정에 보유해야 하는 액세스 권한에 따라 KSA에 추가 역할을 바인딩합니다. 자세한 내용은 Kubernetes 기본 역할을 참조하세요.

    예를 들어 Cloud Marketplace에서 Kubernetes 애플리케이션을 배포하려면 cluster-admin 역할을 KSA에 바인딩합니다.

    kubectl create clusterrolebinding BINDING_NAME \
    --clusterrole cluster-admin --serviceaccount default:KSA_NAME
    

    BINDING_NAME을 서비스 계정의 클러스터 역할 결합 이름으로 바꿉니다.

다른 계정 승인

kubectl

클러스터에 대한 액세스 권한을 얻는 다른 모든 사용자 또는 서비스 계정은 ClusterRoleBinding 리소스를 만들어 계정에 viewcloud-console-reader 역할을 바인딩합니다.

  1. viewcloud-console-reader ClusterRoles를 바인딩합니다.

    ACCOUNT_NAME=ACCOUNT_NAME
    kubectl create clusterrolebinding VIEW_BINDING_NAME \
    --clusterrole view --serviceaccount default:${ACCOUNT_NAME}
    kubectl create clusterrolebinding CLOUD_CONSOLE_READER_BINDING_NAME \
    --clusterrole cloud-console-reader --serviceaccount default:${ACCOUNT_NAME}
    

    다음을 바꿉니다.

    • ACCOUNT_NAME: Kubernetes 서비스 계정입니다.
    • VIEW_BINDING_NAME: view ClusterRoleBinding 리소스에 대해 선택하는 이름입니다. 원하는 대로 이름을 지정할 수 있지만 사용자 또는 서비스 계정에 따라 이름을 지정하는 것이 가장 쉽습니다.
    • CLOUD_CONSOLE_READER_BINDING_NAME: view ClusterRoleBinding 리소스에 대해 선택하는 이름입니다. 이 이름도 원하는 대로 지정할 수 있습니다.
  2. 계정에 필요한 액세스 권한에 따라 추가 역할을 바인딩합니다. 자세한 내용은 Kubernetes 기본 역할을 참조하세요.

    예를 들어 cluster-admin 역할을 바인딩하려면 다음 명령어를 실행합니다.

    kubectl create clusterrolebinding BINDING_NAME \
    --clusterrole cluster-admin --serviceaccount default:ACCOUNT_NAME
    

    BINDING_NAME을 서비스 계정의 클러스터 역할 결합 이름으로 바꿉니다.

KSA의 Bearer 토큰 가져오기

kubectl

KSA의 Bearer 토큰을 획득하려면 다음 명령어를 실행합니다.

SECRET_NAME=$(kubectl get serviceaccount KSA_NAME -o jsonpath='{$.secrets[0].name}')
kubectl get secret ${SECRET_NAME} -o jsonpath='{$.data.token}' | base64 --decode

KSA_NAME을 KSA에 대해 선택하는 이름으로 바꿉니다.

이 명령어 출력에서 토큰을 복사하고 다음 섹션에서 사용할 수 있도록 저장합니다.

클러스터에 로그인

Console

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

  1. Cloud Console에서 GKE 클러스터 페이지로 이동합니다.

    GKE 클러스터로 이동

  2. 클러스터 목록에서 등록된 클러스터 옆에 있는 작업을 클릭한 후 로그인을 클릭합니다.

  3. 토큰을 선택한 후 토큰 필드에 KSA의 Bearer 토큰을 입력합니다.

  4. 로그인을 클릭합니다.

기본 인증을 사용하여 로그인

Console

기본 인증을 사용하여 클러스터에 로그인하려면 다음 단계를 수행합니다.

  1. Cloud Console에서 GKE 클러스터 페이지로 이동합니다.

    GKE 클러스터로 이동

  2. 클러스터 목록에서 등록된 클러스터 옆에 있는 작업을 클릭한 후 로그인을 클릭합니다.

  3. 기본 인증을 선택한 후 사용자 이름비밀번호 필드를 입력합니다.

  4. 로그인을 클릭합니다.

OpenID Connect(OIDC)를 사용하여 로그인

클러스터가 OIDC ID 공급업체를 사용하도록 구성된 경우 이를 사용하여 Cloud Console에서 클러스터에 인증할 수 있습니다. 다음 가이드에서 Anthos 클러스터에 대해 OIDC를 설정하는 방법을 참조하세요.

Console

OIDC를 사용하여 구성된 클러스터에 로그인하려면 다음 단계를 따르세요.

  1. Cloud Console에서 GKE 클러스터 페이지로 이동합니다.

    GKE 클러스터로 이동

  2. 클러스터 목록에서 등록된 클러스터 옆에 있는 작업을 클릭한 후 로그인을 클릭합니다.

  3. 클러스터에 구성된 ID 공급업체로 인증을 선택합니다. ID 공급업체로 리디렉션되고 여기서 계정에 액세스하는 Cloud Console에 로그인하거나 동의해야 할 수 있습니다.

  4. 로그인을 클릭합니다.

다음 단계