This site will be decommissioned on December 31st 2024. After that date content will be available at techdocs.broadcom.com.

구성 파일에서 관리 클러스터 배포

Tanzu CLI를 사용하여 YAML 구성 파일에서 지정한 구성으로 관리 클러스터를 vSphere, AWS(Amazon Web Services), Microsoft Azure에 배포할 수 있습니다.

사전 요구 사항

관리 클러스터를 배포하려면 먼저 환경이 대상 플랫폼에 대한 요구 사항을 충족하는지 확인해야 합니다.

일반적인 사전 요구 사항

  • 모든 요구 사항을 충족하고 독립형 관리 클러스터에서 사용할 Tanzu CLI 및 Kubernetes CLI 설치 절차를 따랐는지 확인합니다.
  • 프로덕션 배포의 경우 클러스터에 ID 관리를 사용하도록 설정하는 것이 좋습니다. 관리 클러스터를 배포하기 전에 수행할 준비 단계에 대한 자세한 내용은 구성 ID 관리ID 제공자 세부 정보를 참조하십시오. Tanzu Kubernetes Grid의 ID 관리 및 액세스 제어에 대한 개념 정보는 ID 및 액세스 관리 정보를 참조하십시오.
  • 인터넷이 제한된 환경에서 vSphere 또는 AWS에 클러스터를 배포하는 경우 인터넷 제한 환경 준비 단계도 수행해야 합니다. 이러한 단계에는 TKG_CUSTOM_IMAGE_REPOSITORY를 환경 변수로 설정하는 것이 포함됩니다.
  • 중요

    CLI가 아닌 Tanzu Kubernetes Grid 설치 관리자 인터페이스를 사용하여 첫 번째 관리 클러스터를 지정된 대상 플랫폼에 배포하는 것을 강력히 권장합니다. 설치 관리자 인터페이스를 사용하여 관리 클러스터를 배포하면 관리 클러스터용 클러스터 구성 파일을 필수 매개 변수로 채웁니다. 생성된 구성 파일을 CLI에서 이 대상 플랫폼으로 향후 배포를 위한 모델로 사용할 수 있습니다.

  • Tanzu Mission Control에 관리 클러스터를 등록하려는 경우 워크로드 클러스터가 Tanzu Mission Control 설명서의 Tanzu Mission Control에 Tanzu Kubernetes 클러스터를 등록하는 요구 사항에 있는 요구 사항을 충족하는지 확인합니다.

인프라 사전 요구 사항

vSphere
vSphere에 관리 클러스터 배포 준비에 있는 모든 요구 사항을 충족했는지 확인합니다.
중요

vSphere with Tanzu 관리 클러스터를 배포할 필요가 없을 수 있습니다. vSphere with Tanzu Supervisor는 관리 클러스터입니다를 참조하십시오.

AWS
AWS에 관리 클러스터 배포 준비에 있는 모든 요구 사항을 충족했는지 확인합니다.
  • 다양한 크기의 노드 인스턴스 구성(예: t3.large 또는 t3.xlarge)에 대한 자세한 내용은 Amazon EC2 인스턴스 유형을 참조하십시오.
  • VPC(Virtual Private Cloud) 생성 시기 및 기존 VPC를 재사용하는 시기에 대한 자세한 내용은 Amazon Web Services 계정에서 리소스 사용량을 참조하십시오
  • AWS에 관리 클러스터를 처음 배포하는 경우 아래의 IAM 리소스 생성 지침에 따라 AWS 계정에서 Tanzu Kubernetes Grid에 Cloud Formation 스택을 생성합니다.

IAM 리소스 생성

AWS에 관리 클러스터를 처음으로 배포하기 전에 AWS 계정에 Tanzu Kubernetes Grid용 CloudFormation 스택(tkg-cloud-vmware-com)을 생성해야 합니다. 이 CloudFormation 스택은 Tanzu Kubernetes Grid가 AWS에서 클러스터를 생성하고 실행하는 데 필요한 IAM(ID 및 액세스 관리) 리소스를 포함합니다. 자세한 내용은 AWS에 관리 클러스터 배포 준비Tanzu Kubernetes Grid에서 설정한 사용 권한을 참조하십시오.

  1. AWS 계정에서 Tanzu Kubernetes Grid용 CloudFormation 스택을 이미 생성한 경우 이 절차의 나머지 부분을 건너뜁니다.

  2. AWS 계정에서 Tanzu Kubernetes Grid용 CloudFormation 스택을 아직 생성하지 않은 경우, AWS 인증 변수가 로컬 환경 또는 AWS 기본 자격 증명 제공자 체인에 설정되어 있는지 확인합니다. 지침은 AWS 계정 자격 증명 구성 및 SSH 키를 참조하십시오.

    여러 위치에서 AWS 자격 증명을 구성한 경우 CloudFormation 스택을 생성하는 데 사용되는 자격 증명 설정이 다음 우선 순위에 따라 적용됩니다.

    • 로컬 환경 변수 AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_SESSION_TOKEN, AWS_REGION에 설정된 자격 증명이 먼저 적용됩니다.
    • 기본 자격 증명 제공자 체인의 일부로 공유 자격 증명 파일에 저장된 자격 증명입니다. 로컬 환경 변수 AWS_SHARED_CREDENTIAL_FILE에 사용할 자격 증명 파일의 위치를 지정할 수 있습니다. 이 환경 변수가 정의되지 않은 경우 기본 위치 $HOME/.aws/credentials가 사용됩니다. 자격 증명 프로필을 사용하는 경우 명령은 AWS_PROFILE 로컬 환경 구성 변수에 지정된 프로필 이름을 사용합니다. 이 변수에 값을 지정하지 않으면 프로필 이름인 default가 사용됩니다.

      기본 AWS 자격 증명 제공자 체인이 Java 애플리케이션에 대해 해석되는 방법의 예는 AWS 설명서의 AWS 자격 증명으로 작업을 참조하십시오.

  3. 다음 명령을 실행합니다.

    tanzu mc permissions aws set
    

    이러한 명령에 대한 자세한 내용은 tanzu mc permissions aws set --help를 실행하십시오.

중요

tanzu mc permissions aws set 명령은 Tanzu Kubernetes Grid v1.1.x 이하 버전에 존재했던 clusterawsadm 명령줄 유틸리티를 대체합니다. v1.1.x 이하 버전으로 처음 배포된 기존 관리 및 워크로드 클러스터의 경우 clusterawsadm alpha bootstrap create-stack 명령을 실행하여 생성된 CloudFormation 스택을 계속 사용합니다. Tanzu Kubernetes Grid v1.2 이상 클러스터의 경우 tkg-cloud-vmware-com 스택을 사용합니다.

Azure
Microsoft Azure에 관리 클러스터 배포 준비에 있는 요구 사항을 충족했는지 확인합니다.

다양한 크기의 Azure용 노드 인스턴스 구성(예: Standard_D2s_v3 또는 Standard_D4s_v3)에 대한 자세한 내용은 Azure의 가상 시스템 크기를 참조하십시오.


관리 클러스터 구성 파일 생성

구성 파일에서 관리 클러스터를 생성하기 전에 파일을 생성해야 합니다. CLI에서 관리 클러스터를 배포할 때 tanzu mc create 명령의 --file 옵션을 사용하여 이 파일을 지정합니다.

tanzu config init 명령을 처음으로 실행하면 Tanzu Kubernetes Grid 구성 파일이 포함된 ~/.config/tanzu/tkg 하위 디렉토리가 생성됩니다.

이전에 tanzu mc create --ui를 실행하여 관리 클러스터를 배포한 경우 ~/.config/tanzu/tkg/clusterconfigs 디렉토리에는 설치 관리자 인터페이스의 각 호출에서 저장된 설정이 포함된 관리 클러스터 구성 파일이 포함되어 있습니다. 관리 클러스터를 배포한 인프라에 따라 이러한 파일을 동일한 인프라에 대한 새로운 배포를 위한 클러스터 구성 파일의 템플릿으로 사용할 수 있습니다. 또는 이 설명서에 제공된 템플릿에서 관리 클러스터 구성 파일을 생성할 수 있습니다.

  • 설치 관리자 인터페이스를 사용하여 수행한 이전 배포의 구성 파일을 사용하려면 구성 파일의 복사본을 새 이름으로 만들고 텍스트 편집기에서 연 후 구성을 업데이트합니다. 모든 설정을 업데이트하는 방법은 구성 파일 변수 참조를 참조하십시오.
  • 새 구성 파일을 생성하려면 아래의 관리 클러스터 구성 파일 생성을 참조하십시오. 이 섹션에서는 각 인프라 제공자용 구성 파일 템플릿을 제공합니다.

VMware는 단일 인프라와 관련된 구성 설정과 함께 각 관리 클러스터용 전용 구성 파일을 사용하는 것을 권장합니다.

관리 클러스터 구성 파일 생성

아래의 지침과 템플릿을 사용하여 독립형 관리 클러스터 구성 파일을 생성합니다.

각 변수에 대한 자세한 내용은 구성 파일 변수 참조를 참조하십시오.

중요

  • 관리 클러스터 구성에 설명된 대로 환경 변수는 클러스터 구성 파일의 값을 재정의합니다. 클러스터 구성 파일의 모든 설정을 사용하려면 CLI에서 관리 클러스터를 배포하기 전에 충돌하는 환경 변수를 설정 해제합니다.
  • Tanzu Kubernetes Grid에서 IPv6 주소에 대한 지원은 제한됩니다. APv6의 클러스터 배포(vSphere 전용)를 참조하십시오. IPv6 전용 네트워킹 환경에 배포하지 않는 경우 구성 파일의 모든 IP 주소 설정은 IPv4여야 합니다.
  • 일부 매개 변수는 동일한 속성을 구성합니다. 예를 들어 SIZE 속성은 서로 다른 대상 플랫폼의 모든 제어부와 Worker 노드 크기 및 유형 속성과 동일한 인프라 설정을 보다 일반적인 수준에서 구성합니다. 이 경우 충돌하거나 중복된 속성을 설정하지 마십시오.

독립형 관리 클러스터에 대한 구성 파일을 생성하려면 다음을 수행합니다.

  1. 텍스트 편집기에서 .yaml 확장자 및 적절한 이름을 가진 새 파일(예: aws-mgmt-cluster-config.yaml)을 엽니다. 구성 파일이 됩니다.

    설치 관리자 인터페이스에서 관리 클러스터를 이미 배포한 경우 클러스터 구성의 기본 위치인 ~/.config/tanzu/tkg/clusterconfigs 파일을 생성할 수 있습니다.

  2. 인프라와 일치하는 아래 항목을 참조하여 페이지 상단의 템플릿 코드를 구성 파일에 복사하여 붙여 넣습니다.

  3. 파일 내에서 설정을 구성합니다.

    • 인프라 관련 페이지의 나머지 부분에 있는 지침에 따라 인프라별 옵션을 구성합니다.
    • 이 페이지의 나머지 부분에 있는 지침에 따라 모든 대상 플랫폼에 공통되는 설정을 구성합니다.
  4. 파일을 저장합니다.

기본 관리 클러스터 생성 정보 구성

기본 관리 클러스터 생성 설정은 관리 클러스터 및 기타 기본 설정을 배포할 인프라를 정의합니다. 모든 대상 플랫폼에 공통입니다.

  • CLUSTER_PLAN의 경우, 단일 제어부 노드를 제공하는 개발 클러스터를 배포할지 아니면 3개의 제어부 노드가 있는 고가용성 관리 클러스터를 제공하는 프로덕션 클러스터를 배포할지를 지정합니다. dev 또는 prod를 지정합니다.
  • INFRASTRUCTURE_PROVIDER의 경우 aws, azure 또는 vsphere를 지정합니다.

    INFRASTRUCTURE_PROVIDER: aws
    
    INFRASTRUCTURE_PROVIDER: azure
    
    INFRASTRUCTURE_PROVIDER: vsphere
    
  • 필요한 경우 ENABLE_CEIP_PARTICIPATIONfalse로 설정하여 VMWARE CEIP(고객 환경 향상 프로그램) 참여를 비활성화합니다. CEIP에 대한 자세한 내용은 CEIP에 참여 관리https://www.vmware.com/solutions/trustvmware/ceip.html을 참조하십시오.

  • 필요한 경우 ENABLE_AUDIT_LOGGINGfalse로 설정하여 감사 로깅을 비활성화합니다. 감사 로깅에 대한 자세한 내용은 감사 로깅을 참조하십시오.
  • 권장 CIDR 범위 100.64.0.0/13 및 100.96.0.0/11을 사용할 수 없는 경우 클러스터 포드 네트워크용 CLUSTER_CIDR과 클러스터 서비스 네트워크용 SERVICE_CIDR을 업데이트합니다.

예:

#! ---------------------------------------------------------------------
#! Basic cluster creation configuration
#! ---------------------------------------------------------------------

CLUSTER_NAME: aws-mgmt-cluster
CLUSTER_PLAN: dev
INFRASTRUCTURE_PROVIDER: aws
ENABLE_CEIP_PARTICIPATION: true
ENABLE_AUDIT_LOGGING: true
CLUSTER_CIDR: 100.96.0.0/11
SERVICE_CIDR: 100.64.0.0/13

ID 관리 구성

IDENTITY_MANAGEMENT_TYPEldap 또는 oidc로 설정합니다. ID 관리를 비활성화하려면 none으로 설정하거나 생략합니다. 프로덕션 배포용 ID 관리를 사용하도록 설정하는 것이 좋습니다.

  • 관리 클러스터를 배포하기 전에 수행할 준비 단계에 대한 자세한 내용은 구성 ID 관리ID 제공자 세부 정보를 참조하십시오.
  • 관리 클러스터를 배포한 후 수행할 배포 후 단계에 대한 자세한 내용은 ID 관리 구성ID 관리 구성완료를 참조하십시오.
IDENTITY_MANAGEMENT_TYPE: oidc
IDENTITY_MANAGEMENT_TYPE: ldap

OIDC

OIDC를 구성하려면 아래 변수를 업데이트합니다. 변수를 구성하는 방법에 대한 자세한 내용은 구성 파일 변수 참조의 ID 제공자 - OIDC를 참조하십시오.

예:

OIDC_IDENTITY_PROVIDER_CLIENT_ID: 0oa2i[...]NKst4x7
OIDC_IDENTITY_PROVIDER_CLIENT_SECRET: 331!b70[...]60c_a10-72b4
OIDC_IDENTITY_PROVIDER_GROUPS_CLAIM: groups
OIDC_IDENTITY_PROVIDER_ISSUER_URL: https://dev-[...].okta.com
OIDC_IDENTITY_PROVIDER_SCOPES: openid,groups,email,offline_access
OIDC_IDENTITY_PROVIDER_USERNAME_CLAIM: email

LDAP

LDAP를 구성하려면 LDAPS 서버 정보로 LDAP_* 변수의 주석 처리를 제거하고 업데이트합니다. 변수를 구성하는 방법에 대한 자세한 내용은 구성 파일 변수 참조의 ID 제공자 - LDAP를 참조하십시오.

예:

LDAP_BIND_DN: "cn=bind-user,ou=people,dc=example,dc=com"
LDAP_BIND_PASSWORD: "example-password"
LDAP_GROUP_SEARCH_BASE_DN: dc=example,dc=com
LDAP_GROUP_SEARCH_FILTER: &(objectClass=posixGroup)(memberUid={})
LDAP_GROUP_SEARCH_NAME_ATTRIBUTE: cn
LDAP_GROUP_SEARCH_USER_ATTRIBUTE: uid
LDAP_HOST: ldaps.example.com:636
LDAP_ROOT_CA_DATA_B64: ""
LDAP_USER_SEARCH_BASE_DN: ou=people,dc=example,dc=com
LDAP_USER_SEARCH_FILTER: &(objectClass=posixAccount)(uid={})
LDAP_USER_SEARCH_NAME_ATTRIBUTE: uid

프록시 구성

선택적으로 관리 클러스터에서 프록시로 송신 HTTP(S) 트래픽을 보내려면(예: 인터넷 제한 환경에서) 주석 처리를 제거하고 *_PROXY 설정을 지정합니다. 프록시 설정은 모든 대상 플랫폼에 공통입니다. 하나의 프록시를 HTTP 요청에 사용하고 다른 프록시를 HTTPS 요청에 사용하거나 HTTP 및 HTTPS 요청 모두에 동일한 프록시를 사용하도록 선택할 수 있습니다. 클러스터를 배포한 후에는 프록시를 변경할 수 없습니다.

참고

vSphere 클러스터 VM에서 vCenter 트래픽을 프록시할 수 없습니다. 프록시가 설정된 vSphere 환경에서는 VSPHERE_INSECUREtrue로 설정하거나 vCenter IP 주소 또는 호스트 이름을 TKG_NO_PROXY 목록에 추가해야 합니다.

  • TKG_HTTP_PROXY_ENABLED: 프록시를 구성하려면 true로 설정합니다.

  • TKG_PROXY_CA_CERT: 인증서가 자체 서명된 경우 프록시 서버의 CA로 설정합니다.

  • TKG_HTTP_PROXY: HTTP 요청을 처리하는 프록시의 URL입니다. URL을 설정하려면 아래 형식을 사용하십시오.

    PROTOCOL://USERNAME:PASSWORD@FQDN-OR-IP:PORT
    

    형식 설명:

    • (필수) PROTOCOL: http여야 합니다.
    • (선택 사항) USERNAMEPASSWORD: HTTP 프록시 사용자 이름과 암호입니다. 프록시에 인증이 필요한 경우 USERNAMEPASSWORD를 설정해야 합니다.

    참고: CLI를 사용하여 관리 클러스터를 배포할 때 암호에 다음과 같은 영숫자가 아닌 문자를 사용할 수 없습니다. # ` ^ | / \ ? % ^ { [ ] }" < > .

    • (필수) FQDN-OR-IP: HTTP 프록시의 FQDN 또는 IP 주소입니다.
    • (필수) PORT: HTTP 프록시에서 사용하는 포트 번호입니다.

    예: http://user:[email protected]:1234.

  • TKG_HTTPS_PROXY: HTTPS 요청을 처리하는 프록시의 URL입니다. TKG_HTTPS_PROXYTKG_HTTP_PROXY와 동일한 값으로 설정하거나 다른 값을 입력할 수 있습니다. 값을 설정하려면 이전 단계의 URL 형식을 사용합니다. 여기서,

    • (필수) PROTOCOL: http여야 합니다.
    • (선택 사항) USERNAMEPASSWORD: HTTPS 프록시 사용자 이름과 암호입니다. 프록시에 인증이 필요한 경우 USERNAMEPASSWORD를 설정해야 합니다.

    참고: CLI를 사용하여 관리 클러스터를 배포할 때 암호에 다음과 같은 영숫자가 아닌 문자를 사용할 수 없습니다. # ` ^ | / \ ? % ^ { [ ] }" < > .

    • (필수) FQDN-OR-IP: HTTPS 프록시의 FQDN 또는 IP 주소입니다.
    • (필수) PORT: HTTPS 프록시에서 사용하는 포트 번호입니다.

    예: http://user:[email protected]:1234.

  • TKG_NO_PROXY: 이렇게 하면 HTTP(S) 프록시를 우회해야 하는 하나 이상의 쉼표로 구분된 네트워크 CIDR 또는 호스트 이름이 설정됩니다. 예를 들어 관리 클러스터가 동일한 프록시 뒤에 있는 동일한 네트워크에서 실행되는 인프라와 직접 통신할 수 있도록 합니다. 쉼표로 구분된 목록 설정에서 공백을 사용하지 마십시오. 예: noproxy.yourdomain.com,192.168.0.0/24.

    vSphere에서 이 목록에는 다음이 포함되어야 합니다.

    • vCenter IP 주소 또는 호스트 이름.
    • 제어부 끝점의 IP 주소를 포함하는 VSPHERE_NETWORK CIDR. VSPHERE_CONTROL_PLANE_ENDPOINT를 FQDN으로 설정한 경우 해당 FQDN도 TKG_NO_PROXY 목록에 추가합니다.

    내부적으로 Tanzu Kubernetes Grid는 localhost, 127.0.0.1, CLUSTER_CIDRSERVICE_CIDR, .svc, .svc.cluster.local 값을 TKG_NO_PROXY에서 설정한 값에 추가합니다. 또한 AWS와 Azure VNET CIDR에 배포하기 위해 AWS VPC CIDR 및 169.254.0.0/16을, Azure에 배포하기 위해 169.254.0.0/16168.63.129.16을 추가합니다. vSphere 경우 제어부 끝점의 IP 주소를 포함하는 VSPHERE_NETWORK의 CIDR을 수동으로 TKG_NO_PROXY에 추가해야 합니다. VSPHERE_CONTROL_PLANE_ENDPOINT를 FQDN으로 설정한 경우 FQDN과 VSPHERE_NETWORK 모두 TKG_NO_PROXY에 추가합니다.

    중요

    클러스터 VM이 Tanzu Kubernetes Grid 환경의 외부 서비스 및 인프라 끝점과 통신해야 하는 경우, 위에서 설정한 프록시로 해당 끝점에 연결할 수 있는지 확인하거나 해당 끝점을 TKG_NO_PROXY에 추가합니다. 환경 구성에 따라 다음이 포함될 수 있지만 이에 국한되지는 않습니다.

    • OIDC 또는 LDAP 서버
    • Harbor
    • VMware NSX
    • NSX Advanced Load Balancer
    • 클러스터 외부에 있는 AWS VPC CIDR

예:

#! ---------------------------------------------------------------------
#! Proxy configuration
#! ---------------------------------------------------------------------

TKG_HTTP_PROXY_ENABLED: true
TKG_PROXY_CA_CERT: "LS0t[...]tLS0tLQ==""
TKG_HTTP_PROXY: "http://myproxy.com:1234"
TKG_HTTPS_PROXY: "http://myproxy.com:1234"
TKG_NO_PROXY: "noproxy.yourdomain.com,192.168.0.0/24"

노드 설정 구성

기본적으로 모든 클러스터 노드는 모든 대상 플랫폼에 대해 Ubuntu v20.04를 실행합니다. vSphere 노드에서 Photon OS 실행하는 클러스터를 선택적으로 배포할 수 있습니다. AWS에서 노드는 선택적으로 Amazon Linux 2를 실행할 수 있습니다. 아키텍처의 경우 기본 및 현재 선택 항목은 amd64입니다. OS 및 버전 설정에 대한 자세한 내용은 구성 파일 변수 참조의 노드 구성을 참조하십시오.

예:

#! ---------------------------------------------------------------------
#! Node configuration
#! ---------------------------------------------------------------------

OS_NAME: "photon"
OS_VERSION: "3"
OS_ARCH: "amd64"

노드 계산 구성 및 크기를 설정하는 방법은 대상 플랫폼에 따라 다릅니다. 자세한 내용은 vSphere용 관리 클러스터 구성, AWS용 관리 클러스터 구성 또는 Microsoft Azure용 관리 클러스터 구성을 참조하십시오.

시스템 상태 점검 구성

필요한 경우 배포 기본 설정에 따라 변수를 업데이트하고 구성 파일 변수 참조의 시스템 상태 점검 섹션의 지침에 따라 변수를 업데이트합니다.

예:

ENABLE_MHC:
ENABLE_MHC_CONTROL_PLANE: true
ENABLE_MHC_WORKER_NODE: true
MHC_MAX_UNHEALTHY_CONTROL_PLANE: 60%
MHC_MAX_UNHEALTHY_WORKER_NODE: 60%
MHC_UNKNOWN_STATUS_TIMEOUT: 10m
MHC_FALSE_STATUS_TIMEOUT: 20m

개인 이미지 레지스트리 구성

인터넷이 제한된 환경에서 관리 클러스터를 배포하는 경우 주석 처리를 제거하고 TKG_CUSTOM_IMAGE_REPOSITORY_* 설정을 업데이트합니다. 이러한 설정은 모든 대상 플랫폼에 공통입니다. 다음과 같은 경우 개인 이미지 레지스트리 설정을 구성할 필요가 없습니다.

  • 인터넷이 제한된 환경에서 관리 클러스터를 배포하고, 인터넷 제한 환경 준비에 설명된 대로 tanzu config set 명령을 실행하여 TKG_CUSTOM_IMAGE_REPOSITORY_* 변수를 설정했습니다. tanzu config set을 실행하여 설정된 환경 변수는 클러스터 구성 파일에서 값을 재정의합니다.
  • 외부 인터넷에 액세스할 수 있는 환경에 관리 클러스터를 배포하는 경우.

예:

#! ---------------------------------------------------------------------
#! Image repository configuration
#! ---------------------------------------------------------------------

TKG_CUSTOM_IMAGE_REPOSITORY: "custom-image-repository.io/yourproject"
TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATE: "LS0t[...]tLS0tLQ=="

Antrea CNI 구성

기본적으로 Tanzu CLI를 사용하여 배포하는 클러스터는 클러스터 내 컨테이너 네트워킹에 Antrea CNI(컨테이너 네트워크 인터페이스)를 제공합니다.

필요한 경우 포드 트래픽의 SNAT(소스 네트워크 주소 변환)를 비활성화하고, hybrid, noEncap, NetworkPolicyOnly 트래픽 캡슐화 모드를 구현하고, 프록시 및 네트워크 정책을 사용하고, Traceflow를 구현할 수 있습니다.

Antrea에 대한 자세한 내용은 다음 리소스를 참조하십시오.

선택적으로 Antrea에서 이러한 기능을 구성하려면 주석 처리를 제거하고 ANTREA_* 변수를 업데이트합니다. 예:

#! ---------------------------------------------------------------------
#! Antrea CNI configuration
#! ---------------------------------------------------------------------

ANTREA_NO_SNAT: true
ANTREA_NODEPORTLOCAL: true
ANTREA_NODEPORTLOCAL_ENABLED: true
ANTREA_NODEPORTLOCAL_PORTRANGE: 61000-62000
ANTREA_TRAFFIC_ENCAP_MODE: "encap"
ANTREA_PROXY: true
ANTREA_PROXY_ALL: true
ANTREA_PROXY_LOAD_BALANCER_IPS: false
ANTREA_PROXY_NODEPORT_ADDRS:
ANTREA_PROXY_SKIP_SERVICES: ""
ANTREA_POLICY: true
ANTREA_TRACEFLOW: true
ANTREA_DISABLE_UDP_TUNNEL_OFFLOAD: false
ANTREA_ENABLE_USAGE_REPORTING: false
ANTREA_EGRESS: true
ANTREA_EGRESS_EXCEPT_CIDRS: ""
ANTREA_FLOWEXPORTER: false
ANTREA_FLOWEXPORTER_COLLECTOR_ADDRESS: "flow-aggregator.flow-aggregator.svc:4739:tls"
ANTREA_FLOWEXPORTER_POLL_INTERVAL: "5s"
ANTREA_FLOWEXPORTER_ACTIVE_TIMEOUT: "5s"
ANTREA_FLOWEXPORTER_IDLE_TIMEOUT: "15s"
ANTREA_IPAM: false
ANTREA_KUBE_APISERVER_OVERRIDE: ""
ANTREA_MULTICAST: false
ANTREA_MULTICAST_INTERFACES: ""
ANTREA_NETWORKPOLICY_STATS: true
ANTREA_SERVICE_EXTERNALIP: true
ANTREA_TRAFFIC_ENCRYPTION_MODE: none
ANTREA_TRANSPORT_INTERFACE: ""
ANTREA_TRANSPORT_INTERFACE_CIDRS: ""

tanzu mc create 명령 실행

클러스터 구성 파일을 생성하거나 업데이트하고 최신 BOM을 다운로드한 후 tanzu mc create --file CONFIG-FILE 명령을 실행하여 관리 클러스터를 배포할 수 있습니다. 여기서 CONFIG-FILE은 구성 파일의 이름입니다. 구성 파일이 기본값인 ~/.config/tanzu/tkg/cluster-config.yaml인 경우 --file 옵션을 생략할 수 있습니다. tanzu mc create 명령이 적용되는 Kubernetes 매니페스트를 검토하려면 필요에 따라 --dry-run 플래그를 사용하여 매니페스트를 변경하지 않고 인쇄할 수 있습니다. 이 호출은 Kubernetes 매니페스트를 생성하기 전에 아래에 설명된 유효성 검사를 계속 실행합니다.

주의

tanzu mc create 명령을 완료하는 데 시간이 걸립니다. tanzu mc create가 실행 중일 때는 동일한 부트스트랩 시스템에서 tanzu mc create의 추가 호출을 실행하여 여러 관리 클러스터를 배포하거나, 컨텍스트를 변경하거나, ~/.kube-tkg/config를 편집합니다.

관리 클러스터를 배포하려면 tanzu mc create 명령을 실행합니다. 예:

tanzu mc create --file path/to/cluster-config-file.yaml

vSphere에서 다중 AZ 지금 또는 나중에 여러 가용성 영역에서 관리 클러스터 또는 해당 워크로드 클러스터를 실행하려면 Kubernetes에서 FailureDomainDeploymentZone 생성에 설명된 vsphere-zones.yaml 파일과 함께 --az-file 옵션을 포함합니다.

tanzu mc create --file path/to/cluster-config-file.yaml --az-file path/to/vsphere-zones.yaml

유효성 검사 점검

tanzu mc create를 실행하면 관리 클러스터를 배포하기 전에 명령이 몇 가지 유효성 검사를 수행합니다. 점검은 관리 클러스터를 배포하는 인프라에 따라 다릅니다.

vSphere
명령은 대상 vSphere 인프라가 다음 요구 사항을 충족하는지 확인합니다.
  • 제공한 vSphere 자격 증명이 유효합니다.
  • 노드는 최소 크기 요구 사항을 충족합니다.
  • 기본 이미지 템플릿은 vSphere에 존재하며 지정된 Kubernetes 버전에 유효합니다.
  • 리소스 풀, 데이터스토어, 폴더를 포함한 필수 리소스가 vSphere에 있습니다.

다중 AZ 유효성 검사: Kubernetes에서 FailureDomain 및 DeploymentZone 개체 생성에 설명된 대로 FailureDomains 및 DeploymentZones 리소스를 정의하여 관리 클러스터를 배포하고 tanzu mc create 명령에서 --az-file 옵션으로 이를 참조하는 경우, 클러스터 생성 프로세스는 기본적으로 다음과 같은 추가 검사를 합니다.

* All vSphere zones and regions referenced in `VSphereFailureDomain`, `VSphereDeploymentZone`, and related Kubernetes objects exist in vSphere, are accessible, and have host groups, VM groups, and tags that also exist.
* Tag categories for the tags exist in vSphere and are logically consistent.
* vSphere AZ/zone and region configurations are logically consistent.
* `MATCHING_LABELS` configuration settings correspond to labels in the `VSphereDeploymentZone` objects.
* Zones referenced in Kubernetes are at the same level in vSphere.
* ResourcePools and Folders referenced in the `VSphereDeploymentZone` resources exist in vSphere.

클러스터 생성 프로세스가 구성에 지정된 vSphere 영역과 지역이 모두 존재하고 일관되고 동일한 수준으로 정의되었는지 확인하지 못하게 하려면 로컬 환경에서 SKIP_MULTI_AZ_VERIFY"true"로 설정합니다.

```
export SKIP_MULTI_AZ_VERIFY="true"
```

클러스터 구성 파일에서는 이 변수를 설정할 수 없습니다.

SKIP_MULTI_AZ_VERIFY 사용에 대한 일반적인 시나리오는 나중에 여러 AZ에서 실행되는 워크로드 클러스터를 생성하는 데 사용할 독립형 관리 클러스터를 배포하는 경우이지만 워크로드 클러스터 AZ에 대한 vSphere 리소스는 아직 설정되지 않은 것입니다.

AWS
명령은 대상 AWS 인프라가 다음 요구 사항을 충족하는지 확인합니다.
  • 제공한 AWS 자격 증명이 유효합니다.
  • Cloud Formation 스택이 존재합니다.
  • 노드 인스턴스 유형이 지원됩니다.
  • 지역과 AZ가 일치합니다.
Azure
명령은 대상 Azure 인프라가 다음 요구 사항을 충족하는지 확인합니다.
  • 제공한 Azure 자격 증명이 유효합니다.
  • 공용 SSH 키는 base64 형식으로 인코딩됩니다.
  • 노드 인스턴스 유형이 지원됩니다.

이러한 조건이 충족되지 않으면 tanzu mc create 명령이 실패합니다.

모니터링 진행률

tanzu mc create를 실행하면 터미널에서 관리 클러스터 배포의 진행률을 따를 수 있습니다. tanzu mc create의 첫 번째 실행은 필요한 Docker 이미지를 부트스트랩 시스템의 이미지 저장소로 끌어와야 하기 때문에 후속 실행보다 오래 걸립니다. 이후 실행에서는 이 단계가 필요하지 않으므로 더 빠릅니다.

관리 클러스터를 배포하기 전에 tanzu mc create가 실패하는 경우 tanzu mc create를 다시 실행하기 전에 부트스트랩 시스템에서 아티팩트를 정리해야 합니다. 자세한 내용은 관리 클러스터 문제 해결 항목을 참조하십시오. tanzu mc create를 실행하는 시스템이 로컬 작업이 완료되기 전에 종료되거나 다시 시작되면 배포가 실패합니다.

배포가 성공하면 터미널에 다음과 같은 확인 메시지가 표시됩니다.

Management cluster created! You can now create your first workload cluster by running tanzu cluster create [name] -f [file]

후속 작업

  • ID 관리 구성: 관리 클러스터용 OIDC 또는 LDAP ID 관리를 사용하도록 설정한 경우 ID 관리 구성 완료에 설명된 배포 후 단계를 수행하여 액세스를 사용하도록 설정해야 합니다.
  • Tanzu Mission Control에 관리 클러스터 등록: 관리 클러스터를 Tanzu Mission Control에 등록하려면 Tanzu Mission Control에 관리 클러스터 등록을 참조하십시오.
  • 워크로드 클러스터 배포: 관리 클러스터가 생성되면 Tanzu CLI를 사용하여 TKG 2.3 워크로드 클러스터 생성 및 관리에 설명된 대로 워크로드 클러스터를 배포할 수 있습니다.
  • 또 다른 관리 클러스터 배포: 둘 이상의 관리 클러스터를 vSphere, Azure, AWS의 하나 또는 전부에 배포하려면 관리 클러스터 관리를 참조하십시오. 이 항목에서는 기존 관리 클러스터를 CLI 인스턴스에 추가하고, 자격 증명을 획득하고, 관리 클러스터를 확장/삭제하고, 네임스페이스를 추가하고, CEIP를 옵트인하거나 옵트아웃하는 방법에 대한 정보도 제공합니다.

관리 클러스터 배포 중에 발생한 작업, 관리 클러스터에 kubectl을 연결하는 방법, 네임스페이스를 생성하는 방법, Tanzu Mission Control에 관리 클러스터를 등록하는 방법에 대한 자세한 내용은 새로 배포된 독립형 관리 클러스터 검사 및 등록을 참조하십시오.

check-circle-line exclamation-circle-line close-line
Scroll to top icon