Configurazione della virtualizzazione su un'ubicazione Satellite

È possibile configurare l' Bare Metal Servers per utilizzare la virtualizzazione " Red Hat OpenShift " nella propria sede Satellite. Grazie alla virtualizzazione, è possibile configurare macchine virtuali Windows o di altro tipo sul proprio Bare Metal Servers all’interno di uno spazio gestito Red Hat OpenShift.

Sistemi operativi host supportati
Red Hat CoreOS (RHCOS)

Prerequisiti

  • Creare un'ubicazione abilitata per RHCOS. Per verificare se la tua posizione è abilitata per RHCOS, consulta La mia posizione è abilitata per Red Hat CoreOS?. Se la tua ubicazione non è abilitata, creane una nuova con RHCOS.
  • Collega gli host alla propria ubicazione e configura il tuo piano di controllo dell'ubicazione.
  • Trova e registra il tuo nome host bare metal.
  • Trova le informazioni di rete del server bare metal. Registrare le informazioni CIDR e gateway per le interfacce pubbliche e private per il sistema.
  • Se vuoi utilizzare IBM Cloud Object Storage per archiviare il tuo file Ignition, crea o identifica un bucket.
  • Crea o identifica un cluster nell'ubicazione Satellite che esegue un sistema operativo supportato; ad esempio, questa esercitazione utilizza un cluster Red Hat OpenShift su cui è in esecuzione 4.11.
  • Se vuoi utilizzare OpenShift Data Foundation come tua soluzione di archiviazione, aggiungi 2 dischi di archiviazione a ciascuno dei tuoi Bare Metal Servers quando ne esegui il provisioning.

Bare Metal Server requisiti per Satellite

Per configurare la virtualizzazione, il tuo Bare Metal Server deve soddisfare i seguenti requisiti.

  • Deve supportare la tecnologia di virtualizzazione.
    • Per le CPU Intel, il supporto per la virtualizzazione è indicato come Intel VT o VT-x.
    • Per le CPU AMD, il supporto per la virtualizzazione è indicato come AMD Virtualization o AMD-V.
  • Deve avere un minimo di 8 core e 32 GB di RAM, più eventuali core aggiuntivi di cui hai bisogno per il tuo overhead vCPU. Per ulteriori informazioni, vedi Overhead CPU nella documentazione Red Hat OpenShift.
  • Deve includere memoria sufficiente per le esigenze del carico di lavoro. Ad esempio: 360 MiB + (1.002 * requested memory) + 146 MiB + 8 MiB * (number of vCPUs) + 16 MiB * (number of graphics devices). Per ulteriori informazioni, vedi Memory overhead nella documentazione Red Hat OpenShift.
  • Nessun sistema operativo installato. Il sistema operativo Red Hat CoreOS viene installato successivamente in questo processo.
  • Se vuoi utilizzare OpenShift Data Foundation come tua soluzione di archiviazione, aggiungi 2 dischi di archiviazione a ciascuno dei tuoi Bare Metal Servers quando ne esegui il provisioning.

Se i tuoi server non soddisfano questi requisiti, puoi creare un Bare Metal Server. Per un elenco di opzioni bare metal, vedi Opzioni disponibili per un server bare metal.

Collegamento di server bare metal alla tua ubicazione

Segui questi passi generali per collegare i tuoi server bare metal alla tua ubicazione. Questi passi possono variare, a seconda dell'hardware specifico. Per un'esercitazione completa, vedi Attaching IBM Cloud Bare Metal Servers for Classic hosts.

  1. Scarica una ISO Red Hat CoreOS. Trova la versione ISO corrispondente che corrisponde alla versione Red Hat OpenShift che vuoi utilizzare. Ad esempio, se si desidera utilizzare la versione 4.11, scaricare una versione di RHCOS per 4.11, come rhcos-4.11.9-x86_64-live.x86_64.iso.

  2. Accedi al tuo server bare metal.

  3. Nelle impostazioni BIOS, verificare che la virtualizzazione sia abilitata.

  4. Imposta il tuo ordine di avvio per avviare il file ISO Red Hat CoreOS che hai scaricato nel passo 1.

  5. Avviare il sistema per installare l'ISO.

  6. Dopo che Red Hat CoreOS è stato avviato in memoria, configura le connessioni di rete in modo da poter fornire il file di accensione dell'ubicazione e collegare il server alla tua ubicazione.

  7. Scarica lo script di accensione per la tua ubicazione Satellite.

    ibmcloud sat host attach --location LOCATION_NAME --operating-system RHCOS
    
  8. Modifica il tuo file Ignition per includere il nome host bare metal e le informazioni di rete. Per ulteriori informazioni sull'aggiunta di questi dettagli, vedi Configurazione del tuo file Ignition. Nota che devi modificare il file Ignition per ogni server bare metal che vuoi collegare alla tua posizione.

  9. Metti il tuo file Ignition in un'ubicazione che il tuo server bare metal può raggiungere. Ad esempio, puoi caricarlo in un bucket IBM Cloud Object Storage.

  10. Scarica lo script di accensione sul server bare metal.

    curl <ignition_file_location > ignition.ign
    
  11. Eseguire il seguente comando install per avviare il file Ignition. Sostituisci <diskName> con il percorso completo dell'ubicazione del disco in cui vuoi che sia installato Red Hat CoreOS e sostituisci <filename> con il percorso del file Ignition.

    sudo coreos-installer install <diskName> --ignition-file <filename>
    

    Il completamento del processo di installazione può richiedere un'ora o due.

  12. Una volta completata l'installazione, scollegare il file ISO RHCOS e riavviare dal disco fisso.

  13. Controlla la tua ubicazione Satellite per verificare che il tuo server bare metal sia collegato.

  14. Ripeti questi passi per ciascun host bare metal che vuoi collegare alla tua ubicazione.

Assegnazione di un host Bare Metal Server al cluster Red Hat OpenShift

Dopo che il tuo Bare Metal Server viene collegato alla tua ubicazione, puoi assegnarlo a un pool di lavoro del cluster Red Hat OpenShift.

  1. Trova gli host da aggiungere al pool di lavoro del cluster Red Hat OpenShift.

    ibmcloud sat hosts --location LOCATION_ID
    
  2. Assegna il Bare Metal Server al pool di lavoro cluster Red Hat OpenShift.

    ibmcloud sat host assign --location LOCATION_ID --cluster CLUSTER_ID --host HOST_ID --worker-pool default --zone ZONE
    

Ripeti questi passaggi per assegnare altri server Bare Metal Servers al tuo cluster.

Ora che il tuo Bare Metal Server viene assegnato a un pool di nodi di lavoro, puoi configurare la virtualizzazione Red Hat OpenShift.

Configurazione dell'archiviazione per il tuo cluster

In questo scenario di esempio, distribuisci OpenShift Data Foundation su 3 nodi nel cluster scoprendo automaticamente i dischi di archiviazione disponibili sul tuo Bare Metal Servers.

Dopo aver collegato almeno 3 Bare Metal Servers alla tua ubicazione e averli assegnati come nodi di lavoro nel tuo cluster, puoi distribuire OpenShift Data Foundation utilizzando il template di archiviazione odf-local Satellite.

  1. Dalla console delle ubicazioniSatellite, fai clic sulla tua ubicazione, quindi fai clic su Storage> Create storage configuration.
  2. Assegna un nome alla tua configurazione.
  3. Seleziona OpenShift Data Foundation for local devices e seleziona la versione 4.10.
  4. Per questo esempio, lasciare le altre impostazioni predefinite e fare clic su Avanti.
  5. Attendere la distribuzione di ODF. Quindi, verifica che i pod siano pronti elencando i pod nello spazio dei nomi openshift-storage.
    oc get pods -n openshift-storage
    
    Output di esempio
    NAME                                                              READY   STATUS      RESTARTS   AGE
    ocs-metrics-exporter-5b85d48d66-lwzfn                             1/1     Running     0          2d1h
    ocs-operator-86498bf74c-qcgvh                                     1/1     Running     0          2d1h
    odf-console-68bcd54c7c-5fvkq                                      1/1     Running     0          2d1h
    rook-ceph-mgr-a-758845d77c-xjqkg                                  2/2     Running     0          2d1h
    rook-ceph-mon-a-85d65d9f66-crrhb                                  2/2     Running     0          2d1h
    rook-ceph-mon-b-74fd78856d-s2pdf                                  2/2     Running     0          2d1h
    rook-ceph-mon-c-76f9b8b5f9-gqcm4                                  2/2     Running     0          2d1h
    rook-ceph-operator-5d659cb494-ctkx6                               1/1     Running     0          2d1h
    rook-ceph-osd-0-846cf86f79-z97mc                                  2/2     Running     0          2d1h
    rook-ceph-osd-1-7f79ccf77d-8g4cn                                  2/2     Running     0          2d1h
    rook-ceph-osd-2-549cc486b4-7wf5k                                  2/2     Running     0          2d1h
    rook-ceph-osd-prepare-ocs-deviceset-0-data-0z6pn9-6fwqr           0/1     Completed   0          10d
    rook-ceph-osd-prepare-ocs-deviceset-1-data-0kkxrw-cppk9           0/1     Completed   0          10d
    rook-ceph-osd-prepare-ocs-deviceset-2-data-0pxktc-xm2rc           0/1     Completed   0          10d
    rook-ceph-rgw-ocs-storagecluster-cephobjectstore-a-54c58859nc8j   2/2     Running     0          2d1h
    ...
    ...
    

Installazione dell'operatore di virtualizzazione

Attieniti alla procedura per Installare Red Hat OpenShift Virtualizzazione utilizzando la CLI.

Configurazione della CLI di virtctl

Attieniti alla procedura per scaricare e installare lo strumento CLI virtctl.

Creazione di un volume dati per la tua macchina virtuale

Dopo aver distribuito OpenShift Data Foundation, puoi utilizzare la classe di archiviazione sat-ocs-ceprbd-gold per creare un volume di dati per utilizzare l'archiviazione per la tua VM (Virtual Machine).

  1. Copiare il volume di dati di esempio riportato di seguito e salvarlo in un file denominato datavol.yaml.
    apiVersion: cdi.kubevirt.io/v1beta1
    kind: DataVolume
    metadata:
      name: fedora-1
      namespace: default
    spec:
      source:
        registry:
          pullMethod: node
          url: docker://quay.io/containerdisks/fedora@sha256:29b80ef738f9b09c19efc245aac3921deab9acd542c886cf5295c94ab847dfb5
      pvc:
        accessModes:
          - ReadWriteMany
        resources:
          requests:
            storage: 10Gi
        volumeMode: Block
        storageClassName: sat-ocs-cephrbd-gold
    
  2. Creare il volume di dati.
    oc apply -f datavol.yaml
    
  3. Verifica che il volume di dati e la PVC corrispondente siano stati creati.
    oc get dv,pvc -n default
    
    Output di esempio.
    NAME                                  PHASE       PROGRESS   RESTARTS   AGE
    datavolume.cdi.kubevirt.io/fedora-1   Succeeded   100.0%                16h
    NAME                             STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS           AGE
    persistentvolumeclaim/fedora-1   Bound    pvc-fd8b1a5b-cc32-42bd-95d0-4ccf2e40bca7   10Gi       RWX            sat-ocs-cephrbd-gold   16h
    

Creazione di una macchina virtuale

  1. Copiare la configurazione VirtualMachine riportata di seguito e salvarla in un file denominato vm.yaml. Nota che puoi anche creare macchine virtuali tramite la console Web OpenShift.

    apiVersion: kubevirt.io/v1
    kind: VirtualMachine
    metadata:
      labels:
        app: fedora-1
      name: fedora-1
      namespace: default
    spec:
      running: false
      template:
        metadata:
          labels:
            kubevirt.io/domain: fedora-1
        spec:
          domain:
            cpu:
              cores: 1
              sockets: 2
              threads: 1
            devices:
              disks:
              - disk:
                  bus: virtio
                name: rootdisk
              - disk:
                  bus: virtio
                name: cloudinitdisk
              interfaces:
              - masquerade: {}
                name: default
              rng: {}
            features:
              smm:
                enabled: true
            firmware:
              bootloader:
                efi: {}
            resources:
              requests:
                memory: 8Gi
          evictionStrategy: LiveMigrate
          networks:
          - name: default
            pod: {}
          volumes:
          - dataVolume:
              name: fedora-1
            name: rootdisk
          - cloudInitNoCloud:
              userData: |-
                #cloud-config
                user: cloud-user
                password: 'fedora-1-password'
                chpasswd: { expire: False }
            name: cloudinitdisk
    
  2. Creare la macchina virtuale nel cluster.

    oc apply -f vm.yaml
    
  3. Avviare la macchina virtuale.

    virtctl start fedora-1 -n default
    
  4. Verificare che la macchina virtuale sia in esecuzione.

    oc get vm -n default
    

    Output di esempio.

    NAME                                  AGE   STATUS    READY
    virtualmachine.kubevirt.io/fedora-1   16h   Running   True
    
  5. Dalla console web di OpenShift, accedi al tuo VM utilizzando il nome utente e la password che hai specificato nella configurazione di VirtualMachine. Ad esempio, user: cloud-user e password: 'fedora-1-password'.

Congratulazioni! Hai appena distribuito una macchina virtuale Fedora sul tuo cluster Satellite.

Puoi trovare ulteriori informazioni su cosa fare successivamente nel OpenShift Virtualization Hands-on Lab.

Ulteriori risorse