버전 1.6. 이 버전은 완전히 지원되며 Anthos clusters on VMware에 영향을 미치는 보안 취약점, 노출, 문제에 대한 최신 패치와 업데이트를 제공합니다. 자세한 내용은 출시 노트를 참조하세요. 이 버전은 최신 버전입니다.

Anthos clusters on VMware 간략한 도움말

이 주제에서는 Anthos clusters on VMware(GKE On-Prem)를 사용하는 동안 호출되는 명령어를 간략하게 설명합니다. 편의를 위해 제공되며 Anthos clusters on VMware 문서를 보완합니다.

대괄호 안의 플래그는 선택사항입니다. Placeholder variables는 변경할 수 있습니다.

kubectl 명령어

kubectl 간략한 도움말도 참조하세요.

기본 kubeconfig 파일 설정

export KUBECONFIG=[KUBECONFIG_PATH]

기본 kubeconfig의 클러스터 나열

kubectl get clusters

--kubeconfig [KUBECONFIG_PATH]에 전달하여 기본이 아닌 kubeconfig의 클러스터를 봅니다.

기본 kubeconfig의 클러스터에 노드 나열

kubectl get nodes

--kubeconfig [KUBECONFIG_PATH]에 전달하여 기본이 아닌 kubeconfig의 클러스터를 봅니다.

모든 네임스페이스의 모든 컨테이너 나열

kubectl get pods --all-namespaces -o jsonpath="{..image}" |\
tr -s '[[:space:]]' '\n' |\
sort |\
uniq -c

gkectl 명령어

gkectl 참조도 확인하세요.

gkectl을 사용하여 클러스터 문제 진단

gkectl diagnose 명령어를 사용하여 클러스터 문제를 식별하고 클러스터 정보를 Google과 공유하세요. 클러스터 문제 진단을 참조하세요.

Anthos clusters on VMware 구성 파일 생성

gkectl create-config [--config [PATH]]

구성 파일 유효성 검사

gkectl check-config --config [PATH]

Anthos clusters on VMware 이미지를 Docker 레지스트리로 푸시 및 노드 OS 이미지 초기화

gkectl prepare --config [CONFIG_FILE] [--validate-attestations]

클러스터 만들기

gkectl create cluster --config [CONFIG_FILE]

Google Cloud 서비스 계정

서비스 계정 만들기

gcloud iam service-accounts create [SERVICE_ACCOUNT_NAME] --project [PROJECT_ID]

서비스 계정에 IAM 역할 부여

gcloud projects add-iam-policy-binding \
    [PROJECT_ID] \
    --member="serviceAccount:[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com" \
    --role="[ROLE_NAME]"

서비스 계정의 비공개 키 만들기

gcloud iam service-accounts keys create [KEY_FILE_NAME] \
--iam-account [SERVICE_ACCOUNT_NAME]@[PROJECT-ID].iam.gserviceaccount.com \
--project [PROJECT_ID]

서비스 계정 활성화 및 해당 계정으로 gcloudgsutil 명령 실행

gcloud auth activate-service-account --key-file=[SERVICE_ACCOUNT_KEY_FILE]

관리 워크스테이션

관리 워크스테이션에 SSH를 통해 연결

Terraform 구성 파일이 있는 디렉터리에서 다음을 실행합니다.

ssh -i ~/.ssh/vsphere_workstation ubuntu@$(terraform output ip_address)

또는 주소를 사용하려면 다음을 실행하세요.

ssh -i ~/.ssh/vsphere_workstation ubuntu@[IP_ADDRESS]

파일을 관리 워크스테이션에 복사

scp -i ~./ssh/vsphere_workstation [SOURCE_PATH] ubuntu@$(terraform output ip_address)

기본 로깅 동작

gkectlgkeadm의 경우 기본 로깅 설정만 사용해도 됩니다.

  • 기본적으로 로그 항목은 다음과 같이 저장됩니다.

    • gkectl의 기본 로그 파일은 /home/ubuntu/.config/gke-on-prem/logs/gkectl-$(date).log이며 파일은 gkectl을 실행하는 로컬 디렉터리의 logs/gkectl-$(date).log 파일과 심볼릭 링크됩니다.
    • gkeadm의 경우 기본 로그 파일은 gkeadm을 실행하는 로컬 디렉터리의 logs/gkeadm-$(date).log입니다.
  • 모든 로그 항목은 터미널에서 출력되지 않더라도 로그 파일에 저장됩니다(--alsologtostderrfalse인 경우).
  • -v5 세부정보 수준(기본값)에는 지원팀에 필요한 모든 로그 항목이 포함됩니다.
  • 로그 파일에는 실행된 명령어와 실패 메시지도 포함되어 있습니다.

도움이 필요한 경우 로그 파일을 지원팀에 보내는 것이 좋습니다.

로그 파일에 기본값이 아닌 위치 지정

gkectl 로그 파일에 기본값이 아닌 위치를 지정하려면 --log_file 플래그를 사용합니다. 지정한 로그 파일은 로컬 디렉터리와 심볼릭 링크되지 않습니다.

gkeadm 로그 파일에 기본값이 아닌 위치를 지정하려면 --log_file 플래그를 사용합니다.

관리자 클러스터에서 Cluster API 로그 찾기

관리자 제어 영역이 시작된 후에 VM을 시작하지 못하는 경우 다음 안내에 따라 관리자 클러스터에서 Cluster API 컨트롤러의 로그를 검사하여 디버깅할 수 있습니다.

  1. kube-system 네임스페이스에서 Cluster API 컨트롤러 pod의 이름을 찾습니다. 여기서 [ADMIN_CLUSTER_KUBECONFIG]는 관리자 클러스터의 kubeconfig 파일 경로입니다.

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system get pods | grep clusterapi-controllers
  2. pod의 로그를 엽니다. 여기서 [POD_NAME]은 pod 이름입니다. 원하는 경우 grep 또는 유사한 도구를 사용하여 오류를 검색할 수 있습니다.

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system logs [POD_NAME] vsphere-controller-manager

클러스터

관리자 클러스터 노드의 IP 주소 가져오기

kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get nodes --output wide

사용자 클러스터 노드의 IP 주소 가져오기

kubectl --kubeconfig [USER_CLUSTER_KUBECONFIG] get nodes --output wide

클러스터 노드에 SSH를 통해 연결

SSH를 사용하여 클러스터 노드에 연결을 참조하세요.

다음 단계