Configurer le plan de données
En utilisant un fichier yaml préconfiguré (files/osp-ng-dataplane-netconfig.yaml), nous allons configurer la topologie pour chaque réseau du plan de données.
Changez de répertoire vers les fichiers:
cd ~/labrepo/content/files
Appliquez la configuration réseau:
oc apply -f osp-ng-dataplane-netconfig.yaml
Créer une VM pour le plan de données
Déconnectez-vous du bastion pour revenir à la machine hyperviseur:
logout
[lab-user@hypervisor ~]#
Créez le noeud compute en machine virtuelle sur l’hyperviseur :
sudo -i
cd /var/lib/libvirt/images
cp rhel-9.4-x86_64-kvm.qcow2 rhel9-guest.qcow2
qemu-img info rhel9-guest.qcow2
qemu-img resize rhel9-guest.qcow2 +90G
chown -R qemu:qemu rhel9-*.qcow2
virt-customize -a rhel9-guest.qcow2 --run-command 'growpart /dev/sda 4'
virt-customize -a rhel9-guest.qcow2 --run-command 'xfs_growfs /'
virt-customize -a rhel9-guest.qcow2 --root-password password:redhat
virt-customize -a rhel9-guest.qcow2 --run-command 'systemctl disable cloud-init'
virt-customize -a /var/lib/libvirt/images/rhel9-guest.qcow2 --ssh-inject root:file:/root/.ssh/id_rsa.pub
virt-customize -a /var/lib/libvirt/images/rhel9-guest.qcow2 --selinux-relabel
qemu-img create -f qcow2 -F qcow2 -b /var/lib/libvirt/images/rhel9-guest.qcow2 /var/lib/libvirt/images/osp-compute-0.qcow2
virt-install --virt-type kvm --ram 16384 --vcpus 4 --cpu=host-passthrough --os-variant rhel8.4 --disk path=/var/lib/libvirt/images/osp-compute-0.qcow2,device=disk,bus=virtio,format=qcow2 --network network:ocp4-provisioning --network network:ocp4-net --boot hd,network --noautoconsole --vnc --name osp-compute0 --noreboot
virsh start osp-compute0
Connecter vous sur le noeud compute et vérifier
Vérifiez l’adresse IP à partir de 192.168.123.0/24
watch virsh domifaddr osp-compute0 --source agent
Every 2.0s: virsh domifaddr osp-compute0 --source agent hypervisor: Wed Apr 17 07:03:13 2024
Name MAC address Protocol Address
-------------------------------------------------------------------------------
lo 00:00:00:00:00:00 ipv4 127.0.0.1/8
- - ipv6 ::1/128
eth0 52:54:00:c0:0a:26 ipv4 172.22.0.202/24
- - ipv6 fe80::16:d083:92f4:f201/64
eth1 52:54:00:e5:ce:09 ipv4 192.168.123.61/24
- - ipv6 fe80::bfc0:e5db:a655:729f/64
(CTRL + C pour continuer)
virsh domifaddr osp-compute0 --source agent
Utilisez l’adresse IP attribuée à eth1
ci-dessus à l’étape suivante.
Configurer les périphériques Ethernet sur le noeud compute.
Connectez-vous en SSH à la nouvelle VM. Il n’y a pas de mot de passe.
ssh root@192.168.123.61
sudo hostnamectl set-hostname edpm-compute-0.aio.example.com
nmcli co delete 'Wired connection 1'
nmcli con add con-name "static-eth0" ifname eth0 type ethernet ip4 172.22.0.100/24 ipv4.dns "172.22.0.89"
nmcli con up "static-eth0"
nmcli co delete 'Wired connection 2'
nmcli con add con-name "static-eth1" ifname eth1 type ethernet ip4 192.168.123.61/24 ipv4.dns "192.168.123.100" ipv4.gateway "192.168.123.1"
nmcli con up "static-eth1"
Et déconnectez-vous de la VM
logout
Capturer un instantané du noeud compute
virsh snapshot-create-as osp-compute0 preprovisioned
Définir la clé SSH
sudo -i
scp /root/.ssh/id_rsa root@192.168.123.100:/root/.ssh/id_rsa_compute
scp /root/.ssh/id_rsa.pub root@192.168.123.100:/root/.ssh/id_rsa_compute.pub
AVERTISSEMENT : cette erreur peut initialement se produire en raison d’un fichier hosts inconnu. Réessayez pour vous assurer que les deux fichiers sont copiés.
Terminer le plan de données
Connectez-vous au serveur bastion (n’oubliez pas que le mot de passe du bastion est redhat) :
sudo -i
ssh root@192.168.123.100
[root@ocp4-bastion ~] #
Changer le répertoire
cd ~/labrepo/content/files
Créer un secret pour la connexion ansible et la migration nova des machines virtuelles
oc create secret generic dataplane-ansible-ssh-private-key-secret --save-config --dry-run=client --from-file=authorized_keys=/root/.ssh/id_rsa_compute.pub --from-file=ssh-privatekey=/root/.ssh/id_rsa_compute --from-file=ssh-publickey=/root/.ssh/id_rsa_compute.pub -n openstack -o yaml | oc apply -f-
ssh-keygen -f ./id -t ecdsa-sha2-nistp521 -N ''
oc create secret generic nova-migration-ssh-key --from-file=ssh-privatekey=id --from-file=ssh-publickey=id.pub -n openstack -o yaml | oc apply -f-
Créez un secret pour le gestionnaire d’abonnements et un secret pour le registre Red Hat :
echo -n "your_username" | base64
echo -n "your_password" | base64
oc apply -f - <<EOF
apiVersion: v1
kind: Secret
metadata:
name: subscription-manager
data:
username: <base64 encoded subscription-manager username>
password: <base64 encoded subscription-manager password>
EOF
Créez un secret pour le gestionnaire d’abonnements et un secret pour le registre Red Hat :
Ajoutez votre nom d’utilisateur et votre mot de passe |
oc create secret generic redhat-registry --from-literal edpm_container_registry_logins='{"registry.redhat.io": {"<username>": "<password>"}}' -n openstack
Déployer le plan de données
oc apply -f osp-ng-dataplane-node-set-deploy.yaml
oc apply -f osp-ng-dataplane-deployment.yaml
Vous pouvez afficher les journaux Ansible pendant l’exécution du déploiement :
oc logs -l app=openstackansibleee -f --max-log-requests 10
(...) PLAY RECAP ********************************************************************* edpm-compute-0 : ok=53 changed=26 unreachable=0 failed=0 skipped=54 rescued=0 ignored=0
Ctrl-C pour quitter.
Vérifiez que le plan de données est déployé.
REMARQUE : Cela prend plusieurs minutes.
oc get openstackdataplanedeployment
Répétez la requête jusqu’à ce que vous voyiez ce qui suit :
NAME STATUS MESSAGE openstack-edpm-ipam True Setup Complete
oc get openstackdataplanenodeset
Répétez la requête jusqu’à ce que vous voyiez ce qui suit :
NAME STATUS MESSAGE openstack-edpm-ipam True NodeSet Ready