Rechercher

12.3. Configuration de l'ensemble des machines du plan de contrôle

download PDF

Ces exemples de fichiers YAML et de snippets illustrent la structure de base d'une ressource personnalisée (CR) d'un ensemble de machines du plan de contrôle, ainsi que des échantillons spécifiques à la plate-forme pour les configurations du domaine de défaillance et de la spécification du fournisseur.

12.3.1. Exemple de YAML pour une ressource personnalisée d'un ensemble de machines de plan de contrôle

La base du ControlPlaneMachineSet CR est structurée de la même manière pour toutes les plateformes.

Exemple de fichier YAML ControlPlaneMachineSet CR

apiVersion: machine.openshift.io/v1
kind: ControlPlaneMachineSet
metadata:
  name: cluster 1
  namespace: openshift-machine-api
spec:
  replicas: 3 2
  selector:
    matchLabels:
      machine.openshift.io/cluster-api-cluster: <cluster_id> 3
      machine.openshift.io/cluster-api-machine-role: master
      machine.openshift.io/cluster-api-machine-type: master
  state: Active 4
  strategy:
    type: RollingUpdate 5
  template:
    machineType: machines_v1beta1_machine_openshift_io
    machines_v1beta1_machine_openshift_io:
      failureDomains:
        platform: <platform> 6
        <platform_failure_domains> 7
      metadata:
        labels:
          machine.openshift.io/cluster-api-cluster: <cluster_id>
          machine.openshift.io/cluster-api-machine-role: master
          machine.openshift.io/cluster-api-machine-type: master
      spec:
        providerSpec:
          value:
            <platform_provider_spec> 8

1
Spécifie le nom du CR ControlPlaneMachineSet, qui est cluster. Ne pas modifier cette valeur.
2
Spécifie le nombre de machines du plan de contrôle. Seuls les clusters avec trois machines de plan de contrôle sont pris en charge, la valeur replicas est donc 3. La mise à l'échelle horizontale n'est pas prise en charge. Ne modifiez pas cette valeur.
3
Spécifie l'ID de l'infrastructure qui est basé sur l'ID du cluster que vous avez défini lors du provisionnement du cluster. Vous devez spécifier cette valeur lorsque vous créez un CR ControlPlaneMachineSet. Si l'OpenShift CLI (oc) est installé, vous pouvez obtenir l'ID d'infrastructure en exécutant la commande suivante :
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
4
Spécifie l'état de l'opérateur. Lorsque l'état est Inactive, l'opérateur n'est pas opérationnel. Vous pouvez activer l'opérateur en réglant la valeur sur Active.
Important

Avant d'activer l'Opérateur, vous devez vous assurer que la configuration de ControlPlaneMachineSet CR est correcte pour les besoins de votre cluster. Pour plus d'informations sur l'activation de l'Opérateur d'ensemble de machines du plan de contrôle, voir "Getting started with control plane machine sets".

5
Spécifie la stratégie de mise à jour pour le cluster. Les valeurs autorisées sont OnDelete et RollingUpdate. La valeur par défaut est RollingUpdate. Pour plus d'informations sur les stratégies de mise à jour, voir "Mise à jour de la configuration du plan de contrôle".
6
Indique le nom de la plate-forme du fournisseur de cloud. Ne pas modifier cette valeur.
7
Spécifie la configuration de <platform_failure_domains> pour le cluster. Le format et les valeurs de cette section sont spécifiques au fournisseur. Pour plus d'informations, consultez l'exemple de configuration du domaine de défaillance de votre fournisseur de cloud.
Note

VMware vSphere ne prend pas en charge les domaines de défaillance.

8
Spécifie la configuration de <platform_provider_spec> pour le cluster. Le format et les valeurs de cette section sont spécifiques au fournisseur. Pour plus d'informations, consultez l'exemple de spécification de votre fournisseur de cloud.
Configuration spécifique au fournisseur

Les sections <platform_provider_spec> et <platform_failure_domains> des ressources du jeu de machines du plan de contrôle sont spécifiques au fournisseur. Reportez-vous à l'exemple YAML pour votre cluster :

12.3.2. Exemple de YAML pour la configuration des clusters Amazon Web Services

Certaines sections de l'ensemble de machines du plan de contrôle CR sont spécifiques au fournisseur. Les exemples YAML de cette section montrent des configurations de domaine de défaillance et de spécification de fournisseur pour un cluster Amazon Web Services (AWS).

12.3.2.1. Exemple de configuration d'un domaine de défaillance AWS

Le concept d'ensemble de machines du plan de contrôle d'un domaine de défaillance est analogue au concept existant d'AWS d'un domaine de défaillance Availability Zone (AZ). Le CR ControlPlaneMachineSet répartit les machines du plan de contrôle sur plusieurs domaines de défaillance lorsque cela est possible.

Lors de la configuration des domaines de défaillance AWS dans le jeu de machines du plan de contrôle, vous devez spécifier le nom de la zone de disponibilité et le sous-réseau à utiliser.

Exemples de valeurs de domaine de défaillance AWS

failureDomains:
  aws:
  - placement:
      availabilityZone: <aws_zone_a> 1
    subnet: 2
      filters:
      - name: tag:Name
        values:
        - <cluster_id>-private-<aws_zone_a> 3
      type: Filters 4
  - placement:
      availabilityZone: <aws_zone_b> 5
    subnet:
      filters:
      - name: tag:Name
        values:
        - <cluster_id>-private-<aws_zone_b> 6
      type: Filters
  platform: AWS 7

1
Spécifie une zone de disponibilité AWS pour le premier domaine de défaillance.
2
Spécifie une configuration de sous-réseau. Dans cet exemple, le type de sous-réseau est Filters, il y a donc une strophe filters.
3
Spécifie le nom du sous-réseau pour le premier domaine de défaillance, en utilisant l'ID d'infrastructure et la zone de disponibilité AWS.
4
Spécifie le type de sous-réseau. Les valeurs autorisées sont : ARN, Filters et ID. La valeur par défaut est Filters.
5
Spécifie le nom du sous-réseau pour un domaine de défaillance supplémentaire, en utilisant l'ID de l'infrastructure et la zone de disponibilité AWS.
6
Spécifie l'ID d'infrastructure du cluster et la zone de disponibilité AWS pour le domaine de défaillance supplémentaire.
7
Indique le nom de la plate-forme du fournisseur de cloud. Ne pas modifier cette valeur.

12.3.2.2. Exemple de spécification d'un fournisseur AWS

Lorsque vous créez un jeu de machines du plan de contrôle pour un cluster existant, la spécification du fournisseur doit correspondre à la configuration providerSpec dans le CR du plan de contrôle machine créé par le programme d'installation. Vous pouvez omettre tout champ défini dans la section du domaine de défaillance du CR.

Dans l'exemple suivant, <cluster_id> est l'ID de l'infrastructure qui est basé sur l'ID du cluster que vous avez défini lorsque vous avez provisionné le cluster. Si le CLI OpenShift est installé, vous pouvez obtenir l'ID d'infrastructure en exécutant la commande suivante :

$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster

Exemples de valeurs AWS providerSpec

providerSpec:
  value:
    ami:
      id: ami-<ami_id_string> 1
    apiVersion: machine.openshift.io/v1beta1
    blockDevices:
    - ebs: 2
        encrypted: true
        iops: 0
        kmsKey:
          arn: ""
        volumeSize: 120
        volumeType: gp3
    credentialsSecret:
      name: aws-cloud-credentials 3
    deviceIndex: 0
    iamInstanceProfile:
      id: <cluster_id>-master-profile 4
    instanceType: m6i.xlarge 5
    kind: AWSMachineProviderConfig 6
    loadBalancers: 7
    - name: <cluster_id>-int
      type: network
    - name: <cluster_id>-ext
      type: network
    metadata:
      creationTimestamp: null
    metadataServiceOptions: {}
    placement: 8
      region: <region> 9
    securityGroups:
    - filters:
      - name: tag:Name
        values:
        - <cluster_id>-master-sg 10
    subnet: {} 11
    userDataSecret:
      name: master-user-data 12

1
Spécifie l'ID de l'Amazon Machine Images (AMI) de Red Hat Enterprise Linux CoreOS (RHCOS) pour le cluster. L'AMI doit appartenir à la même région que le cluster. Si vous souhaitez utiliser une image AWS Marketplace, vous devez compléter l'abonnement à OpenShift Container Platform depuis AWS Marketplace pour obtenir un ID AMI pour votre région.
2
Spécifie la configuration d'un volume EBS crypté.
3
Spécifie le nom secret de la grappe. Ne pas modifier cette valeur.
4
Spécifie le profil de l'instance AWS Identity and Access Management (IAM). Ne pas modifier cette valeur.
5
Spécifie le type d'instance AWS pour le plan de contrôle.
6
Spécifie le type de plateforme du fournisseur de cloud. Ne pas modifier cette valeur.
7
Spécifie les équilibreurs de charge internes (int) et externes (ext) pour le cluster.
8
Ce paramètre est configuré dans le domaine de défaillance et est affiché ici avec une valeur vide. Si une valeur spécifiée pour ce paramètre diffère de la valeur du domaine de défaillance, l'opérateur la remplace par la valeur du domaine de défaillance.
9
Spécifie la région AWS pour le cluster.
10
Spécifie le groupe de sécurité des machines du plan de contrôle.
11
Ce paramètre est configuré dans le domaine de défaillance et est affiché ici avec une valeur vide. Si une valeur spécifiée pour ce paramètre diffère de la valeur du domaine de défaillance, l'opérateur la remplace par la valeur du domaine de défaillance.
12
Spécifie le secret des données utilisateur du plan de contrôle. Ne pas modifier cette valeur.

12.3.3. Exemple de YAML pour la configuration des clusters Microsoft Azure

Certaines sections de l'ensemble de machines du plan de contrôle CR sont spécifiques au fournisseur. Les exemples YAML de cette section montrent des configurations de domaine de défaillance et de spécification de fournisseur pour un cluster Azure.

12.3.3.1. Exemple de configuration d'un domaine de défaillance Azure

Le concept d'ensemble de machines du plan de contrôle d'un domaine de défaillance est analogue au concept Azure existant d'un domaine de défaillance Azure availability zone. La CR ControlPlaneMachineSet répartit les machines du plan de contrôle sur plusieurs domaines de défaillance lorsque cela est possible.

Lors de la configuration des domaines de défaillance Azure dans le jeu de machines du plan de contrôle, vous devez spécifier le nom de la zone de disponibilité.

Exemple de valeurs de domaine de défaillance Azure

failureDomains:
  azure: 1
  - zone: "1"
  - zone: "2"
  - zone: "3"
  platform: Azure 2

1
Chaque instance de zone spécifie une zone de disponibilité Azure pour un domaine de défaillance.
2
Indique le nom de la plate-forme du fournisseur de cloud. Ne pas modifier cette valeur.

12.3.3.2. Exemple de spécification d'un fournisseur Azure

Lorsque vous créez un jeu de machines du plan de contrôle pour un cluster existant, la spécification du fournisseur doit correspondre à la configuration providerSpec dans le CR du plan de contrôle Machine créé par le programme d'installation. Vous pouvez omettre tout champ défini dans la section du domaine de défaillance du CR.

Dans l'exemple suivant, <cluster_id> est l'ID de l'infrastructure qui est basé sur l'ID du cluster que vous avez défini lorsque vous avez provisionné le cluster. Si le CLI OpenShift est installé, vous pouvez obtenir l'ID d'infrastructure en exécutant la commande suivante :

$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster

Exemples de valeurs Azure providerSpec

providerSpec:
  value:
    acceleratedNetworking: true
    apiVersion: machine.openshift.io/v1beta1
    credentialsSecret:
      name: azure-cloud-credentials 1
      namespace: openshift-machine-api
    diagnostics: {}
    image: 2
      offer: ""
      publisher: ""
      resourceID: /resourceGroups/<cluster_id>-rg/providers/Microsoft.Compute/galleries/gallery_<cluster_id>/images/<cluster_id>-gen2/versions/412.86.20220930 3
      sku: ""
      version: ""
    internalLoadBalancer: <cluster_id>-internal 4
    kind: AzureMachineProviderSpec 5
    location: <region> 6
    managedIdentity: <cluster_id>-identity
    metadata:
      creationTimestamp: null
      name: <cluster_id>
    networkResourceGroup: <cluster_id>-rg
    osDisk: 7
      diskSettings: {}
      diskSizeGB: 1024
      managedDisk:
        storageAccountType: Premium_LRS
      osType: Linux
    publicIP: false
    publicLoadBalancer: <cluster_id> 8
    resourceGroup: <cluster_id>-rg
    subnet: <cluster_id>-master-subnet 9
    userDataSecret:
      name: master-user-data 10
    vmSize: Standard_D8s_v3
    vnet: <cluster_id>-vnet
    zone: "" 11

1
Spécifie le nom secret de la grappe. Ne pas modifier cette valeur.
2
Spécifie les détails de l'image pour le jeu de machines du plan de contrôle.
3
Spécifie une image compatible avec votre type d'instance. Les images Hyper-V de génération V2 créées par le programme d'installation ont un suffixe -gen2, tandis que les images V1 portent le même nom sans suffixe.
4
Spécifie l'équilibreur de charge interne pour le plan de contrôle. Ce champ peut ne pas être préconfiguré, mais il est requis dans les CR ControlPlaneMachineSet et Machine du plan de contrôle.
5
Spécifie le type de plateforme du fournisseur de cloud. Ne pas modifier cette valeur.
6
Spécifie la région dans laquelle placer les machines du plan de contrôle.
7
Spécifie la configuration du disque pour le plan de contrôle.
8
Spécifie l'équilibreur de charge public pour le plan de contrôle.
9
Spécifie le sous-réseau pour le plan de contrôle.
10
Spécifie le secret des données utilisateur du plan de contrôle. Ne pas modifier cette valeur.
11
Ce paramètre est configuré dans le domaine de défaillance et est affiché ici avec une valeur vide. Si une valeur spécifiée pour ce paramètre diffère de la valeur du domaine de défaillance, l'opérateur la remplace par la valeur du domaine de défaillance.

12.3.4. Exemple de YAML pour la configuration des clusters VMware vSphere

Certaines sections de l'ensemble de machines du plan de contrôle CR sont spécifiques au fournisseur. L'exemple YAML de cette section montre une configuration de spécification de fournisseur pour un cluster VMware vSphere.

12.3.4.1. Exemple de spécification d'un fournisseur vSphere

Lorsque vous créez un jeu de machines du plan de contrôle pour un cluster existant, la spécification du fournisseur doit correspondre à la configuration providerSpec dans le CR du plan de contrôle machine créé par le programme d'installation.

Exemples de valeurs vSphere providerSpec

providerSpec:
  value:
    apiVersion: machine.openshift.io/v1beta1
    credentialsSecret:
      name: vsphere-cloud-credentials 1
    diskGiB: 120 2
    kind: VSphereMachineProviderSpec 3
    memoryMiB: 16384 4
    metadata:
      creationTimestamp: null
    network: 5
      devices:
      - networkName: <vm_network_name>
    numCPUs: 4 6
    numCoresPerSocket: 4 7
    snapshot: ""
    template: <vm_template_name> 8
    userDataSecret:
      name: master-user-data 9
    workspace:
      datacenter: <vcenter_datacenter_name> 10
      datastore: <vcenter_datastore_name> 11
      folder: <path_to_vcenter_vm_folder> 12
      resourcePool: <vsphere_resource_pool> 13
      server: <vcenter_server_ip> 14

1
Spécifie le nom secret de la grappe. Ne pas modifier cette valeur.
2
Spécifie la taille du disque VM pour les machines du plan de contrôle.
3
Spécifie le type de plateforme du fournisseur de cloud. Ne pas modifier cette valeur.
4
Spécifie la mémoire allouée aux machines du plan de contrôle.
5
Spécifie le réseau sur lequel le plan de contrôle est déployé.
6
Spécifie le nombre de CPU alloués aux machines du plan de contrôle.
7
Spécifie le nombre de cœurs pour chaque unité centrale du plan de contrôle.
8
Spécifie le modèle de VM vSphere à utiliser, tel que user-5ddjd-rhcos.
9
Spécifie le secret des données utilisateur du plan de contrôle. Ne pas modifier cette valeur.
10
Spécifie le centre de données vCenter pour le plan de contrôle.
11
Spécifie le Datastore vCenter pour le plan de contrôle.
12
Spécifie le chemin d'accès au dossier vSphere VM dans vCenter, tel que /dc1/vm/user-inst-5ddjd.
13
Spécifie le pool de ressources vSphere pour vos machines virtuelles.
14
Spécifie l'IP du serveur vCenter ou son nom de domaine complet.
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.