베어메탈용 Anthos 클러스터는 클러스터를 만들거나 업데이트할 때 클러스터 만들기 또는 업그레이드에 필요한 Kubernetes 컨트롤러를 일시적으로 호스트하기 위해 Docker의 Kubernetes(kind) 클러스터를 배포합니다. 이러한 임시 클러스터를 부트스트랩 클러스터라고 부릅니다.
설치하려고 할 때 kind 클러스터가 배포에 이미 있으면 베어메탈용 Anthos 클러스터가 기존 kind 클러스터를 삭제합니다. 설치 또는 업그레이드가 성공한 후에만 삭제가 수행됩니다.
성공한 후에도 기존 kind 클러스터를 보존하려면 bmctl
의 --keep-bootstrap-cluster
플래그를 사용하세요.
베어메탈용 Anthos 클러스터는 WORKSPACE_DIR/.kindkubeconfig
아래에 부트스트랩 클러스터에 대해 구성 파일을 만듭니다. 클러스터 만들기 및 업그레이드 중에만 부트스트랩 클러스터에 연결할 수 있습니다.
이미지를 가져오려면 부트스트랩 클러스터가 Docker 저장소에 액세스해야 합니다. 비공개 레지스트리를 사용하지 않는 한 레지스트리가 기본적으로 Container Registry로 지정됩니다. 클러스터를 만드는 동안 bmctl
이 다음 파일을 만듭니다.
bmctl-workspace/config.json
: 레지스트리 액세스를 위한 Google Cloud 서비스 계정을 포함합니다. 클러스터 구성 파일의gcrKeyPath
필드에서 사용자 인증 정보를 가져옵니다.bmctl-workspace/config.toml
: kind 클러스터의 containerd 구성을 포함합니다.
부트스트랩 클러스터 디버그
부트스트랩 클러스터를 디버깅하려면 다음 단계를 수행합니다.
- 클러스터 만들기 및 업그레이드 중에 부트스트랩 클러스터에 연결합니다.
- 부트스트랩 클러스터의 로그를 가져옵니다.
다음 폴더에서 bmctl
을 실행하기 위해 사용하는 머신에서 로그를 찾을 수 있습니다.
bmctl-workspace/CLUSTER_NAME/log/create-cluster-TIMESTAMP/bootstrap-cluster/
bmctl-workspace/CLUSTER_NAME/log/upgrade-cluster-TIMESTAMP/bootstrap-cluster/
CLUSTER_NAME
및 TIMESTAMP
를 클러스터 이름과 해당 시스템 시간으로 바꿉니다.
부트스트랩 클러스터에서 직접 로그를 가져오려면 클러스터 만들기 및 업그레이드 동안 다음 명령어를 실행할 수 있습니다.
docker exec -it bmctl-control-plane bash
이 명령어는 부트스트랩 클러스터에서 실행되는 bmctl 제어영역 컨테이너 내에서 터미널을 엽니다.
kubelet
및 containerd
로그를 검사하려면 다음 명령어를 사용하고 출력에서 오류 또는 경고를 찾습니다.
journalctl -u kubelet
journalctl -u containerd