Ressources OCI pour le programme d'installation basé sur un agent pour une installation manuelle

Créez manuellement les ressources OCI requises pour installer un cluster Container Platform OpenShift à l'aide du programme d'installation basé sur l'agent.

Conseil

Si vous provisionnez des ressources avec Terraform, comme décrit dans Installation d'un cluster avec un programme d'installation basé sur un agent à l'aide de Terraform, vous pouvez ignorer cette rubrique.

Le workflow du programme d'installation basé sur l'agent permettant de configurer l'infrastructure commence dans la console Red Hat Hybrid Cloud, où vous téléchargez le fichier binaire openshift-installpour créer une image ISO de repérage nécessaire au provisionnement des instances Compute dans OCI. Reportez-vous à la page OpenShift Installer et téléchargements de l'interface de ligne de commande pour télécharger le fichier binaire.

Pour pouvoir générer l'image ISO de repérage (utilisée pour provisionner des instances Compute dans OCI), vous devez provisionner l'infrastructure OCI. Cela inclut les OCID, les plages de CIDR VCN, le nombre de plans de contrôle et d'instances de calcul, ainsi que d'autres entrées requises pour créer les fichiers d'installation basés sur l'agent agent-config.yaml, install-config.yaml et openshift/custom_manifest.yaml.

Après avoir généré l'image, vous passez à la console OCI pour provisionner l'infrastructure restante et poursuivre le déploiement du cluster.

Lorsque vous utilisez le programme d'installation basé sur un agent, vous avez besoin des ressources abordées dans la rubrique Prérequis et des composants d'infrastructure suivants :

  • compartiment
  • VCN
  • Chargeurs
  • Enregistrements DNS pour les équilibreurs de charge
  • Espace de noms de balise et balises définies pour les noeuds de calcul du cluster
  • Groupe dynamique IAM pour les noeuds de calcul du cluster
  • Stratégies IAM pour le groupe dynamique
  • Image personnalisée pour le provisionnement d'instance Compute, créée à partir de l'image ISO de repérage OpenShift.
Conseil

Vous pouvez créer la plupart de ces ressources avant de commencer, à l'exception de l'image de calcul personnalisée, qui nécessite l'image ISO de repérage.

compartiment

Les compartiments vous permettent d'organiser et d'isoler les ressources cloud. Nous vous recommandons de créer un compartiment pour le cluster OpenShift. Pour plus d'informations, reportez-vous àCréation d'un compartiment.

Ressources VCN et Networking

Les noeuds de calcul OpenShift, les équilibreurs de charge et d'autres ressources utilisent un réseau cloud virtuel (VCN) OCI pour se connecter. Reportez-vous à Création d'un VCN pour obtenir des instructions sur la création d'un VCN.

Vous avez besoin de droits d'accès IAM pour gérer les réseaux cloud virtuels et les ressources réseau associées dans le type de ressource agrégé virtual-network-family. Pour plus d'informations, reportez-vous à la section Gestion de l'accès aux ressources. Notez que les autorisations Networking sont traitées dans la section Core Services.

Vous pouvez éventuellement utiliser des groupes de sécurité réseau dans votre VCN pour contrôler l'accès. Pour plus d'informations sur l'utilisation des groupes de sécurité réseau pour contrôler le trafic et l'accès réseau, reportez-vous à Groupes de sécurité réseau. Le groupe de sécurité réseau doit se trouver dans le même compartiment que les autres ressources d'infrastructure OpenShfit.

Reportez-vous à la page Ressources définies par Terraform pour OpenShift sur OCI sur GitHub pour obtenir les détails de configuration du VCN et du sous-réseau. Pour obtenir des définitions de ressource spécifiques, accédez aux dossiers appropriés dans le répertoire shared_modules et recherchez les ressources suivantes : oci_core_vcn, oci_core_internet_gateway, oci_core_nat_gateway, oci_core_route_table, oci_core_subnet et oci_core_network_security_group.

Equilibreurs de charge

Le cluster Red Hat OpenShift requiert deux équilibreurs de charge, l'un pour le trafic réseau interne et l'autre pour le trafic externe. Pour obtenir des instructions, reportez-vous à Création d'un équilibreur de charge. Pour obtenir des détails de haut niveau sur les configurations d'équilibreur de charge, reportez-vous à la page Ressources définies Terraform pour OpenShift sur OCI sur GitHub. Pour obtenir des définitions de ressource spécifiques, accédez au dossier approprié dans le répertoire shared_modules et recherchez les ressources suivantes : oci_load_balancer_load_balancer, oci_load_balancer_backend_set et oci_load_balancer_listener.

Equilibreur de charge interne

Utilisez les informations suivantes pour configurer l'équilibreur de charge utilisé pour le trafic interne :
Port Machines back-end (membres du pool) Description
6 443 Bootstrap et plan de contrôle Serveur d'API Kubernetes
22 623 Bootstrap et plan de contrôle Serveur de configuration de machine
22 624 Bootstrap et plan de contrôle Serveur de configuration de machine

Equilibreur de charge d'API

Utilisé pour le trafic du serveur d'API Kubernetes. Il peut s'agir de données publiques ou privées. Utilisez les informations suivantes pour configurer l'équilibreur de charge d'API

Port Machines back-end (membres du pool) Description
6 443 Noeuds de plan d'initialisation et de contrôle Trafic du serveur d'API Kubernetes (HTTPS)
22 624 Noeuds de plan d'initialisation et de contrôle Utilisé par les noeuds de processus actif pour télécharger les configurations d'allumage lors de l'adhésion au cluster.
Remarque

Le port 22624 est requis pour ajouter de nouveaux noeuds de processus actif au cluster. Assurez-vous qu'il est ouvert et routé correctement sur l'équilibreur de charge de l'API externe (et non interne).

Equilibreur de charge d'applications

Utilisé pour le trafic entrant d'application (par exemple, applications utilisateur, console Web OpenShift). Il peut s'agir de données publiques ou privées. Utilisez les informations suivantes pour configurer l'équilibreur de charge Apps
Port Machines back-end (membres du pool) Description
80 Noeuds exécutant des pods de contrôleur entrant (généralement des noeuds de calcul ou de processus actif) Trafic HTTP
443 Noeuds exécutant des pods de contrôleur entrant (généralement des noeuds de calcul ou de processus actif) trafic HTTPS
Remarque

Vous pouvez configurer les équilibreurs de charge de façon à ce qu'ils soient publics ou privés, en fonction des exigences de réseau et de sécurité.

Enregistrements DNS

Créez des enregistrements DNS pour le routage du trafic réseau OpenShift interne et externe. Selon vos besoins en matière de réseau et de sécurité, créez une zone DNS publique, une zone DNS privée ou les deux. Une zone DNS privée ne peut être résolue que dans les réseaux Oracle (tels que votre VCN). Une zone DNS publique permet un accès externe.

Après avoir créé les zones, ajoutez des enregistrements DNS pour les noms d'hôte suivants :
  • api.<cluster_name>.<base_domain>
  • api-int.<cluster_name>.<base_domain>
  • *.apps.<cluster_name>.<base_domain>

Chaque enregistrement DNS doit référencer les mêmes ID d'équilibreur de charge publics et privés.

Reportez-vous à la section Zones pour obtenir des instructions sur la création et la gestion de zones DNS.

Pour obtenir des détails de configuration DNS de haut niveau, reportez-vous à la page Ressources définies Terraform pour OpenShift sur OCI sur GitHub. Pour des définitions de ressource spécifiques, accédez au dossier approprié dans le répertoire shared_modules et recherchez les ressources suivantes : oci_dns_zone et oci_dns_rrset.

Composant Enregistrement Equilibreur de charges Description
API Kubernetes api.<cluster_name>.<base_domain>. Utiliser l'adresse IP d'équilibreur de charge d'API

Un enregistrement DNS A/AAAA ou CNAME et un enregistrement DNS PTR pour identifier l'équilibreur de charge d'API.

Ces enregistrements doivent pouvoir être résolus par des clients externes au cluster et à partir de tous les noeuds du cluster.

API Kubernetes api-int.<cluster_name>.<base_domain>. Utiliser l'adresse IP d'équilibreur de charge interne

Un enregistrement DNS A/AAAA ou CNAME et un enregistrement DNS PTR pour identifier en interne l'équilibreur de charge d'API.

Ces enregistrements doivent pouvoir être résolus à partir de tous les noeuds du cluster.

Entrée d'application *.apps.<cluster_name>.<base_domain>. Utiliser l'adresse IP de l'équilibreur de charge des applications

Enregistrement DNS générique A/AAAA ou CNAME faisant référence à l'équilibreur de charge entrant de l'application.

L'équilibreur de charge entrant d'application cible les ordinateurs qui exécutent les pods du contrôleur d'entrée. Les pods du contrôleur d'entrée sont exécutés sur les machines de calcul par défaut.

Ces enregistrements doivent pouvoir être résolus par des clients externes au cluster et à partir de tous les noeuds du cluster.

Par exemple, console-openshift-console.apps.<cluster_name>.<base_domain> est utilisé comme acheminement générique vers la console Container Platform OpenShift.

Tags définis

Des balises définies sont requises pour regrouper et identifier tous les noeuds de plan de contrôle et de calcul.

A l'aide du service Tagging, créez deux espaces de noms de balise et définissez les balises requises dans le compartiment que vous utilisez pour créer le cluster OpenShift :

  • Espace de noms de balise : openshift-tags et openshift-{cluster_name}
  • Noms et valeurs de balise définis :
    • Pour openshift-tags : openshift-resource
    • Pour openshift-{cluster_name} :
      • instance-role : control_plane ou compute (en fonction du type de noeud)
      • boot-volume-type : PARAVIRTUALIZED ou ISCSI

Ces balises doivent être appliquées à toutes les ressources pertinentes lors du provisionnement. Pour plus d'informations, reportez-vous à Balises d'attribution de ressource.

Pour plus d'informations, reportez-vous à Concepts relatifs aux balises et aux espaces de noms de balise.

Pour obtenir des instructions générales propres à OpenShift sur OCI, reportez-vous à la page Ressources définies Terraform pour OpenShift sur OCI sur GitHub. Pour des définitions de ressource spécifiques, accédez au dossier approprié dans le répertoire shared_modules et recherchez les ressources suivantes : oci_identity_tag_namespace et oci_identity_tag.

Groupes dynamiques

Les groupes dynamiques vous permettent de regrouper les instances de calcul Oracle Cloud Infrastructure (OCI) en tant qu'acteurs principaux (similaires aux groupes d'utilisateurs) pour accorder l'accès via des stratégies IAM.

Vous pouvez créer des stratégies IAM (décrites dans la section suivante) qui référencent ces groupes dynamiques afin de contrôler l'accès aux ressources OCI. Pour obtenir des instructions, reportez-vous à Gestion des groupes dynamiques. Pour obtenir des détails de haut niveau sur la configuration de groupe dynamique, reportez-vous à la page Ressources définies Terraform pour OpenShift sur OCI sur GitHub. Pour des définitions de ressource spécifiques, accédez au dossier approprié dans le répertoire shared_modules et recherchez la ressource suivante : oci_identity_dynamic_group.

Utilisez les valeurs suivantes pour définir le groupe dynamique pour les instances de plan de contrôle :
  • Nom de groupe dynamique:
    ${var.cluster_name}_control_plane_nodes
  • Compartiment : compartiment de cluster
  • Règle de mise en correspondance:
    all {
      instance.compartment.id = "${var.compartment_ocid}",
      tag.${var.op_openshift_tag_namespace}.${var.op_openshift_tag_instance_role}.value = "control_plane"
    }

Stratégies de groupe dynamique

Trois stratégies IAM sont requises pour que le groupe dynamique de plan de contrôle OpenShift puisse accéder aux ressources OCI et les gérer lors de la création du cluster. Ces stratégies IAM sont requises pour le groupe dynamique master. Pour obtenir des instructions, reportez-vous à Gestion des groupes dynamiques et à Présentation des stratégies IAM. Pour obtenir des détails de haut niveau sur les configurations de stratégie de groupe dynamique, reportez-vous à la page Ressources définies Terraform pour OpenShift sur OCI sur GitHub. Pour des définitions de ressource spécifiques, accédez au dossier approprié dans le répertoire shared_modules et recherchez la ressource suivante : oci_identity_policy.

  • Stratégie d'accès aux ressources de plan de contrôle : cette stratégie permet aux noeuds de plan de contrôle de gérer les ressources d'infrastructure de base. Le groupe dynamique des noeuds de plan de contrôle est nommé ${var.cluster_name}_control_plane_nodes.
    • Nom de la stratégie :${var.cluster_name}_control_plane_nodes
    • Compartiment : compartiment de cluster
    • Instructions de stratégie:
      
      Allow dynamic-group ${oci_identity_dynamic_group.openshift_control_plane_nodes.name} to manage volume-family in compartment id ${var.compartment_ocid}
      
      Allow dynamic-group ${oci_identity_dynamic_group.openshift_control_plane_nodes.name} to manage instance-family in compartment id ${var.compartment_ocid}
      
      Allow dynamic-group ${oci_identity_dynamic_group.openshift_control_plane_nodes.name} to manage security-lists in compartment id ${var.compartment_ocid}
      
      Allow dynamic-group ${oci_identity_dynamic_group.openshift_control_plane_nodes.name} to use virtual-network-family in compartment id ${var.compartment_ocid}
      
      Allow dynamic-group ${oci_identity_dynamic_group.openshift_control_plane_nodes.name} to manage load-balancers in compartment id ${var.compartment_ocid}
      
      Allow dynamic-group ${oci_identity_dynamic_group.openshift_control_plane_nodes.name} to manage objects in compartment id ${var.compartment_ocid}
  • Stratégie d'accès de balisage des ressources de cluster : cette stratégie accorde l'accès aux noeuds de plan de contrôle afin qu'ils utilisent l'espace de noms openshift-tags pour baliser les ressources de cluster.
    • Policy Name (Nom de la stratégie) : ${var.cluster_name}_control_plane_nodes_tags
    • Compartiment : compartiment racine
    • Instruction de stratégie:
      Allow dynamic-group ${oci_identity_dynamic_group.openshift_control_plane_nodes.name} to use tag-namespaces in tenancy
  • (Facultatif) Stratégie d'accès réseau : cette stratégie est requise uniquement si les composants réseau se trouvent dans un compartiment différent de celui des instances de cluster.
    • Nom de la stratégie : ${var.cluster_name}_control_plane_nodes_networking_access_policy

    • Compartiment : compartiment réseau
    • Instructions de stratégie:
      
      Allow dynamic-group ${oci_identity_dynamic_group.openshift_control_plane_nodes.name} to manage security-lists in compartment id ${var.networking_compartment_ocid}
      
      Allow dynamic-group ${oci_identity_dynamic_group.openshift_control_plane_nodes.name} to manage virtual-network-family in compartment id ${var.networking_compartment_ocid}  

Image personnalisée pour les instances de plate-forme de conteneur OpenShift

Afin de créer des noeuds de cluster pour OpenShift Container Platform à l'aide du programme d'installation basé sur l'agent, vous avez besoin d'une image personnalisée du service Compute contenant le logiciel Red Hat nécessaire pour exécuter les noeuds de cluster. Pour créer cette image, vous devez effectuer les opérations suivantes :

  1. Créez une image ISO de repérage en local, à l'aide du binaire openshift-install, disponible à partir de la console Red Hat Hybrid Cloud. Pour obtenir des instructions, reportez-vous à Création de fichiers de configuration pour installer un cluster sur OCI (documentation Red Hat) (documentation Red Hat).
  2. Téléchargez votre image ISO de repérage vers OCI Object Storage. Pour obtenir des instructions, reportez-vous à Création d'un bucket Object Storage et à Téléchargement d'un objet Object Storage vers un bucket.
  3. Créez une image personnalisée dans un service Compute en fonction de l'ISO de repérage. Pour obtenir des instructions, reportez-vous à Gestion des images personnalisées.
Important

Lors de la création de votre image personnalisée, vous devez effacer la fonctionnalité BIOS afin que cette option ne soit pas activée pour votre image. Pour plus de détails, reportez-vous à Configuration des fonctionnalités d'image pour les images personnalisées dans la documentation Gestion des images personnalisées.

Fichiers de configuration d'agent

Le programme d'installation basé sur un agent nécessite deux fichiers de configuration qui doivent être modifiés afin que vous puissiez utiliser le programme d'installation basé sur un agent pour générer l'image ISO de repérage. Ce sont les fichiers agent-config.yaml et install-config.yaml. Pour plus d'informations, reportez-vous à Création de fichiers de configuration pour installer un cluster sur OCI (documentation Red Hat).

Après avoir créé les fichiers agent-config.yaml et install-config.yaml, enregistrez-les en local. Votre structure de répertoires locale doit être la suivante :

.
└── local_machine_work_directory/
    ├── agent-config.yaml
    ├── install-config.yaml
    └── openshift /
        ├── manifest.yml

Configuration du pare-feu

Assurez-vous que votre pare-feu est configuré pour accorder l'accès aux sites requis par OpenShift Container Platform. See Configuring your firewall for OpenShift Container Platform (Red Hat documentation)for details on setting up your firewall's allowlist for OpenShift Container Platform.

Définissez la liste d'autorisation de votre pare-feu pour inclure les URL suivantes :
URL Port Fonction
ghcr.io 443 Fournit l'image de conteneur pour Oracle Cloud Control Manager (CCM) et l'interface de stockage de conteneur (CSI).
registre.k8s.io 443 Fournit les images de conteneur kubernetes prises en charge pour CCM et CSI.