Chapitre 4. Configurer des machines de calcul multi-architectures sur un cluster OpenShift Container Platform
Un cluster OpenShift Container Platform avec des machines de calcul multi-architecture est un cluster qui prend en charge des machines de calcul avec différentes architectures. Vous pouvez déployer un cluster avec des machines de calcul multi-architecture en créant un cluster provisionné par l'installateur Azure à l'aide du binaire d'installation multi-architecture. Pour l'installation sur Azure, voir Installation d'un cluster sur Azure avec personnalisations.
La fonction d'aperçu technologique des machines de calcul multi-architectures est peu utilisable pour l'installation, la mise à niveau et l'exécution de charges utiles.
Les procédures suivantes expliquent comment générer une image de démarrage arm64
et créer un ensemble de machines de calcul Azure avec l'image de démarrage arm64
. Cela permet d'ajouter arm64
nœuds de calcul à votre cluster et de déployer la quantité souhaitée de arm64
machines virtuelles (VM). Cette section explique également comment mettre à niveau votre cluster existant vers un cluster prenant en charge les machines de calcul multi-architectures. Les clusters avec machines de calcul multi-architecture ne sont disponibles que sur les infrastructures Azure provisionnées par l'installateur avec des machines de plan de contrôle x86_64
.
Les clusters OpenShift Container Platform avec des machines de calcul multi-architecture sur des installations d'infrastructure provisionnées par l'installateur Azure est une fonctionnalité d'aperçu technologique uniquement. Les fonctionnalités de l'aperçu technologique ne sont pas prises en charge par les accords de niveau de service (SLA) de production de Red Hat et peuvent ne pas être complètes sur le plan fonctionnel. Red Hat ne recommande pas de les utiliser en production. Ces fonctionnalités offrent un accès anticipé aux fonctionnalités des produits à venir, ce qui permet aux clients de tester les fonctionnalités et de fournir un retour d'information pendant le processus de développement.
Pour plus d'informations sur la portée de l'assistance des fonctionnalités de l'aperçu technologique de Red Hat, voir Portée de l'assistance des fonctionnalités de l'aperçu technologique.
4.1. Création d'une image de démarrage arm64 à l'aide de la galerie d'images Azure
Pour configurer votre cluster avec des machines de calcul multi-architectures, vous devez créer une image de démarrage arm64
et l'ajouter à votre ensemble de machines de calcul Azure. La procédure suivante décrit comment générer manuellement une image de démarrage arm64
.
Conditions préalables
-
Vous avez installé le CLI Azure (
az
). - Vous avez créé un cluster à architecture unique provisionné par le programme d'installation Azure avec le binaire d'installation multi-architecture.
Procédure
Connectez-vous à votre compte Azure :
$ az login
Créez un compte de stockage et téléchargez le disque dur virtuel (VHD)
arm64
sur votre compte de stockage. Le programme d'installation d'OpenShift Container Platform crée un groupe de ressources, mais l'image de démarrage peut également être téléchargée dans un groupe de ressources personnalisé :$ az storage account create -n ${STORAGE_ACCOUNT_NAME} -g ${RESOURCE_GROUP} -l westus --sku Standard_LRS 1
- 1
- L'objet
westus
est un exemple de région.
Créez un conteneur de stockage en utilisant le compte de stockage que vous avez créé :
$ az storage container create -n ${CONTAINER_NAME} --account-name ${STORAGE_ACCOUNT_NAME}
Vous devez utiliser le fichier JSON du programme d'installation d'OpenShift Container Platform pour extraire l'URL et le nom du VHD
arch64
:Extrayez le champ
URL
et attribuez-lui le nom de fichierRHCOS_VHD_ORIGIN_URL
en exécutant la commande suivante :$ RHCOS_VHD_ORIGIN_URL=$(oc -n openshift-machine-config-operator get configmap/coreos-bootimages -o jsonpath='{.data.stream}' | jq -r '.architectures.aarch64."rhel-coreos-extensions"."azure-disk".url')
Extrayez le nom du VHD
aarch64
et définissez-le àBLOB_NAME
comme nom de fichier en exécutant la commande suivante :$ BLOB_NAME=rhcos-$(oc -n openshift-machine-config-operator get configmap/coreos-bootimages -o jsonpath='{.data.stream}' | jq -r '.architectures.aarch64."rhel-coreos-extensions"."azure-disk".release')-azure.aarch64.vhd
Générer un jeton de signature d'accès partagé (SAS). Utilisez ce jeton pour télécharger le VHD RHCOS dans votre conteneur de stockage à l'aide des commandes suivantes :
$ end=`date -u -d "30 minutes" '+%Y-%m-%dT%H:%MZ'`
$ sas=`az storage container generate-sas -n ${CONTAINER_NAME} --account-name ${STORAGE_ACCOUNT_NAME} --https-only --permissions dlrw --expiry $end -o tsv`
Copiez le VHD RHCOS dans le conteneur de stockage :
$ az storage blob copy start --account-name ${STORAGE_ACCOUNT_NAME} --sas-token "$sas" \ --source-uri "${RHCOS_VHD_ORIGIN_URL}" \ --destination-blob "${BLOB_NAME}" --destination-container ${CONTAINER_NAME}
Vous pouvez vérifier l'état du processus de copie à l'aide de la commande suivante :
$ az storage blob show -c ${CONTAINER_NAME} -n ${BLOB_NAME} --account-name ${STORAGE_ACCOUNT_NAME} | jq .properties.copy
Exemple de sortie
{ "completionTime": null, "destinationSnapshot": null, "id": "1fd97630-03ca-489a-8c4e-cfe839c9627d", "incrementalCopy": null, "progress": "17179869696/17179869696", "source": "https://rhcos.blob.core.windows.net/imagebucket/rhcos-411.86.202207130959-0-azure.aarch64.vhd", "status": "success", 1 "statusDescription": null }
- 1
- Si le paramètre d'état affiche l'objet
success
, le processus de copie est terminé.
Créez une galerie d'images à l'aide de la commande suivante :
$ az sig create --resource-group ${RESOURCE_GROUP} --gallery-name ${GALLERY_NAME}
Utilisez la galerie d'images pour créer une définition d'image. Dans l'exemple de commande suivant,
rhcos-arm64
est le nom de la définition d'image.$ az sig image-definition create --resource-group ${RESOURCE_GROUP} --gallery-name ${GALLERY_NAME} --gallery-image-definition rhcos-arm64 --publisher RedHat --offer arm --sku arm64 --os-type linux --architecture Arm64 --hyper-v-generation V2
Pour obtenir l'URL du VHD et lui attribuer le nom de fichier
RHCOS_VHD_URL
, exécutez la commande suivante :$ RHCOS_VHD_URL=$(az storage blob url --account-name ${STORAGE_ACCOUNT_NAME} -c ${CONTAINER_NAME} -n "${BLOB_NAME}" -o tsv)
Utilisez le fichier
RHCOS_VHD_URL
, votre compte de stockage, votre groupe de ressources et votre galerie d'images pour créer une version d'image. Dans l'exemple suivant,1.0.0
est la version de l'image.$ az sig image-version create --resource-group ${RESOURCE_GROUP} --gallery-name ${GALLERY_NAME} --gallery-image-definition rhcos-arm64 --gallery-image-version 1.0.0 --os-vhd-storage-account ${STORAGE_ACCOUNT_NAME} --os-vhd-uri ${RHCOS_VHD_URL}
Votre image de démarrage
arm64
est maintenant générée. Vous pouvez accéder à l'ID de votre image avec la commande suivante :$ az sig image-version show -r $GALLERY_NAME -g $RESOURCE_GROUP -i rhcos-arm64 -e 1.0.0
L'exemple suivant d'ID d'image est utilisé dans le paramètre
recourseID
de l'ensemble de machines de calcul :Exemple
resourceID
/resourceGroups/${RESOURCE_GROUP}/providers/Microsoft.Compute/galleries/${GALLERY_NAME}/images/rhcos-arm64/versions/1.0.0