Configurando a virtualização em um local Satellite

Você pode configurar seu Bare Metal Servers para utilizar a virtualização Red Hat OpenShift em seu endereço Satellite. Ao utilizar a virtualização, você pode provisionar máquinas virtuais do Windows ou de outros sistemas no seu Bare Metal Servers em um espaço gerenciado Red Hat OpenShift.

Sistemas operacionais host suportados
Red Hat CoreOS (RHCOS)

Pré-requisitos

  • Crie um local habilitado para RHCOS. Para verificar se sua localização está habilitada para RHCOS, consulte Minha localização está habilitada para Red Hat CoreOS?. Se o seu local não estiver ativado, crie um novo com RHCOS.
  • Associe hosts ao seu local e configure o seu plano de controle de localização.
  • Encontre e registre seu nome de host bare metal.
  • Encontre suas informações de rede de servidor bare metal. Registre as informações do CIDR e do gateway para as interfaces públicas e privadas para o seu sistema.
  • Se você quiser usar IBM Cloud Object Storage para armazenar o seu arquivo de ignição, crie ou identifique um balde.
  • Crie ou identifique um cluster dentro do local do Satellite que executa um sistema operacional suportado; por exemplo, este tutorial usa um cluster do Red Hat OpenShift que está executando o 4.11.
  • Para usar o OpenShift Data Foundation como sua solução de armazenamento, inclua 2 discos de armazenamento em cada um de seus Bare Metal Servers ao provisioná-los.

Bare Metal Server requisitos para Satellite

Para configurar a virtualização, seu Bare Metal Server deve atender aos requisitos a seguir.

  • Deve apoiar a tecnologia de virtualização.
    • Para CPUs Intel, o suporte para virtualização é referido como Intel VT ou VT-x.
    • Para CPUs AMD, o suporte para virtualização é referido como AMD Virtualization ou AMD-V.
  • Deve ter um mínimo de 8 núcleos e 32 GB de RAM, além de quaisquer núcleos adicionais que você precisa para sua sobrecarga de vCPU. Para obter mais informações, consulte sobrecarga da CPU nos documentos do Red Hat OpenShift.
  • Deve incluir memória suficiente para suas necessidades de carga de trabalho. Por exemplo: 360 MiB + (1.002 * requested memory) + 146 MiB + 8 MiB * (number of vCPUs) + 16 MiB * (number of graphics devices). Para obter mais informações, consulte overhead de memória nos docs Red Hat OpenShift.
  • Nenhum sistema operacional instalado. O sistema operacional Red Hat CoreOS é instalado posteriormente neste processo..
  • Para usar o OpenShift Data Foundation como sua solução de armazenamento, inclua 2 discos de armazenamento em cada um de seus Bare Metal Servers ao provisioná-los.

Se seus servidores não atenderem a esses requisitos, você pode criar um Bare Metal Server. Para uma lista de opções de bare metal, veja Opções disponíveis para um servidor bare metal.

Conectando servidores bare metal à sua localização

Siga estas etapas gerais para anexar seus servidores bare metal em sua localização. As etapas variam de acordo com o seu hardware específico. Para um tutorial completo, consulte Anexando IBM Cloud Bare Metal Servers for Classic.

  1. Faça download de um Red Hat CoreOS ISO. Encontre a versão ISO correspondente que corresponde à versão Red Hat OpenShift que você deseja usar. Por exemplo, se desejar usar a versão 4.11, faça download de uma versão do RHCOS para 4.11, como rhcos-4.11.9-x86_64-live.x86_64.iso.

  2. Faça login em seu servidor bare metal.

  3. Nas configurações do BIOS, certifica-se de que a virtualização está ativada.

  4. Configure sua ordem de inicialização para inicializar o arquivo ISO do Red Hat CoreOS transferido por download na etapa 1.

  5. Boot seu sistema para instalar o ISO.

  6. Após o Red Hat CoreOS ser inicializado na memória, configure conexões de rede para que seja possível fornecer o arquivo de ignição do local e conectar o servidor ao seu local.

  7. Baixe o script de inicialização para a sua localização do Satellite.

    ibmcloud sat host attach --location LOCATION_NAME --operating-system RHCOS
    
  8. Edite seu arquivo de ignição para incluir o nome do host bare metal e informações de rede. Para obter mais informações sobre a inclusão desses detalhes, veja Configurando o seu arquivo de ignição. Note que você deve editar o arquivo de ignição para cada servidor bare metal que você deseja anexar em sua localização.

  9. Coloque o seu arquivo de ignição em um local que seu servidor bare metal pode alcançar. Por exemplo, você pode fazer o upload dele para um balde IBM Cloud Object Storage.

  10. Baixe o script de ignição para o seu servidor bare metal.

    curl <ignition_file_location > ignition.ign
    
  11. Execute o comando install a seguir para iniciar o arquivo de ignição. Substitua <diskName> pelo caminho completo do local do disco no qual você deseja Red Hat CoreOS instalado e substitua <filename> pelo caminho do arquivo de ignição.

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

    O processo de instalação pode levar uma hora ou duas para ser concluído.

  12. Após a instalação ser concluída, desplugue o seu arquivo RHCOS ISO e reinicialize do seu disco rígido.

  13. Verifique o seu local Satellite para confirmar se o seu servidor bare metal está conectado.

  14. Repita essas etapas para cada host bare metal que você deseja associar ao seu local.

Assinando um host Bare Metal Server para o seu cluster Red Hat OpenShift

Depois que o seu Bare Metal Server estiver conectado ao seu local, você pode atribui-lo a um conjunto de trabalhadores do cluster Red Hat OpenShift.

  1. Encontre os hosts para adicionar ao seu conjunto de trabalhadores do cluster Red Hat OpenShift.

    ibmcloud sat hosts --location LOCATION_ID
    
  2. Designe o Bare Metal Server ao conjunto de trabalhadores do cluster Red Hat OpenShift.

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

Repita essas etapas para atribuir mais Bare Metal Servers ao seu cluster.

Agora que o seu Bare Metal Server é atribuído a um conjunto de trabalhadores, você pode configurar Red Hat OpenShift virtualização.

Configurando o armazenamento para o seu cluster

Neste cenário de exemplo, você implementa o OpenShift Data Foundation em 3 nós no cluster, descobrindo automaticamente os discos de armazenamento disponíveis em seu Bare Metal Servers

Depois de anexar pelo menos 3 Bare Metal Servers a sua localização e designá-los como nós do trabalhador em seu cluster, é possível implementar o OpenShift Data Foundation usando o modelo de armazenamento odf-local Satellite.

  1. A partir do Satellite console de locais, clique em sua localização, em seguida, clique em Armazenamento> Criar configuração de armazenamento.
  2. Dê um nome à sua configuração.
  3. Selecione o OpenShift Data Foundation para dispositivos locais e selecione a versão 4.10
  4. Para este exemplo, deixe o restante das configurações padrão e clique em Avançar.
  5. Aguarde a implantação do ODF. Em seguida, verifique se os pods estão prontos listando os pods no namespace openshift-storage.
    oc get pods -n openshift-storage
    
    Saída de exemplo
    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
    ...
    ...
    

Instalando o operador de virtualização

Siga os passos para Instalar Red Hat OpenShift Virtualização usando a CLI.

Configurando a CLI do virtctl

Siga os passos para baixar e instalar a ferramenta CLI virtctl.

Como criar um volume de dados para sua máquina virtual

Depois de implementar o OpenShift Data Foundation, é possível usar a classe de armazenamento sat-ocs-ceprbd-gold para criar um volume de dados para usar o armazenamento para sua máquina virtual.

  1. Copie o volume de dados de exemplo a seguir e salve-o em um arquivo chamado 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. Crie o volume de dados.
    oc apply -f datavol.yaml
    
  3. Verifique se o volume de dados e o PVC correspondente foram criados
    oc get dv,pvc -n default
    
    Saída de exemplo.
    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
    

Criando uma máquina virtual

  1. Copie a configuração VirtualMachine a seguir e salve-a em um arquivo chamado vm.yaml. Observe que também é possível criar máquinas virtuais por meio do console da web do 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. Crie a máquina virtual em seu cluster.

    oc apply -f vm.yaml
    
  3. Inicie a máquina virtual.

    virtctl start fedora-1 -n default
    
  4. Verifique se a máquina virtual está em execução

    oc get vm -n default
    

    Saída de exemplo.

    NAME                                  AGE   STATUS    READY
    virtualmachine.kubevirt.io/fedora-1   16h   Running   True
    
  5. No console da web do OpenShift, faça login no seu VM usando o nome de usuário e a senha que você especificou na configuração do VirtualMachine. Por exemplo, user: cloud-user e password: 'fedora-1-password'.

Parabéns! Você acabou de implantar uma máquina virtual Fedora em seu cluster Satellite.

É possível localizar mais informações sobre o que fazer a seguir no OpenShift Virtualization Hands-on Lab

Recursos adicionais