Nachdem ein vSphere-Administrator einem Namespace oder Cluster Inhaltsbibliotheken zugewiesen hat, können DevOps-Benutzer auf die Bibliothek zugreifen und ihre Elemente zum Bereitstellen von VMs aus VM-Images in der Bibliothek verwenden. Wenn die dem Namespace zugewiesene Bibliothek beschreibbar ist, können DevOps-Benutzer mit Bearbeitungsberechtigungen auch die Bibliothekselemente verwalten und neue VM-Images veröffentlichen.

Hinweis: Es gibt keine Einschränkungen für die von Ihnen verwendeten VM-Images. Wenn Sie einsatzbereite OVA-Images testen möchten, können Sie sie von der Seite Empfohlene Images herunterladen. Beachten Sie, dass diese Images nur für die POC-Verwendung vorgesehen sind. Erstellen Sie in der Produktionsumgebung Images mit den neuesten Patches und erforderlichen Sicherheitseinstellungen, die den Unternehmenssicherheitsrichtlinien folgen.

Voraussetzungen

Stellen Sie als DevOps-Benutzer sicher, dass sie die folgenden Anforderungen erfüllen:

Prozedur

  1. Verwalten Sie die Bibliothekselemente.
    1. Stellen Sie sicher, dass die Inhaltsbibliotheken im Namespace verfügbar sind.
      Hinweis: Wenn Sie Bibliothekselemente in der Bibliothek verwalten oder VM-Images in der Bibliothek veröffentlichen möchten, stellen Sie sicher, dass ihr beschreibbarer Status "true" lautet.
      kubectl get cl -n <namespace-name>
         NAME                   VSPHERENAME   TYPE    WRITABLE   STORAGETYPE   AGE
         cl-b585915ddxxxxxxxx   Test-ns-cl-1  Local   true       Datastore     3m9s
         cl-535d4b3dnxxxyyyyy   Test-ns-cl-1  Local   false      Datastore     3m9s
    2. Überprüfen Sie die Inhalte der Bibliothek.
      kubectl get clitem -n <namespace-name>
       NAME                 VSPHERENAME     CONTENTLIBRAYREF        TYPE   READY   AGE
       clitem-d2wnmq.....   item 1          cl-b585915ddxxxxxxxx    Ovf    True    26c
       clitem-55088d.....   item 2          cl-b585915ddxxxxxxxx    Ovf    True    26c
       clitem-xyzxyz.....   xyzxyz          cl-535d4b3dnxxxyyyyy    Ovf    True    26c
    3. Löschen Sie ein Image aus der Inhaltsbibliothek.
      Hinweis: Sie können ein Element nur aus der Bibliothek löschen, die beschreibbar ist und wenn Sie über Edit-Berechtigungen oder Berechtigungen einer höheren Ebene verfügen.
      Nachdem Sie das clitem gelöscht haben, wird auch die entsprechende vmi-Ressource gelöscht.
      kubectl delete clitem clitem-55088d.....
       NAME                 VSPHERENAME     CONTENTLIBRAYREF        TYPE   READY   AGE
       clitem-d2wnmq.....   item 1          cl-b585915ddxxxxxxxx    Ovf    True    26c
       clitem-xyzxyz.....   xyzxyz          cl-535d4b3dnxxxyyyyy    Ovf    True    26c
    4. Rufen Sie Image-Details ab.
      kubectl get vmi -n <namespace-name>
       NAME              PROVIDER-NAME      CONTENT-LIBRAY-NAME    IMAGE-NAME VERSION   OS-TYPE        FORMAT   AGE
       vmi-d2wnmq.....   clitem-d2wnmq..... cl-b585915ddxxxxxxxx   item 1               ubuntu64guest  ovf      26c
       vmi-55088d.....   clitem-55088d..... cl-b585915ddxxxxxxxx   item 2               otherguest     ovf      26c
  2. Veröffentlichen Sie ein Image in der Inhaltsbibliothek.
    1. Erstellen Sie eine YAML-Datei, um eine Quell-VM bereitzustellen.
      Stellen Sie sicher, dass imageName in der VirtualMachine-Spezifikation auf eines der VM-Images aus der Inhaltsbibliothek verweist.
      Beispiel: source-vm.yaml.
      apiVersion: vmoperator.vmware.com/v1alpha2
      kind: VirtualMachine
      metadata:
        name: source-vm
        namespace: test-publish-ns
      spec:
        className: best-effort-small
        storageClass: wcpglobal-storage-profile
        imageName: vmi-d2wnmq.....
        powerState: poweredOn
        vmMetadata:
          transport: CloudInit
    2. Rufen Sie Informationen über die bereitgestellte VM ab und stellen Sie eine Verbindung zur VM her, um sicherzustellen, dass sie ausgeführt wird.
      Sie erhalten eine Ausgabe ähnlich der Folgenden:
      kubectl get vm -n <namespace-name>
      NAME        POWER-STATE   CLASS             IMAGE           PRIMARY-IP        AGE
      source-vm   poweredOn     best-effort-small vmi-d2wnmq..... 192.168.000.00   9m32s
    3. Erstellen Sie eine Veröffentlichungsanforderung für ein neues Ziel-Image.
      Beispielsweise vmpub.yaml. Geben Sie in der Anforderung den Namen der Quell-VM und der Zielinhaltsbibliothek an, in der Sie Ihr Image veröffentlichen möchten. Stellen Sie sicher, dass die Bibliothek beschreibbar ist.
      apiVersion: vmoperator.vmware.com/v1alpha2
      kind: VirtualMachinePublishRequest
      metadata:
        name: vmpub-1
        namespace: test-publish-ns
      spec:
        source:
          apiVersion: vmoperator.vmware.com/v1alpha2
          kind: VirtualMachine
          name: source-vm # If empty, the name of this VirtualMachinePublishRequest will be used as the source VM name ("vmpub-1" in this example).
        target:
          item:
            name: publish-image-1 # If empty, the target item name is <source-vm-name>-image by default
          location:
            apiVersion: imageregistry.vmware.com/v1alpha2
            kind: ContentLibrary
            name: cl-b585915ddxxxxxxxx
      
    4. Beschreiben Sie die Veröffentlichungsanforderung.
      Stellen Sie sicher, dass die Veröffentlichungsanforderung in einem Ready-Status befindet, wobei ImageName festgelegt ist.
      kubectl describe vmpub vmpub-1 -n <namespace-name>
      ==================
      Status:
        imageName: vmi-12980cddd...
        ready: true
      ==================
    5. Stellen Sie sicher, dass das neue Image zur Inhaltsbibliothek hinzugefügt wird, nachdem die Veröffentlichungsanforderung abgeschlossen ist.
      kubectl get vmi
       NAME              PROVIDER-NAME      CONTENT-LIBRAY-NAME    IMAGE-NAME      VERSION   OS-TYPE        FORMAT   AGE
       vmi-12980cddd..   clitem-12980cddd.. cl-b585915ddxxxxxxxx   publish-image-1           ubuntu64guest  ovf      7m12s
       vmi-d2wnmq.....   clitem-d2wnmq..... cl-b585915ddxxxxxxxx   item 1                    ubuntu64guest  ovf      26m
       vmi-55088d.....   clitem-55088d..... cl-b585915ddxxxxxxxx   item 2                    otherguest     ovf      26m
    Sie können dieses neue Image verwenden, um eine neue VM bereitzustellen.