이 페이지에서는 Google Distributed Cloud 클러스터 노드에 SSH로 연결하는 방법을 설명합니다.
시작하기 전에
이 단계를 완료하려면 사용자 및 관리자 클러스터 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 주소입니다.