컨텐츠 라이브러리를 생성하고 VM 템플릿으로 채운 후 vSphere Client를 사용하여 라이브러리를 네임스페이스에 추가합니다. 라이브러리를 네임스페이스에 추가하여 DevOps 사용자에게 라이브러리에 대한 액세스 권한을 부여합니다. 또한 DCLI(Data Center CLI) 명령을 사용하여 쓰기 가능 또는 읽기 전용 컨텐츠 라이브러리를 네임스페이스에 추가하거나 클러스터 수준에서 읽기 전용 라이브러리를 할당할 수 있습니다.

vSphere Client를 사용하여 네임스페이스에 VM 컨텐츠 라이브러리 추가

vSphere Client를 사용하여 추가하는 컨텐츠 라이브러리는 읽기 전용입니다. DevOps 사용자는 이 컨텐츠 라이브러리의 이미지에 액세스할 수 있지만 이 라이브러리에 VM 이미지를 게시할 수는 없습니다.

여러 컨텐츠 라이브러리를 단일 네임스페이스에 추가할 수 있습니다. 동일한 컨텐츠 라이브러리를 서로 다른 네임스페이스에 추가할 수 있습니다.
참고: 이 절차는 VM 서비스의 컨텐츠 라이브러리에만 적용됩니다. Tanzu Kubernetes Grid용 컨텐츠 라이브러리는 Tanzu Kubernetes Grid 카드에서 관리해야 합니다.

사전 요구 사항

필요한 권한:
  • 네임스페이스.클러스터 전체 구성 수정
  • 네임스페이스.네임스페이스 구성 수정

프로시저

  1. vSphere Client에서 네임스페이스로 이동합니다.
    1. vSphere Client 홈 메뉴에서 워크로드 관리를 선택합니다.
    2. 네임스페이스 탭을 클릭하고 네임스페이스를 클릭합니다.
  2. 컨텐츠 라이브러리를 추가합니다.
    1. VM 서비스 카드에서 컨텐츠 라이브러리 추가를 클릭합니다.
    2. 컨텐츠 라이브러리를 하나 또는 여러 개 선택하고 확인을 클릭합니다.

vSphere Client를 사용하여 네임스페이스에서 VM 컨텐츠 라이브러리 관리

라이브러리를 네임스페이스와 연결한 후 vSphere Client를 사용하여 네임스페이스에서 라이브러리를 제거할 수 있습니다. 라이브러리를 더 추가할 수도 있습니다.

네임스페이스에서 컨텐츠 라이브러리를 제거해도 이전에 라이브러리 이미지를 통해 배포된 VM에는 영향을 주지 않습니다.
참고: 이 절차는 VM 서비스의 컨텐츠 라이브러리에만 적용됩니다. Tanzu Kubernetes Grid 컨텐츠 라이브러리는 Tanzu Kubernetes Grid 카드에서 관리해야 합니다.

사전 요구 사항

필요한 권한:
  • 네임스페이스.클러스터 전체 구성 수정
  • 네임스페이스.네임스페이스 구성 수정

프로시저

  1. vSphere Client에서 네임스페이스로 이동합니다.
    1. vSphere Client 홈 메뉴에서 워크로드 관리를 선택합니다.
    2. 네임스페이스 탭을 클릭하고 네임스페이스를 클릭합니다.
  2. 컨텐츠 라이브러리를 추가하거나 제거합니다.
    1. VM 서비스 카드에서 컨텐츠 라이브러리 관리를 클릭합니다.
    2. 다음 작업 중 하나를 수행합니다.
      옵션 설명
      컨텐츠 라이브러리 제거 컨텐츠 라이브러리를 선택 취소하고 확인을 클릭합니다.
      컨텐츠 라이브러리 추가 컨텐츠 라이브러리를 하나 또는 여러 개 선택하고 확인을 클릭합니다.

다음에 수행할 작업

라이브러리의 OVF 템플릿은 Kubernetes 네임스페이스에서 VM 이미지로 사용할 수 있게 되며 DevOps에서 셀프 서비스 VM에 사용할 수 있습니다. vSphere IaaS control plane에서 가상 시스템 배포의 내용을 참조하십시오.
참고: 라이브러리의 OVF 템플릿만 네임스페이스에 표시됩니다. 다른 유형의 컨텐츠는 네임스페이스에 표시되지 않습니다.

데이터 센터 CLI를 사용하여 네임스페이스에 VM 컨텐츠 라이브러리 추가

vSphere 관리자는 DCLI(Data Center CLI) 명령을 사용하여 컨텐츠 라이브러리를 네임스페이스에 할당할 수 있습니다. 라이브러리를 할당할 때 네임스페이스와 연결된 라이브러리를 쓰기 가능으로 만들 수 있습니다. 라이브러리에 쓰기가 가능하면, 라이브러리 및 라이브러리의 이미지를 보는 것 외에도 DevOps 사용자가 새 VM 이미지를 게시할 수 있습니다.

DCLI 명령을 사용하여 로컬, 게시됨 및 구독을 포함한 모든 유형의 라이브러리를 네임스페이스에 추가할 수 있습니다. 단, 로컬 및 게시된 라이브러리만 쓰기 가능한 라이브러리로 연결할 수 있습니다. 컨텐츠 라이브러리 및 라이브러리 항목은 연결된 네임스페이스에서만 사용할 수 있습니다.

프로시저

  1. 루트 사용자 계정을 사용하여 vCenter Server에 로그인합니다.
  2. 대화형 모드에서 DCLI를 사용하기 위해 dcli +i를 입력합니다.
  3. 네임스페이스와 연결할 컨텐츠 라이브러리의 ID를 가져옵니다.
    dcli > namespacemanagement content library list
  4. 다음 명령을 실행하여 컨텐츠 라이브러리를 네임스페이스와 연결합니다.
    업데이트 작업이 증분되지 않습니다. 목록에 지정된 라이브러리만 네임스페이스와 연결되며 이전에 추가된 라이브러리는 해당 ID가 지정되지 않는 한 제거됩니다. 예를 들어 '[{"content_library": "CLA", "writable": "true"}]'를 업데이트한 후 나중에 '[{"content_library": "CLB", "writable": "true"}]'를 업데이트하면 CLA는 제거되고 CLB만 추가됩니다. CLA와 CLB를 모두 연결하려면 두 라이브러리를 모두 지정해야 합니다( '[{"content_library": "CLA", "writable": "true"}, {"content_library": "CLB", "writable": "true"}]').
    dcli > namespaces instances update --namespace namespace_name --content-libraries '[{"content_library": "content_library_ID", "writable": "true | false"}]' 
    다음 인수를 사용합니다.
    • --namespace namespace_name – 네임스페이스의 이름입니다.
    • --content_libraries content_library_ID writable: true | false – 네임스페이스와 연결할 컨텐츠 라이브러리의 ID 및 라이브러리에 쓰기가 가능한지 여부입니다.
    예를 들면 다음과 같습니다.
    dcli > namespaces instances update --namespace lb-edit-ns --content-libraries '[{"content_library": "cl-b585915ddxxxxxxxx", "writable": "true"}]' 
  5. 네임스페이스에서 컨텐츠 라이브러리를 삭제하려면 어레이 목록에서 컨텐츠 라이브러리 항목을 제거하는 namespaces instances update 명령을 반복합니다.
    예를 들면 다음과 같습니다.
    dcli > namespaces instances update --namespace lb-edit-ns --content-libraries '[]'

결과

추가된 컨텐츠 라이브러리는 DevOps 네임스페이스 보기에서 사용할 수 있게 됩니다.
DevOps 사용자는 다음 명령을 실행하여 컨텐츠 라이브러리가 추가 또는 삭제되었는지 확인할 수 있습니다.
kubectl get cl -n lb-edit-ns
   NAMESPACE    NAME                   VSPHERENAME   TYPE    WRITABLE   STORAGETYPE   AGE
   lb-edit-ns   cl-b585915ddxxxxxxxx   Test-ns-cl    Local   true       Datastore     3m9s
kubectl describe cl cl-b585915ddxxxxxxxx -n lb-edit-ns
kubectl get clitem -n lb-edit-ns

Data Center CLI를 사용하여 감독자에 VM 컨텐츠 라이브러리 추가

네임스페이스 수준에서 컨텐츠 라이브러리를 할당하는 것 외에도 vSphere 관리자는 DCLI(Data Center CLI) 명령을 사용하여 라이브러리를 감독자 클러스터와 연결할 수 있습니다. 컨텐츠 라이브러리는 감독자의 모든 네임스페이스에서 사용할 수 있게 됩니다.

로컬, 게시됨 및 구독을 포함한 모든 유형의 라이브러리를 연결할 수 있습니다.

참고: 감독자와 연결된 컨텐츠 라이브러리는 읽기 전용입니다. DevOps 사용자는 이 컨텐츠 라이브러리의 VM 이미지에만 액세스할 수 있지만 이 라이브러리에 VM 이미지를 게시할 수는 없습니다.

사전 요구 사항

DCLI 명령에 대한 자세한 내용은 VMware Data Center CLI를 참조하십시오.

프로시저

  1. 루트 사용자 계정을 사용하여 vCenter Server에 로그인합니다.
  2. 대화형 모드에서 DCLI를 사용하기 위해 dcli +i를 입력합니다.
  3. 감독자에 연결할 컨텐츠 라이브러리의 ID 및 감독자의 이름을 가져옵니다.
    1. 클러스터 목록에서 감독자의 이름을 가져옵니다.
      명령은 vCenter Server에서 사용 가능한 모든 클러스터를 나열합니다.
      dcli > namespacemanagement clusters list
    2. vCenter Server에서 사용 가능한 모든 유형의 모든 컨텐츠 라이브러리의 ID를 나열합니다.
      dcli > library list
    3. 특정 라이브러리에 대한 세부 정보를 확인합니다.
      dcli > library get --library-id content_library_ID
  4. 하나 이상의 컨텐츠 라이브러리를 감독자와 연결합니다.
    업데이트 작업이 증분되지 않습니다. 목록에 지정된 라이브러리만 네임스페이스와 연결되며 이전에 추가된 라이브러리는 해당 ID가 지정되지 않는 한 제거됩니다. 예를 들어 '[{"content_library": "CLA", "writable": "true"}]'를 업데이트한 후 나중에 '[{"content_library": "CLB", "writable": "true"}]'를 업데이트하면 CLA는 제거되고 CLB만 추가됩니다. CLA와 CLB를 모두 연결하려면 두 라이브러리를 모두 지정해야 합니다( '[{"content_library": "CLA", "writable": "true"}, {"content_library": "CLB", "writable": "true"}]').
    dcli > namespacemanagement clusters update --cluster cluster_name --content-libraries '[{"content_library": content_library_ID_1}, {"content-library": content_library_ID_2}]'
    다음 인수를 사용합니다.
    • --cluster cluster_name감독자 클러스터의 식별자입니다.
    • --content-libraries content_library_ID감독자와 연결할 컨텐츠 라이브러리의 ID입니다. 여러 ID를 나열할 수 있습니다.
      예를 들면 다음과 같습니다.
      dcli > namespacemanagement clusters update --cluster cluster_name --content-libraries '[{"content_library": 535d4b3d-xxxx-xxxx-xxxx-xxxxxxxxxxxx}, {"content-library": b5aa7f68-xxxx-xxxx-xxxx-xxxxxxxxxxxx}]'
  5. 컨텐츠 라이브러리가 클러스터에 연결되어 있는지 확인하십시오.
    dcli > namespacemanagement clusters get --cluster cluster_name
    출력에는 연결된 컨텐츠 라이브러리의 ID가 포함되어야 합니다.
  6. 클러스터에서 연결된 컨텐츠 라이브러리를 삭제하려면 컨텐츠 라이브러리 어레이 목록에서 컨텐츠 라이브러리 항목을 제거하는 namespacemanagement clusters update 명령을 반복합니다.
    예를 들면 다음과 같습니다.
    dcli > namespacemanagement clusters update --cluster cluster_name --content-libraries '[]'

결과

새로 추가된 컨텐츠 라이브러리는 DevOps 클러스터 보기에서 사용할 수 있게 됩니다. vSphere 관리자가 컨텐츠 라이브러리에 대해 변경한 내용은 DevOps 보기에 반영됩니다. DevOps 사용자는 다음 명령을 실행하여 컨텐츠 라이브러리를 나열하고 컨텐츠를 설명할 수 있습니다.
  • kubectl get ccl – 클러스터 수준에서 사용할 수 있는 모든 컨텐츠 라이브러리의 목록입니다. 출력은 다음과 유사할 수 있습니다.
    NAME                   VSPHERENAME                          TYPE         STORAGETYPE   AGE
    cl-f28af8153fb849bd7   Kubernetes Service Content Library   Subscribed   Datastore     6d5h
    cl-knounwp7xxxxxxxxx   Image Registry Content Library       Local        Datastore     6d4h
  • kubectl get cclitem – 클러스터 수준의 컨텐츠 라이브러리에 있는 모든 항목의 목록입니다.
  • kubectl describe ccl NAME – 클러스터 수준의 특정 컨텐츠 라이브러리에 대한 자세한 정보입니다.