관리자 클러스터 만들기

이 페이지에서는 VMware용 Anthos 클러스터(GKE On-Prem)의 관리자 클러스터를 만드는 방법을 설명합니다.

여기에는 전체 안내가 나와 있습니다. 관리자 클러스터 만들기에 대한 간략한 소개는 관리자 클러스터 만들기(빠른 시작)를 참조하세요.

시작하기 전에

관리자 워크스테이션 만들기

관리자 워크스테이션으로 SSH 연결 가져오기

관리자 워크스테이션으로 SSH 연결 가져오기

gkeadm이 관리자 워크스테이션에서 구성요소 액세스 서비스 계정을 활성화한 바 있습니다.

홈 디렉터리의 관리자 워크스테이션에서 이 주제의 나머지 단계를 모두 수행합니다.

사용자 인증 정보 구성 파일

gkeadm을 사용하여 관리자 워크스테이션을 만들 때 credential.yaml이라는 사용자 인증 정보 구성 파일을 입력했습니다. 이 파일에는 vCenter 서버의 사용자 이름과 비밀번호가 포함됩니다.

관리자 클러스터 구성 파일

gkeadm이 관리자 워크스테이션을 만들 때 admin-cluster.yaml이라는 구성 파일을 생성했습니다. 이 구성 파일은 관리자 클러스터를 만들기 위한 것입니다.

구성 파일 작성

bundlePath

이 필드는 이미 채워져 있습니다.

vCenter

여기에 있는 대부분의 필드는 관리자 워크스테이션을 만들 때 입력한 값으로 이미 채워져 있습니다. dataDisk 필드는 예외입니다. 이 필드는 지금 입력해야 합니다.

network

클러스터 노드가 IP 주소를 가져오는 방법을 결정합니다. 옵션은 다음과 같습니다.

  • DHCP 서버에서 가져옵니다. network.ipMode.type"dhcp"로 설정합니다.

  • 제공한 고정 IP 주소 목록에서 가져옵니다. network.ipMode.type"static"으로 설정하고 고정 IP 주소를 제공하는 IP 블록 파일을 만듭니다.

network 섹션의 나머지 필드에 값을 넣습니다.

DHCP 서버를 사용하든 고정 IP 주소 목록을 지정하든 관계없이 다음을 충족할 수 있는 충분한 IP 주소가 필요합니다.

  • 관리자 클러스터 제어 영역 및 부가기능을 실행하기 위한 관리자 클러스터의 노드 3개

  • 업그레이드 중에 임시로 사용할 관리자 클러스터의 추가 노드

  • 만들려는 각 사용자 클러스터에 대해 사용자 클러스터에 대한 제어 영역 구성요소를 실행하기 위한 관리자 클러스터의 노드 1개 또는 3개 사용자 클러스터의 제어 영역을 고가용성(HA)으로 만들려면 사용자 클러스터 제어 영역에 대한 관리자 클러스터에 3개의 노드가 필요합니다. 그렇지 않으면 사용자 클러스터 제어 영역에 대해 관리자 클러스터에 하나의 노드만 필요합니다.

예를 들어 HA 제어 영역이 있는 사용자 클러스터와 비 HA 제어 영역이 있는 사용자 클러스터 두 개를 만든다고 가정합니다. 그런 다음 관리자 클러스터의 다음 노드에 8개의 IP 주소가 필요합니다.

  • 관리자 클러스터 제어 영역과 부가기능에 대한 노드 3개
  • 임시 노드 1개
  • HA 사용자 클러스터 제어 영역에 대한 노드 3개
  • 비 HA 사용자 클러스터 제어 영역에 대한 노드 1개

앞에서 설명한 것처럼 고정 IP 주소를 사용하려면 IP 블록 파일을 제공해야 합니다. 다음은 호스트가 8개인 IP 블록 파일의 예시입니다.

blocks:
  - netmask: 255.255.252.0
    gateway: 172.16.23.254
    ips:
    - ip: 172.16.20.10
      hostname: admin-host1
    - ip: 172.16.20.11
      hostname: admin-host2
    - ip: 172.16.20.12
      hostname: admin-host3
    - ip: 172.16.20.13
      hostname: admin-host4
    - ip: 172.16.20.14
      hostname: admin-host5
    - ip: 172.16.20.15
      hostname: admin-host6
    - ip: 172.16.20.16
      hostname: admin-host7
    - ip: 172.16.20.17
      hostname: admin-host8

loadBalancer

관리자 클러스터의 Kubernetes API 서버에 대해 VIP를 별도로 설정합니다. 부가기능 서버에 대해 다른 VIP를 별도로 설정합니다. VIP를 loadBalancer.vips.controlPlaneVIPloadBalancer.vips.addonsVIP의 값으로 제공합니다.

사용할 부하 분산의 유형을 결정합니다. 옵션은 다음과 같습니다.

  • Seesaw 번들 부하 분산. loadBalancer.kind"Seesaw"로 설정하고 loadBalancer.seesaw 섹션을 입력합니다.

  • F5 BIG-IP를 사용한 통합 부하 분산 loadBalancer.kind"F5BigIP"로 설정하고 f5BigIP 섹션을 입력합니다.

  • 수동 부하 분산. loadBalancer.kind"ManualLB"로 설정하고 manualLB 섹션을 입력합니다.

antiAffinityGroups

필요에 따라 antiAffinityGroups.enabledtrue 또는 false로 설정합니다.

proxy

관리자 클러스터 노드를 포함할 네트워크가 프록시 서버 뒤에 있는 경우 proxy 섹션을 입력합니다.

privateRegistry

Anthos clusters on VMware 구성요소의 컨테이너 이미지를 보관할 위치를 결정합니다. 옵션은 다음과 같습니다.

  • gcr.io. privateRegistry 섹션은 입력하지 마세요.

  • 자체 비공개 Docker 레지스트리입니다. privateRegistry 섹션을 입력합니다.

gcrKeyPath

gcrKeyPath구성요소 액세스 서비스 계정에 대한 JSON 키 파일의 경로로 설정합니다.

stackdriver

stackdriver 섹션을 입력합니다.

cloudAuditLogging

Kubernetes 감사 로그를 Cloud 감사 로그와 통합하려면 cloudAuditLogging 섹션을 입력합니다.

autoRepair

노드 자동 복구를 사용 설정하려면 autoRepair.enabledtrue로 설정합니다. 그렇지 않으면 false로 설정합니다.

구성 파일 검사

관리자 클러스터 구성 파일을 입력한 후 gkectl check-config를 실행하여 파일이 유효한지 확인합니다.

gkectl check-config --config [CONFIG_PATH]

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

명령어가 실패 메시지를 반환하면 문제를 해결하고 파일을 다시 검사합니다.

시간이 오래 걸리는 검사를 건너뛰려면 --fast 플래그를 전달합니다. 개별 검사를 건너뛰려면 --skip-validation-xxx 플래그를 사용합니다. check-config 명령어에 대해 자세히 알아보려면 실행 전 검사 실행을 참조하세요.

gkectl prepare 실행

gkectl prepare를 실행하여 vSphere 환경을 초기화합니다.

gkectl prepare --config [CONFIG_PATH]

gkectl prepare 명령어는 다음 준비 태스크를 수행합니다.

  • OS 이미지를 vSphere로 가져오고 VM 템플릿으로 표시합니다.

  • 비공개 Docker 레지스트리를 사용하는 경우 이 명령어는 Docker 컨테이너 이미지를 레지스트리로 푸시합니다.

  • 선택적으로 이 명령어는 컨테이너 이미지의 빌드 증명을 검사하여 Google에서 이미지를 빌드하고 서명했으며 배포에 사용할 준비가 되었는지 확인합니다.

관리자 클러스터의 Seesaw 부하 분산기 만들기

번들 Seesaw 부하 분산기를 사용하기로 선택한 경우 이 섹션의 단계를 수행합니다. 그렇지 않으면 이 섹션을 건너뛸 수 있습니다.

Seesaw 부하 분산기의 VM을 만들고 구성합니다.

gkectl create loadbalancer --config [CONFIG_PATH]

관리자 클러스터 만들기

관리자 클러스터를 만듭니다.

gkectl create admin --config [CONFIG_PATH]

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

gkectl create admin 명령어는 현재 디렉터리에 kubeconfig라는 kubeconfig 파일을 만듭니다. 나중에 관리자 클러스터와 상호작용하려면 이 kubeconfig 파일이 필요합니다.

관리자 클러스터 실행 여부 확인

클러스터가 실행 중인지 확인합니다.

kubectl get nodes --kubeconfig [ADMIN_CLUSTER_KUBECONFIG]

여기서 [ADMIN_CLUSTER_KUBECONFIG]는 kubeconfig 파일의 경로입니다.

출력에 관리자 클러스터 노드가 표시됩니다.

문제 해결하기

클러스터 생성 및 업그레이드 문제 해결을 참조하세요.

다음 단계

사용자 클러스터 만들기