Tanzu Kubernetes 클러스터는 YAML을 사용하여 정의한 클러스터 규격 및 kubectl을 사용하여 Tanzu Kubernetes Grid 서비스 선언적 API를 호출하여 프로비저닝합니다. 클러스터를 프로비저닝한 후 클러스터를 운영하고 kubectl을 사용하여 워크로드를 배포합니다.

이 워크플로는 클러스터 프로비저닝 프로세스에 대한 전체 절차를 제공합니다. 각 단계에는 특정 작업에 대한 자세한 정보를 제공하는 링크가 있습니다.

사전 요구 사항

다음 사전 요구 사항을 완료하십시오.
  • 감독자 클러스터 인스턴스를 구성합니다. 감독자 클러스터 구성 및 관리의 내용을 참조하십시오.
  • Tanzu Kubernetes 클러스터를 프로비저닝할 vSphere 네임스페이스를 생성합니다. vSphere 네임스페이스 생성 및 구성의 내용을 참조하십시오.

    초기 네임스페이스 구성에는 다음이 필요합니다.

    • 한 명 이상의 DevOps 엔지니어가 vCenter Single Sign-On 자격 증명을 사용하여 네임스페이스에 액세스할 수 있는 권한을 편집합니다.
    • 네임스페이스에 대한 태그 기반 공유 스토리지 정책.
    • 필요에 따라 확인 및 조정된 네임스페이스에 대한 용량 및 사용 할당량.
  • 공유 데이터스토어에 Tanzu Kubernetes 릴리스용 컨텐츠 라이브러리를 생성하고 사용하려는 릴리스를 동기화합니다. Tanzu Kubernetes 릴리스용 컨텐츠 라이브러리 생성 및 관리의 내용을 참조하십시오.
  • 컨텐츠 라이브러리 및 가상 시스템 클래스를 vSphere 네임스페이스와 연결합니다. Tanzu Kubernetes 릴리스에 대한 vSphere 네임스페이스 구성의 내용을 참조하십시오.

프로시저

  1. vSphere에 대한 Kubernetes CLI 도구를 다운로드하고 설치합니다. vSphere에 대한 Kubernetes CLI 도구 다운로드 및 설치의 내용을 참조하십시오.
  2. kubectl용 vSphere 플러그인을 사용하여 감독자 클러스터로 인증합니다. vCenter Single Sign-On 사용자로 감독자 클러스터에 연결의 내용을 참조하십시오.
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
  3. kubectl을 사용하여 Tanzu Kubernetes 클러스터를 프로비저닝하려는 vSphere 네임스페이스로 컨텍스트를 전환합니다.
    kubectl config get-contexts
    kubectl config use-context SUPERVISOR-NAMESPACE
    예:
    kubectl config use-context tkgs-cluster-ns
  4. 사용 가능한 가상 시스템 클래스 바인딩을 나열합니다. Tanzu Kubernetes 클러스터에 대한 가상 시스템 클래스의 내용을 참조하십시오.
    다음 명령을 사용하여 클러스터를 배포하는 vSphere 네임스페이스에서 사용할 수 있는 모든 VM 클래스 바인딩을 나열합니다.
    kubectl get virtualmachineclassbindings
    참고: kubectl get virtualmachineclasses 명령은 감독자 클러스터에 있는 모든 VM 클래스를 나열합니다. VM 클래스를 vSphere 네임스페이스와 연결해야 하기 때문에 대상 네임스페이스에 바인딩된 VM 클래스만 사용할 수 있습니다.
  5. 네임스페이스를 설명하여 사용 가능한 기본 스토리지 클래스를 가져옵니다.
    kubectl describe namespace SUPERVISOR-NAMESPACE
  6. 사용 가능한 Tanzu Kubernetes 릴리스를 나열합니다.
    참고: 호환성은 Tanzu Kubernetes 릴리스 목록을 참조하십시오. 업데이트를 위한 Tanzu Kubernetes 클러스터 호환성 확인의 내용을 참조하십시오.
    kubectl get tanzukubernetesreleases
    참고: kubectl get virtualmachineimages 명령은 가상 시스템에 대한 일반 정보를 반환합니다.
  7. Tanzu Kubernetes 클러스터 프로비저닝을 위한 YAML 파일을 생성합니다.
    1. 예제 YAML 파일 중 하나로 시작합니다. Tanzu Kubernetes Grid 서비스 v1alpha1 API를 사용하여 Tanzu Kubernetes 클러스터를 프로비저닝하는 예의 내용을 참조하십시오.
      예를 들어 다음 YAML 파일은 사용 가능한 모든 기본값을 사용하여 최소 클러스터를 프로비저닝합니다.
      apiVersion: run.tanzu.vmware.com/v1alpha1  #TKGS API endpoint
      kind: TanzuKubernetesCluster               #required parameter
      metadata:
        name: tkgs-cluster-1                     #cluster name, user defined
        namespace: tgks-cluster-ns               #vsphere namespace
      spec:
        distribution:
          version: v1.19                         #Resolves to latest TKR 1.19 version
        topology:
          controlPlane:
            count: 1                             #number of control plane nodes
            class: best-effort-medium            #vmclass for control plane nodes
            storageClass: vwt-storage-policy     #storageclass for control plane
          workers:
            count: 3                             #number of worker nodes
            class: best-effort-medium            #vmclass for worker nodes
            storageClass: vwt-storage-policy     #storageclass for worker nodes
      
    2. 앞의 명령 출력에서 모은 정보를 사용하여 네임스페이스, 스토리지 클래스 및 가상 시스템 클래스를 포함하여 클러스터 YAML을 채웁니다.
    3. 클러스터 구성 매개 변수의 전체 목록을 참조하여 필요에 따라 클러스터를 사용자 지정합니다. Tanzu Kubernetes Grid 서비스 v1alpha1 API를 사용하는 Tanzu Kubernetes 클러스터에 대한 구성 매개 변수의 내용을 참조하십시오.
    4. 파일을 tkgs-cluster-1.yaml 또는 이와 유사하게 저장합니다.
  8. 다음 kubectl 명령을 실행하여 클러스터를 프로비저닝합니다.
    kubectl apply -f CLUSTER-NAME.yaml
    예:
    kubectl apply -f tkgs-cluster-1.yaml
    예상 결과:
    tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 created
  9. kubectl을 사용하여 클러스터 노드의 배포를 모니터링합니다. kubectl을 사용하여 Tanzu Kubernetes 클러스터 상태 모니터링의 내용을 참조하십시오.
    kubectl get tanzukubernetesclusters
    샘플 결과:
    NAME             CONTROL PLANE   WORKER   DISTRIBUTION                     AGE     PHASE
    tkgs-cluster-2   1               3        v1.19.7+vmware.1-tkg.1.c40d30d   7m59s   running
  10. vSphere Client를 사용하여 클러스터 노드의 배포를 모니터링합니다. vSphere Client를 사용하여 Tanzu Kubernetes 클러스터 상태 모니터링의 내용을 참조하십시오.
    예를 들어 vSphere 인벤토리에서 네임스페이스에 배포되는 가상 시스템 노드를 볼 수 있습니다.
  11. 추가 명령을 실행하여 클러스터 프로비저닝을 확인합니다. 자세한 내용은 Tanzu Kubernetes 클러스터 작동 명령 사용을 참조하십시오.
    예:
    kubectl get tanzukubernetescluster,cluster-api,virtualmachinesetresourcepolicy,virtualmachineservice,virtualmachine
    참고: 추가 문제 해결은 Tanzu Kubernetes 클러스터 문제 해결을 참조하십시오.
  12. kubectl용 vSphere 플러그인을 사용하여 클러스터에 로그인합니다. vCenter Single Sign-On 사용자로 Tanzu Kubernetes 클러스터에 연결의 내용을 참조하십시오.
    kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME \
    --tanzu-kubernetes-cluster-name CLUSTER-NAME --tanzu-kubernetes-cluster-namespace NAMESPACE-NAME
  13. 다음 kubectl 명령을 사용하여 클러스터 프로비저닝을 확인합니다.
    kubectl cluster-info
    kubectl get nodes
    kubectl get namespaces
    kubectl api-resources
  14. 예제 워크로드를 배포하고 클러스터 생성을 확인합니다. Tanzu Kubernetes 클러스터에 워크로드 배포의 내용을 참조하십시오.
    참고: Tanzu Kubernetes 클러스터에는 포드 보안 정책이 사용되도록 설정되어 있습니다. 워크로드 및 사용자에 따라 적절한 RoleBinding 또는 사용자 지정 PodSecurityPolicy를 생성해야 할 수도 있습니다. Tanzu Kubernetes 클러스터에서 포드 보안 정책 사용의 내용을 참조하십시오.
  15. TKG 확장을 배포하여 클러스터를 운영합니다. Tanzu Kubernetes 클러스터에 TKG 패키지 배포의 내용을 참조하십시오.