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

이 페이지에서는 Google Distributed Cloud 클러스터 노드에 SSH를 통해 연결하는 방법을 설명합니다.

이 페이지는 기본 기술 인프라의 수명 주기를 관리하는 IT 관리자 및 운영자를 위해 작성되었습니다. Google Cloud 콘텐츠에서 참조하는 일반 역할과 예시 태스크에 대한 자세한 내용은 일반 GKE Enterprise 사용자 역할 및 태스크를 참조하세요.

시작하기 전에

이 단계를 완료하려면 사용자 및 관리자 클러스터 kubeconfig 파일의 위치가 필요합니다. 기본적으로 이러한 파일은 관리자 및 사용자 클러스터를 만든 디렉터리에 저장됩니다. kubeconfig에 관한 자세한 내용은 GKE 문서의 kubectl에 대한 클러스터 액세스 구성을 참조하세요.

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

사용자 클러스터 노드의 IP 주소를 가져옵니다.

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

여기서 [USER_CLUSTER_KUBECONFIG]는 사용자 클러스터의 kubeconfig 파일 경로입니다.

관리자 클러스터 노드의 IP 주소를 가져옵니다.

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

여기서 [ADMIN_CLUSTER_KUBECONFIG]는 관리자 클러스터의 kubeconfig 파일 경로입니다.

두 명령어 모두 INTERNAL-IP 필드를 참고합니다. 이 주소는 노드 IP 주소입니다. NAME 필드에는 고유한 ID가 추가된 사용자 클러스터의 이름이 포함됩니다. 예를 들어 이름이 my-user-cluster-12345678-abcdef인 노드는 my-user-cluster라는 사용자 클러스터의 일부입니다.

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

사용자 클러스터의 SSH 키를 가져옵니다.

kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get secrets -n [USER_CLUSTER_NAME] ssh-keys \
-o jsonpath='{.data.ssh\.key}' | base64 -d > \
~/.ssh/[USER_CLUSTER_NAME].key && chmod 600 ~/.ssh/[USER_CLUSTER_NAME].key

각 항목의 의미는 다음과 같습니다.

  • [ADMIN_CLUSTER_KUBECONFIG]는 관리자 클러스터의 kubeconfig 파일의 경로입니다.

  • [USER_CLUSTER_NAME]은 사용자 클러스터의 이름입니다. 이 이름은 사용자 클러스터를 만들 때 지정할 수 있습니다.

위 명령어는 다음 단계를 수행합니다.

  • 관리자 클러스터에서 [USER_CLUSTER_NAME] 네임스페이스에 있는 ssh-keys라는 이름의 보안 비밀 ssh.key 필드를 가져옵니다.

  • Base64는 키를 디코딩합니다.

  • 디코딩된 키를 ~/.ssh/[USER_CLUSTER_NAME].key 파일에 저장합니다.

  • 키 파일에 적절한 액세스 권한을 설정합니다.

키를 사용하여 사용자 클러스터 노드에 SSH로 연결합니다.

ssh -i ~/.ssh/[USER_CLUSTER_NAME].key anthos@[USER_NODE_IP]

여기서 [USER_NODE_IP]이전에 수집한 사용자 클러스터에 있는 노드의 내부 IP 주소입니다.

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

관리자 클러스터의 SSH 키를 가져옵니다.

kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] get secrets -n kube-system sshkeys \
-o jsonpath='{.data.vsphere_tmp}' | base64 -d > \
~/.ssh/admin-cluster.key && chmod 600 ~/.ssh/admin-cluster.key

여기서 [ADMIN_CLUSTER_KUBECONFIG]는 관리자 클러스터의 kubeconfig 파일 경로입니다.

위 명령어는 다음 단계를 수행합니다.

  • 관리자 클러스터에서 kube-system 네임스페이스에 있는 sshkeys라는 이름의 보안 비밀 vsphere_tmp 필드를 가져옵니다.

  • Base64는 키인 vsphere_tmp 필드를 디코딩합니다.

  • 디코딩된 키를 ~/.ssh/admin-cluster.key 파일에 저장합니다.

  • 키 파일에 적절한 액세스 권한을 설정합니다.

키를 사용하여 관리자 클러스터 노드에 SSH로 연결합니다.

ssh -i ~/.ssh/admin-cluster.key anthos@[ADMIN_NODE_IP]

여기서 [ADMIN_NODE_IP]이전에 수집한 관리자 클러스터에 있는 노드의 내부 IP 주소입니다.