11.4. 사용자 정의 네임스페이스에 가상 머신 템플릿 배포

Red Hat은 openshift 네임스페이스에 설치된 사전 구성된 가상 머신 템플릿을 제공합니다. ssp-operator 는 기본적으로 가상 머신 템플릿을 openshift 네임스페이스에 배포합니다. openshift 네임스페이스의 템플릿은 모든 사용자가 공개적으로 사용할 수 있습니다. 이러한 템플릿은 다른 운영 체제의 가상화템플릿 페이지에 나열됩니다.

11.4.1. 템플릿에 대한 사용자 정의 네임스페이스 생성

해당 템플릿에 액세스할 수 있는 권한이 있는 모든 사용자가 사용할 가상 머신 템플릿을 배포하는 데 사용되는 사용자 지정 네임스페이스를 생성할 수 있습니다. 사용자 지정 네임스페이스에 템플릿을 추가하려면 HyperConverged CR(사용자 정의 리소스)을 편집하고, spec에 commonTemplatesNamespace 를 추가하고, 가상 머신 템플릿의 사용자 지정 네임스페이스를 지정합니다. HyperConverged CR이 수정되면 ssp-operator 에서 사용자 정의 네임스페이스에 템플릿을 채웁니다.

사전 요구 사항

  • OpenShift Container Platform CLI oc를 설치합니다.
  • cluster-admin 권한이 있는 사용자로 로그인합니다.

절차

  • 다음 명령을 사용하여 사용자 정의 네임스페이스를 생성합니다.

    $ oc create namespace <mycustomnamespace>

11.4.2. 사용자 정의 네임스페이스에 템플릿 추가

ssp-operator 는 기본적으로 가상 머신 템플릿을 openshift 네임스페이스에 배포합니다. openshift 네임스페이스의 템플릿은 모든 사용자에게 공개적으로 사용할 수 있습니다. 사용자 정의 네임스페이스가 생성되고 해당 네임스페이스에 템플릿이 추가되면 openshift 네임스페이스에서 가상 머신 템플릿을 수정하거나 삭제할 수 있습니다. 사용자 지정 네임스페이스에 템플릿을 추가하려면 ssp-operator 가 포함된 HyperConverged CR(사용자 정의 리소스)을 편집합니다.

절차

  1. openshift 네임스페이스에서 사용 가능한 가상 머신 템플릿 목록을 확인합니다.

    $ oc get templates -n openshift
  2. 다음 명령을 실행하여 기본 편집기에서 HyperConverged CR을 편집합니다.

    $ oc edit hco -n openshift-cnv kubevirt-hyperconverged
  3. 사용자 정의 네임스페이스에서 사용 가능한 가상 머신 템플릿 목록을 확인합니다.

    $ oc get templates -n customnamespace
  4. commonTemplatesNamespace 특성을 추가하고 사용자 정의 네임스페이스를 지정합니다. 예제:

    apiVersion: hco.kubevirt.io/v1beta1
    kind: HyperConverged
    metadata:
      name: kubevirt-hyperconverged
    spec:
      commonTemplatesNamespace: customnamespace 1
    1
    템플릿을 배포하기 위한 사용자 지정 네임스페이스입니다.
  5. 변경 사항을 저장하고 편집기를 종료합니다. ssp-operator 는 기본 openshift 네임스페이스에 존재하는 가상 머신 템플릿을 사용자 정의 네임스페이스에 추가합니다.

11.4.2.1. 사용자 정의 네임스페이스에서 템플릿 삭제

사용자 지정 네임스페이스에서 가상 머신 템플릿을 삭제하려면 HyperConverged CR(사용자 정의 리소스)에서 commonTemplateNamespace 특성을 제거하고 해당 사용자 정의 네임스페이스에서 각 템플릿을 삭제합니다.

절차

  1. 다음 명령을 실행하여 기본 편집기에서 HyperConverged CR을 편집합니다.

    $ oc edit hco -n openshift-cnv kubevirt-hyperconverged
  2. commonTemplateNamespace 특성을 제거합니다.

    apiVersion: hco.kubevirt.io/v1beta1
    kind: HyperConverged
    metadata:
      name: kubevirt-hyperconverged
    spec:
      commonTemplatesNamespace: customnamespace 1
    1
    삭제할 commonTemplatesNamespace 속성입니다.
  3. 제거된 사용자 정의 네임스페이스에서 특정 템플릿을 삭제합니다.

    $ oc delete templates -n customnamespace <template_name>

검증

  • 템플릿이 사용자 지정 네임스페이스에서 삭제되었는지 확인합니다.

    $ oc get templates -n customnamespace

11.4.2.2. 추가 리소스