GDC 콘솔 또는 gdcloud CLI로 로그인할 수 있는지 확인합니다.
로그인
Distributed Cloud에 로그인하려면 다음 단계를 따르세요.
콘솔
새 브라우저 탭에서 다음 URL을 열어 Distributed Cloud UI에 액세스합니다.
https://GDC_URL
GDC_URL을 도메인 이름 시스템 (DNS) 서비스를 구성한 인프라 운영자(IO)의 도메인 이름으로 바꿉니다.
URL을 처음 열면 페이지가 ID 제공업체 로그인 페이지로 리디렉션됩니다. 로그인하려면 이전에 만든 사용자 이름과 비밀번호를 사용하세요.
CLI
gdcloud CLI에 로그인할 때 gdcloud auth login 명령어를 사용하여 gdcloud CLI에 대해 주 구성원을 인증합니다. gcloud CLI는 Google Cloud 리소스 및 서비스 관리를 위해 인증 및 승인에 이 주 구성원을 사용합니다.
로그인하기 전에 다음 사항을 확인하세요.
- gdcloud CLI 바이너리를 다운로드하고 시스템에 설치합니다. 자세한 내용은 gdcloud CLI 다운로드를 참고하세요.
- gdcloud CLI 기본 구성을 설정하고 초기화합니다. 로그인 구성 엔드포인트를 가져오는 데 사용되는 올바른 조직 URL을 설정해야 합니다. 자세한 내용은 gdcloud CLI 설치를 참고하세요.
- 인증 플러그인
gdcloud-k8s-auth-plugin을 설치합니다. 자세한 내용은 gdcloud CLI 인증을 참고하세요.
클러스터에 로그인하려면 다음 단계를 완료하세요.
클러스터 kubeconfig 파일을 저장할 경로를 내보냅니다.
export KUBECONFIG=CLUSTER_KUBECONFIGCLUSTER_KUBECONFIG를 kubeconfig 파일을 저장할 디렉터리의 경로로 바꿉니다.
gdcloud CLI 인스턴스를 인증하여 로그인합니다. 인증하는 방법에는 두 가지가 있습니다.
표준 브라우저 로그인: 브라우저에서 로그인할 때 이 인증 흐름을 사용합니다.
gdcloud auth login보조 기기 로그인: 기본 기기에서 브라우저를 사용할 수 없는 경우 이 인증 흐름을 사용합니다. 이 흐름은 브라우저 액세스 권한이 없는 기본 기기에서 로그인을 시작하고 브라우저 액세스 권한이 있는 보조 기기에서 로그인을 계속합니다.
브라우저가 없는 기본 기기에서 로그인을 시작합니다.
gdcloud auth login --no-browserKUBECONFIG환경 변수는 조직의 모든 API 서버 및 클러스터의 kubeconfig 파일로 업데이트됩니다.KUBECONFIG변수가 설정되지 않은 경우 kubectl CLI는$HOME/.kube/config에 저장된 기본 kubeconfig 파일을 사용합니다.kubeconfig 파일 편집을 건너뛰려면 명령어에
--skip-kubeconfig-update플래그를 추가합니다. 예를 들면 다음과 같습니다.gdcloud auth login --no-browser --skip-kubeconfig-update출력된 gdcloud CLI 명령어 출력을 복사하여 브라우저 액세스 권한이 있는 머신에서 실행합니다.
웹페이지의 안내에 따라 로그인 절차를 완료합니다.
로그인이 완료되면 브라우저에 인증이 완료되었습니다. 이 창을 닫아 주세요.
터미널에 표시된 안내를 따릅니다. 로그인에 성공하면 터미널에 로그인되었습니다라는 메시지가 표시됩니다.
사용자 ID kubeconfig 파일을 변수로 내보냅니다.
export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml사용자 ID로 kubeconfig 파일을 생성합니다.
gdcloud clusters get-credentials CLUSTER_NAME --zone ZONEZONE을 영역 이름으로 바꿉니다.사용자 ID로 kubeconfig 파일이 생성됩니다. 다음 YAML 파일은 예시를 보여줍니다.
apiVersion: v1 clusters: - cluster: certificate-authority-data: <REDACTED> server: https://10.200.0.32:443 name: cluster-name contexts: - context: cluster: cluster-name user: cluster-name-anthos-default-user name: cluster-name-cluster-name-anthos-default-user current-context: cluster-name-cluster-name-anthos-default-user kind: Config preferences: {} users: - name: cluster-name-anthos-default-user user: exec: apiVersion: client.authentication.k8s.io/v1 args: - --audience=root-admin command: gdcloud-k8s-auth-plugin env: null installHint: Run 'gdcloud components install gdcloud-k8s-auth-plugin' to use plugin interactiveMode: Never provideClusterInfo: false클러스터에 액세스할 수 있는지 확인하려면 생성된 kubeconfig 파일로 사용자 ID를 사용하여 로그인합니다.
kubectl --kubeconfig /tmp/admin-kubeconfig-with-user-identity.yaml version
로그아웃
로그아웃을 확인하려면 다음 단계를 따르세요.
콘솔
웹 UI에서 로그아웃하려면 메뉴 바에서 로그아웃을 클릭합니다.

CLI
CLI에서 로그아웃합니다.
gdcloud auth revoke
kubeconfig 파일 수동 생성
KRM API를 직접 호출하여 kubectl CLI로 리소스를 관리하는 경우 관리하는 리소스 유형에 따라 리소스를 호스팅하는 클러스터의 kubeconfig 파일을 생성해야 합니다. 사용 가능한 클러스터와 서버는 다음과 같습니다.
| 클러스터 | 이름 |
|---|---|
| 루트 관리자 클러스터 | root-admin |
| 루트 전역 API 서버 | global-api |
| 조직 관리자 클러스터 (v1 조직) | ORG_NAME-admin |
| 시스템 클러스터 (v1 조직) | ORG_NAME-system |
| 조직 인프라 클러스터 (v2 조직) | ORG_NAME-infra |
| Management API 서버 (v2 조직) | ORG_NAME-admin |
| 조직 관리자 전역 API 서버 | global-api |
| 사용자 클러스터 | CLUSTER_NAME |
영역 리소스를 배포할 영역 또는 전역 리소스의 전역 API 서버를 결정하려면 GDC 유니버스 구성도 알고 있어야 합니다. 자세한 내용은 전역 및 영역별 API 서버를 참고하세요.
조작하려는 리소스가 전역 리소스인지 영역 리소스인지 확인합니다. 잘 모르겠다면 리소스 전용 문서를 참고하세요.
리소스 유형에 따라 해당 설정을 완료합니다.
영역별 리소스
다음 단계에 따라 영역 클러스터의 kubeconfig 파일을 생성합니다.
사용 가능한 모든 영역을 보려면 다음을 실행하세요.
gdcloud zones list커스텀 리소스를 호스팅하는 영역의 이름을 기록해 둡니다.
ZONE환경 변수를 영역 리소스를 호스팅하는 영역으로 설정합니다.export ZONE="ZONE"ZONE을 영역 이름으로 바꿉니다.CLUSTER환경 변수를 설정합니다.export CLUSTER="CLUSTER_NAME"CLUSTER_NAME을 리소스를 호스팅하는 클러스터의 이름으로 바꿉니다.타겟팅된 영역의 클러스터 kubeconfig 파일을 생성하고 사용자 인증 정보를 검증합니다.
export KUBECONFIG=${HOME}/${CLUSTER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${CLUSTER:?} --zone ${ZONE:?} [[ $(kubectl config current-context) == *${CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"rm ${KUBECONFIG:?}명령어는 홈 디렉터리의 기존 kubeconfig 파일을 삭제합니다. 기존 kubeconfig 파일을 명시적으로 삭제하지 않아도 새로 생성된 kubeconfig 파일로 kubeconfig 파일이 덮어쓰여집니다. 기존 파일을 덮어쓰거나 삭제하지 않으려면 다른 안전한 위치에 백업하세요.
전역 리소스
다음 단계에 따라 전역 API 서버의 kubeconfig 파일을 생성합니다.
GLOBAL_API_SERVER환경 변수를 설정합니다.export GLOBAL_API_SERVER="global-api"전역 API 서버 kubeconfig 파일을 생성하고 사용자 인증 정보를 검증합니다.
export KUBECONFIG=${HOME}/${GLOBAL_API_SERVER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${GLOBAL_API_SERVER:?} [[ $(kubectl config current-context) == *${GLOBAL_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"rm ${KUBECONFIG:?}명령어는 홈 디렉터리의 기존 kubeconfig 파일을 삭제합니다. 기존 kubeconfig 파일을 명시적으로 삭제하지 않아도 새로 생성된 kubeconfig 파일로 kubeconfig 파일이 덮어쓰여집니다. 기존 파일을 덮어쓰거나 삭제하지 않으려면 다른 안전한 위치에 백업하세요.
세션 비활성 로그아웃
세션에서 15분 이상 활동이 없으면 GDC 콘솔과 gdcloud CLI에서 로그아웃됩니다. GDC는 세션 비활성 상태를 열려 있는 세션 중에 커서나 키보드 움직임과 같은 활성 참여가 없는 기간으로 간주합니다. 활성 세션은 사용자 활동이 있는 경우 최대 12시간 동안 지속됩니다.
콘솔
세션 비활성 상태의 경우 GDC 콘솔에서 로그아웃됩니다. GDC 콘솔에서 비활성으로 인해 로그아웃되기 2분 전에 로그아웃을 경고하는 대화상자가 표시됩니다.

활동이 없어 로그아웃된 후 다음 화면이 표시됩니다.

GDC 콘솔에 다시 로그인하려면 ID 공급업체를 선택하고 로그인 사용자 인증 정보를 추가합니다. 모니터링 대시보드와 같은 서비스를 사용하고 있는데 비활성으로 인해 GDC 콘솔에서 로그아웃된 경우 다시 로그인하여 액세스 권한을 얻으세요.
CLI
세션이 비활성 상태이면 gdcloud CLI에서 로그아웃됩니다. gdcloud CLI에서 로그아웃한 후 명령어를 실행하려고 하면 다음과 같은 승인 오류가 표시됩니다.
Error: error when creating kube client: unable to create k8sclient: Unauthorized
gdcloud CLI에 다시 로그인하려면 로그인의 CLI 단계를 따르세요.
kubectl
gdcloud CLI는 세션 비활성 상태가 되면 kubeconfig 파일을 만료합니다. 비활성 상태 후에 kubectl 명령어를 실행하려고 하면 승인 오류가 표시됩니다.
error: You must be logged in to the server (Unauthorized)
다시 로그인하고 kubeconfig 파일을 사용하려면 로그인의 CLI 단계를 따르세요. 세션 제한 시간이 만료될 때마다 kubeconfig 파일을 재생성해야 합니다.