Tanzu Kubernetes 클러스터는 YAML을 사용하여 정의한 클러스터 규격 및 kubectl을 사용하여 Tanzu Kubernetes Grid 서비스 선언적 API를 호출하여 프로비저닝합니다. 클러스터를 프로비저닝한 후 클러스터를 운영하고 kubectl을 사용하여 워크로드를 배포합니다.
이 워크플로는 클러스터 프로비저닝 프로세스에 대한 전체 절차를 제공합니다. 각 단계에는 특정 작업에 대한 자세한 정보를 제공하는 링크가 있습니다.
프로시저
- vSphere에 대한 Kubernetes CLI 도구를 다운로드하고 설치합니다. vSphere에 대한 Kubernetes CLI 도구 다운로드 및 설치의 내용을 참조하십시오.
- kubectl용 vSphere 플러그인을 사용하여 감독자 클러스터로 인증합니다. vCenter Single Sign-On 사용자로 감독자 클러스터에 연결의 내용을 참조하십시오.
kubectl vsphere login --server=IP-ADDRESS --vsphere-username USERNAME
- kubectl을 사용하여 Tanzu Kubernetes 클러스터를 프로비저닝하려는 vSphere 네임스페이스로 컨텍스트를 전환합니다.
kubectl config get-contexts
kubectl config use-context SUPERVISOR-NAMESPACE
예:
kubectl config use-context tkgs-cluster-ns
- 사용 가능한 가상 시스템 클래스 바인딩을 나열합니다. Tanzu Kubernetes 클러스터에 대한 가상 시스템 클래스의 내용을 참조하십시오.
다음 명령을 사용하여 클러스터를 배포하는
vSphere 네임스페이스에서 사용할 수 있는 모든 VM 클래스 바인딩을 나열합니다.
kubectl get virtualmachineclassbindings
참고:
kubectl get virtualmachineclasses
명령은
감독자 클러스터에 있는 모든 VM 클래스를 나열합니다. VM 클래스를
vSphere 네임스페이스와 연결해야 하기 때문에 대상 네임스페이스에 바인딩된 VM 클래스만 사용할 수 있습니다.
- 네임스페이스를 설명하여 사용 가능한 기본 스토리지 클래스를 가져옵니다.
kubectl describe namespace SUPERVISOR-NAMESPACE
- 사용 가능한 Tanzu Kubernetes 릴리스를 나열합니다.
kubectl get tanzukubernetesreleases
참고:
kubectl get virtualmachineimages
명령은 가상 시스템에 대한 일반 정보를 반환합니다.
- Tanzu Kubernetes 클러스터 프로비저닝을 위한 YAML 파일을 생성합니다.
- 예제 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
- 앞의 명령 출력에서 모은 정보를 사용하여 네임스페이스, 스토리지 클래스 및 가상 시스템 클래스를 포함하여 클러스터 YAML을 채웁니다.
- 클러스터 구성 매개 변수의 전체 목록을 참조하여 필요에 따라 클러스터를 사용자 지정합니다. Tanzu Kubernetes Grid 서비스 v1alpha1 API를 사용하는 Tanzu Kubernetes 클러스터에 대한 구성 매개 변수의 내용을 참조하십시오.
- 파일을
tkgs-cluster-1.yaml
또는 이와 유사하게 저장합니다.
- 다음 kubectl 명령을 실행하여 클러스터를 프로비저닝합니다.
kubectl apply -f CLUSTER-NAME.yaml
예:
kubectl apply -f tkgs-cluster-1.yaml
예상 결과:
tanzukubernetescluster.run.tanzu.vmware.com/tkgs-cluster-1 created
- 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
- vSphere Client를 사용하여 클러스터 노드의 배포를 모니터링합니다. vSphere Client를 사용하여 Tanzu Kubernetes 클러스터 상태 모니터링의 내용을 참조하십시오.
예를 들어 vSphere 인벤토리에서 네임스페이스에 배포되는 가상 시스템 노드를 볼 수 있습니다.
- 추가 명령을 실행하여 클러스터 프로비저닝을 확인합니다. 자세한 내용은 Tanzu Kubernetes 클러스터 작동 명령 사용을 참조하십시오.
예:
kubectl get tanzukubernetescluster,cluster-api,virtualmachinesetresourcepolicy,virtualmachineservice,virtualmachine
- 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
- 다음 kubectl 명령을 사용하여 클러스터 프로비저닝을 확인합니다.
kubectl cluster-info
kubectl get nodes
kubectl get namespaces
kubectl api-resources
- 예제 워크로드를 배포하고 클러스터 생성을 확인합니다. Tanzu Kubernetes 클러스터에 워크로드 배포의 내용을 참조하십시오.
참고:
Tanzu Kubernetes 클러스터에는 포드 보안 정책이 사용되도록 설정되어 있습니다. 워크로드 및 사용자에 따라 적절한 RoleBinding 또는 사용자 지정 PodSecurityPolicy를 생성해야 할 수도 있습니다.
Tanzu Kubernetes 클러스터에서 포드 보안 정책 사용의 내용을 참조하십시오.
- TKG 확장을 배포하여 클러스터를 운영합니다. Tanzu Kubernetes 클러스터에 TKG 패키지 배포의 내용을 참조하십시오.