사용자 클러스터 만들기

관리 센터 콘솔 또는 kubectl을 사용하여 사용자 클러스터를 만들 수 있습니다.

어느 옵션을 선택하더라도 클러스터가 부트스트랩을 수행하고 준비되는 데 최대 10분까지 걸릴 수 있습니다. 기다리는 동안 다음 명령어를 사용하여 사용자 클러스터의 상태를 확인할 수 있습니다.

kubectl get Cluster -n USER_CLUSTER_NAME --kubeconfig=ADMIN_KUBECONFIG

USER_CLUSTER_NAME을 생성된 클러스터 이름으로 바꿉니다.

클러스터 상태가 ready이면 사용자 클러스터가 성공적으로 생성되었고 관리자 클러스터에 등록된 것입니다. 사용자 클러스터를 만든 후 관리 센터에서 kubeconfig 파일을 다운로드할 수 있습니다.

관리 센터

  1. Anthos 비공개 모드 관리 센터의 클러스터 섹션에서 만들기 버튼을 클릭하여 새 Anthos 사용자 클러스터를 만듭니다.

    빈 클러스터 페이지

  2. 클러스터 구성 페이지를 사용하여 새 사용자 클러스터를 구성합니다.

    클러스터 추가

클러스터가 생성되면 Anthos 비공개 모드 관리 센터에 자동으로 등록되고 클러스터 대시보드에 즉시 표시됩니다.

kubectl

다음 명령어를 사용하여 관리자 클러스터에 등록할 클러스터 및 NodePool 리소스를 만듭니다.

kubectl apply -f USER_CLUSTER_YAML --kubeconfig=ADMIN_KUBECONFIG

다음을 바꿉니다.

  • USER_CLUSTER_YAML: 사용자 클러스터 및 노드 풀의 YAML 매니페스트입니다. 사용자 클러스터 및 NodePool 샘플 구성 파일을 참조하세요.
  • ADMIN_KUBECONFIG: 관리자 클러스터 kubeconfig 파일입니다.

사용자 클러스터 구성의 기초로 관리자 클러스터 구성 파일을 사용하는 경우 사용자 클러스터 구성 파일에서 다음 필드를 수정합니다.

  • 상위 sshPrivateKeyPath, privateRegistry, privateRegistryConfigPath, privateRegistryTLSCertPath 필드를 삭제합니다.
  • <cluster-name>이 구성 전체에서 일관적인지 확인합니다.
  • Cluster.spec.type은 사용자여야 합니다. 이는 관리자 클러스터의 클러스터 유형과 다릅니다.
  • Cluster.metadata.namespace는 cluster-<cluster-name>이어야 하며, 여기에서 <cluster-name>은 생성 중인 사용자 클러스터의 이름입니다.
  • Cluster.spec.loadBalancer.vips.controlPlaneVIP, Cluster.spec.loadBalancer.vips.ingressVIP, Cluster.spec.loadBalancer.addressPools가 다른 클러스터의 구성과 겹치지 않는지 확인합니다.
  • Cluster.spec.loadBalancer.addressPools는 1개를 초과하는 주소 풀을 수락할 수 있습니다. 이름이 다른 여러 주소 풀을 만들어서 나중에 서비스를 만들고 각 서비스에 특정 주소 풀을 할당할 수 있습니다. 서비스를 만들 때 서비스 주석에 metallb.universe.tf/address-pool: <address-pool-name>을 추가해야 합니다.
  • Nodepool.metadata.name은 <cluster-name>-worker-node-pool 형식이어야 합니다.
  • Nodepool.metadata.namespace는 cluster-<cluster-name>이고 metadata.name은 클러스터의 클러스터 이름과 일치합니다.