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.
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-install
pour 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.
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
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. |
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
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 |
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.
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, |
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
etopenshift-{cluster_name}
- Noms et valeurs de balise définis :
-
- Pour
openshift-tags
:openshift-resource
- Pour
openshift-{cluster_name}
:instance-role
:control_plane
oucompute
(en fonction du type de noeud)boot-volume-type
:PARAVIRTUALIZED
ouISCSI
- Pour
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
.
- 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}
- Nom de la stratégie :
- 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
- Policy Name (Nom de la stratégie) : $
- (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 :
- 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). - 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.
- 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.
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.
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. |