관리자는 Tanzu 지원 vSphere 통합의 감독자 네임스페이스를 사용자가 사용할 수 있도록 설정할 수 있습니다. 그러면 사용자가 클라우드 템플릿을 통해 Kubernetes 배포에 해당 네임스페이스를 추가하거나 Automation Service Broker 카탈로그에서 요청할 수 있습니다.

이 작업에서는 Automation Assembler를 사용하여 배포에 사용할 Tanzu 감독자 클러스터를 추가하는 방법과 특정 Kubernetes 리소스에 액세스할 수 있는 Automation Assembler 프로젝트 및 사용자를 정의하는 네임스페이스를 생성하거나 추가하는 방법을 설명합니다. 이 기능은 VMware TKGI(Tanzu Kubernetes Grid Integrated Edition) 또는 Openshift와 같은 통합이 아닌 적절한 vSphere 클라우드 계정에 의존합니다. 감독자 클러스터는 vSphere와 연결되어 있는 사용자 지정된 Kubernetes 클러스터입니다. 이는 Kubernetes API를 최종 사용자에게 노출하고, 작업자 노드에 대한 플랫폼으로 Linux가 아닌 ESXI를 사용합니다. 일반적으로 개별 가상 시스템보다 네임스페이스에 정책을 적용하는 것이 더 쉽기 때문에 감독자 네임스페이스는 Kubernetes 리소스에 대한 액세스 제어를 용이하게 합니다. 각 감독자 클러스터에 대해 네임스페이스를 여러 개 생성할 수 있습니다.

Tanzu 지원 배포는 vSphere 생성 게스트 클러스터를 사용할 수도 있습니다. 게스트 클러스터는 감독자 클러스터의 가상 시스템 내에서 실행되는 Kubernetes 클러스터입니다. 게스트 클러스터는 업스트림을 완전히 준수하는 Kubernetes이므로 모든 Kubernetes 애플리케이션에서 작동하도록 보장됩니다. vSphere의 게스트 클러스터는 오픈 소스 클러스터 API 프로젝트를 사용하여 Kubernetes 클러스터의 수명 주기를 관리하며, Kubernetes 클러스터는 VM Operator를 사용하여 게스트를 구성하는 가상 시스템을 관리합니다.

참고: Tanzu 지원 배포를 VMware Aria Automation VCF( VMware Cloud Foundation) 클라우드 계정과 함께 사용하지 마십시오. 해당 배포는 지원되지 않으며 올바르게 작동하지 않습니다.

Tanzu 지원 vSphere 인스턴스와 함께 사용하는 경우 Kubernetes 영역은 감독자 네임스페이스 프로비저닝에 사용할 수 있는 감독자 클러스터를 정의합니다. 감독자 네임스페이스는 Tanzu 지원 vSphere 인스턴스에만 해당됩니다. 일반 Kubernetes 리소스를 Tanzu 지원 vSphere 인스턴스에 프로비저닝할 수 없습니다.

프로젝트 뷰어로 지정된 Automation Assembler 사용자는 네임스페이스에 대한 보기 전용 액세스 권한이 있는 반면, 프로젝트 멤버는 이를 편집할 수 있습니다.

필요한 경우 네임스페이스에 연결된 감독자 클러스터를 구성할 수 있습니다.

사전 요구 사항

  • Automation Assembler에서 감독자 클러스터 및 네임스페이스를 사용하려면 vSphere 7.x 끝점이 구성되어 있어야 합니다. VMware Aria Automation에서 vSphere는 vCenter 클라우드 계정의 일부로 설치됩니다. VMware Aria Automation에서 기본 vCenter 클라우드 계정 생성의 내용을 참조하십시오.
  • Tanzu는 vSphere 클라우드 계정에서 사용되도록 설정해야 하며 적절한 감독자 네임스페이스를 포함해야 합니다.
  • vCenter와 VMware Aria Automation 배포 모두 동일한 Active Directory를 사용해야 사용자를 동기화할 수 있습니다. 그렇지 않은 경우 프로비저닝은 계속 작동하지만 VMware Aria Automation 사용자가 네임스페이스에 대한 액세스 권한을 자동으로 얻을 수 없습니다.

프로시저

  1. Automation Assembler에서 인프라 > 구성 > Kubernetes 영역을 선택합니다.
    이 페이지에서는 사용이 가능한 관리 클러스터가 표시되며 이 페이지를 사용하여 다른 클러스터를 추가할 수 있습니다. 클러스터를 클릭하여 세부 정보를 볼 수 있습니다.
  2. 새 Kubernetes 영역을 선택합니다.
  3. 대상 vSphere 클라우드 계정에 대한 계정 세부 정보를 지정합니다.
  4. 텍스트 상자의 검색 아이콘을 클릭하여 모든 vSphere 계정을 보거나 이름으로 계정을 검색합니다.
  5. 새 영역의 이름설명을 입력합니다.
  6. 필요한 경우 기능 태그를 추가합니다. 자세한 내용은 Automation Assembler에서 기능 태그 사용의 내용을 참조하십시오.
  7. [프로비저닝] 탭을 클릭하여 네임스페이스와 연결될 감독자 클러스터를 선택합니다.
  8. 계산 추가를 클릭하여 사용 가능한 감독자 클러스터를 살펴보고 선택합니다.
  9. 추가를 클릭합니다.
  10. 인프라 > 관리 > 프로젝트를 선택한 다음, Kubernetes 영역과 연결할 프로젝트를 선택합니다.
  11. [프로젝트] 페이지에서 [Kubernetes 프로비저닝] 탭을 클릭합니다.
  12. Kubernetes 영역 추가를 클릭하고 방금 생성한 영역을 추가합니다. 해당되는 경우 여러 영역을 사용할 수 있으며 영역의 우선 순위도 설정할 수 있습니다.
  13. 저장을 클릭합니다.

다음에 수행할 작업

네임스페이스가 구성된 후에는 해당 사용자에 대한 Automation Assembler인프라 > 리소스 > 감독자 페이지에 네임스페이스가 표시됩니다. 사용자는 [요약] 탭의 [주소] 링크를 클릭하여 vSphere Kubernetes CLI 도구를 열고 네임스페이스를 관리할 수 있습니다. 감독자 네임스페이스 세부 정보 링크에 액세스하려면 사용자가 클라우드 관리자이거나 지정된 프로젝트 네임스페이스의 멤버여야 합니다. 사용자는 사용자 지정된 Kubectl을 다운로드하여 감독자 네임스페이스를 사용할 수도 있습니다. 사용자는 감독자 네임스페이스에 로그인하여 다른 네임스페이스와 마찬가지로 사용한 다음 클라우드 템플릿을 생성하고 애플리케이션을 배포할 수 있습니다.

클라우드 템플릿에 네임스페이스를 추가하려면 설계 > 클라우드 템플릿을 선택하고 기존 클라우드 템플릿을 선택하거나 새로 생성합니다. 그런 다음, 왼쪽 메뉴에서 감독자 네임스페이스 항목을 선택하여 캔버스에 끌어서 놓으면 됩니다.

태그를 사용하여 감독자 네임스페이스에 스토리지 정책을 할당할 수 있습니다. location:local과 같은 태그를 추가하여 배포에 사용할 Kubernetes 영역을 지정하고 다른 태그(예: speed:fastspeed:slow)를 스토리지 프로파일에 지정할 수 있습니다.

formatVersion: 1
resources:
  Cloud_SV_Namespace_1:
  type: Cloud.SV.Namespace
  properties:
    name: 'a'
    storage:
      -profile:
         constraints:
           - tag: 'speed:fast'
      -profile:
        liimitMB:1000
        constraints:
           -tag: 'speed:slow'

이 클라우드 템플릿은 제약 조건이 없는 감독자 네임스페이스를 요청하고 여기에 두 개의 스토리지 프로파일을 지정합니다.

감독자 네임스페이스가 포함된 클라우드 템플릿을 배포한 후에는 사용자가 Automation Service Broker 카탈로그에서 감독자 네임스페이스를 요청할 수도 있습니다. 또한Automation Assembler에서 [배포] 페이지를 클릭하여 배포에 대한 정보를 살펴보고, vSphere에서 네임스페이스에 대한 kubectl을 실행하는 명령이 포함된 링크에 액세스할 수 있습니다.

클래스 이름을 지정할 수 있는 vmclasses 속성을 사용하여 클라우드 템플릿의 감독자 네임스페이스에 대한 가상 시스템 클래스를 지정할 수 있습니다. 다음 클라우드 템플릿 예를 참조하십시오.
resources:
  Cloud_SV_Namespace_1:
    type: Cloud.SV.Namespace
    properties:
      name: demo-vmclass1
      vmclasses:
        - name: vmclass1