추가 사용자 클러스터 만들기

이 페이지에서는 추가 사용자 클러스터를 만드는 방법을 설명합니다. 추가 사용자 클러스터를 만들려면 클러스터를 배포하는 데 사용되는 GKE On-Prem 구성 파일 사본을 만듭니다. 복사한 파일을 수정하여 새 사용자 클러스터에 대한 기대치를 충족한 다음 파일을 사용하여 클러스터를 만듭니다.

만들려는 각 추가 사용자 클러스터에 대해 GKE On-Prem 구성 파일을 복사하고 수정해야 합니다.

시작하기 전에

  • 관리자 클러스터가 실행 중인지 확인합니다. GKE On-Prem 설치 시 관리자 클러스터를 만들었습니다.
  • 설치 중에 gkectl에서 생성된 config.yaml 파일을 찾습니다. 이 파일은 관리자 클러스터 및 사용자 클러스터의 사양을 정의합니다. 이 파일을 복사하고 수정하여 추가 사용자 클러스터를 만듭니다.
  • 관리자 클러스터의 kubeconfig 파일을 찾습니다. config.yaml을 복사하고 수정할 때 이 파일을 참조합니다.

구성 파일 복사

gkectl create-config를 사용하여 생성하고 환경에 맞게 수정한 GKE On-Prem 구성 파일을 복사합니다. 다른 파일 이름을 사용하려면 사본 이름을 변경합니다.

cp [CONFIG_FILE] [NEW_USER_CLUSTER_CONFIG]

여기서 [NEW_USER_CLUSTER_CONFIG]는 구성 파일의 사본에 선택한 이름입니다. 이 안내에서는 이 파일을 create-user-cluster.yaml이라고 합니다.

create-user-cluster.yaml에서 다음 필드를 변경해야 합니다.

  • admincluster: 관리자 클러스터의 사양. 파일에서 admincluster 사양을 완전히 삭제합니다.
  • usercluster: 사용자 클러스터의 사양

다음 섹션에서는 create-user-cluster.yamladminclusterusercluster 필드를 수정한 다음 파일을 사용하여 추가 사용자 클러스터를 만듭니다.

복사한 파일에서 다음 필드를 변경해야 할 수 있습니다.

  • gkeplatformversion: 클러스터에서 실행할 Kubernetes 버전을 지정합니다. (이는 GKE On-Prem 플랫폼 버전이 아니며, 향후 출시 버전에서 이 필드의 이름은 변경됩니다.)

admincluster 사양 삭제

기존 관리자 클러스터에서 추가 사용자 클러스터를 만들려면 전체 admincluster 사양을 삭제해야 합니다.

이렇게 하려면 사양과 모든 하위 필드를 삭제하면 됩니다.

usercluster 사양이나 하위 필드를 삭제해서는 안 됩니다.

usercluster 사양 수정

다음 섹션에 설명된 대로 usercluster 필드를 변경합니다.

사용자 클러스터의 이름 변경

usercluster.clustername 필드의 사용자 클러스터 이름을 변경합니다. 새 사용자 클러스터의 이름은 기존 사용자 클러스터와 달라야 합니다.

사용자 클러스터 노드의 IP 주소 예약

DHCP를 사용하는 경우 노드를 만들 수 있는 IP가 충분한지 확인합니다.

고정 IP의 경우 사용자 클러스터의 사전 정의된 IP 주소를 포함하는 usercluster.ipblockfilepath에 제공된 파일을 수정하거나, 원하는 IP를 사용하여 다른 고정 IP YAML 파일을 제공합니다.

부하 분산기의 IP 주소 예약

F5 BIG-IP 부하 분산기를 사용하는 경우 사용자 클러스터의 부하 분산기 제어 영역과 인그레스에 2개의 IP 주소를 예약해야 합니다. 해당 필드는 usercluster.vips.controlplanevipusercluster.vips.ingressvip입니다.

머신 요구사항 변경(선택사항)

이 사용자 클러스터의 제어 영역 또는 워커 노드가 다른 양의 CPU 또는 메모리를 사용해야 하는 경우이거나 클러스터가 노드를 추가로 또는 더 적게 실행해야 하는 경우 다음 필드의 값을 설정합니다.

usercluster.masternode

  • usercluster.masternode.cpus: 사용할 CPU 코어 수입니다.
  • usercluster.masternode.memorymb: 사용할 메모리 양(MB)입니다.
  • usercluster.masternode.replicas: 실행할 이 유형의 노드 수입니다. 값은 1 또는 3이어야 합니다.

usercluster.workernode

  • usercluster.workernode.cpus: 사용할 CPU 코어 수입니다.
  • usercluster.workernode.memorymd: 사용할 메모리 양(MB)입니다.
  • usercluster.workernode.replicas: 실행할 이 유형의 노드 수입니다.

사용자 클러스터 만들기

이제 create-user-cluster.yaml 파일이 채워졌으므로 이 파일을 사용하여 추가 사용자 클러스터를 만들 수 있습니다.

다음 명령어를 실행합니다.

gkectl create cluster --config create-user-cluster.yaml --kubeconfig [ADMIN_CLUSTER_KUBECONFIG]

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

  • create-user-cluster.yaml은 방금 만든 구성 파일입니다. 이 파일에 다른 이름을 선택했을 수 있습니다.
  • [ADMIN_CLUSTER_KUBECONFIG]는 기존 관리자 클러스터의 kubeconfig를 가리킵니다.

문제 해결

자세한 내용은 문제 해결을 참조하세요.

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

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

기본 로깅 동작

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