Ressources OCI pour le programme d'installation basé sur un agent pour l'installation manuelle
Créez manuellement les ressources OCI requises pour installer une grappe de plate-forme conteneur OpenShift à l'aide du programme d'installation basé sur un agent.
Si vous provisionnez des ressources avec Terraform, comme décrit sous Installation d'une grappe avec un programme d'installation basé sur un agent à l'aide de Terraform, vous pouvez ignorer cette rubrique.
Le flux de travail du programme d'installation basé sur un agent pour configurer l'infrastructure commence dans la console Red Hat Hybrid Cloud, où vous téléchargez le binaire openshift-install
pour créer une image ISO de détection nécessaire pour provisionner des instances de calcul dans OCI. Voir la page OpenShift Téléchargements du programme d'installation et de l'interface de ligne de commande pour télécharger le fichier binaire.
Pour pouvoir générer l'image ISO de détection (utilisée pour provisionner des instances de calcul dans OCI), vous devez provisionner l'infrastructure OCI. Cela inclut les OCID, les intervalles CIDR du 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, passez à la console OCI pour provisionner l'infrastructure restante et poursuivre le déploiement de la grappe.
Lorsque vous utilisez le programme d'installation basé sur un agent, vous avez besoin des ressources décrites dans la rubrique Préalables et des composants d'infrastructure suivants :
- compartiment
- VCN
- Équilibreurs de charge
- Enregistrements DNS pour les équilibreurs de charge
- Espace de noms de marqueur et marqueurs définis pour les noeuds de calcul de la grappe
- Groupe dynamique IAM pour les noeuds de calcul de la grappe
- Politiques IAM pour le groupe dynamique
- Image personnalisée pour le provisionnement d'instance de calcul, créée à partir de l'image ISO de détection 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 détection.
compartiment
Les compartiments permettent d'organiser et d'isoler des ressources en nuage. Nous vous recommandons de créer un nouveau compartiment pour la grappe OpenShift. Pour plus d'informations, voir Création d'un compartiment.
VCN et ressources de réseau
Les noeuds de calcul, les équilibreurs de charge et les autres ressources OpenShift utilisent un réseau en nuage virtuel (VCN) OCI pour se connecter. Voir Création d'un réseau VCN pour obtenir des instructions sur la création d'un réseau VCN.
Vous devez disposer des autorisations IAM pour gérer les réseaux en nuage virtuels et les ressources de réseau connexes dans le type de ressource agrégé virtual-network-family
. Voir Gestion de l'accès aux ressources pour plus de détails. Notez que les autorisations réseau sont décrites dans la section Core Services.
Vous pouvez éventuellement utiliser des groupes de sécurité de réseau dans votre VCN pour contrôler l'accès. Voir Groupes de sécurité de réseau pour plus de détails sur l'utilisation des groupes de sécurité de réseau pour contrôler le trafic et l'accès au réseau. Notez que le groupe de sécurité de réseau doit se trouver dans le même compartiment que les autres ressources d'infrastructure OpenShfit.
Voir la page Ressources définies par Terraform pour OpenShift sur OCI sur GitHub pour plus de détails sur la configuration du VCN et du sous-réseau. Pour des définitions de ressource spécifiques, accédez aux dossiers pertinents du 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
.
Équilibrage de charge
La grappe Red Hat OpenShift nécessite deux équilibreurs de charge, l'un pour le trafic réseau interne et l'autre pour le trafic externe. Voir Création d'un équilibreur de charge pour obtenir des instructions. Pour des détails de haut niveau sur les configurations d'équilibreur de charge, consultez la page Ressources définies par Terraform pour OpenShift sur OCI sur GitHub. Pour des définitions de ressource spécifiques, accédez au dossier pertinent 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
.
Équilibreur de charge interne
Port | Machines dorsales (membres de la piscine) | Description |
---|---|---|
6,443 | Amorce et plan de contrôle | Serveur d'API Kubernetes |
22,623 | Amorce et plan de contrôle | Serveur de configuration de machine |
22,624 | Amorce et plan de contrôle | Serveur de configuration de machine |
Équilibreur de charge d'API
Utilisé pour le trafic du serveur d'API Kubernetes. Elle peut être publique ou privée. Utilisez les informations suivantes pour configurer l'équilibreur de charge d'API
Port | Machines dorsales (membres de la piscine) | Description |
---|---|---|
6,443 | Nœuds d'amorçage et de plan de contrôle | Trafic du serveur d'API Kubernetes (HTTPS) |
22,624 | Nœuds d'amorçage et de plan de contrôle | Utilisé par les noeuds de travail pour télécharger les configurations d'allumage lors de la jointure de la grappe. |
Le port 22624 est requis pour ajouter de nouveaux noeuds de travail à la grappe. Assurez-vous qu'il est ouvert et acheminé correctement sur l'équilibreur de charge d'API externe (et non interne).
Équilibreur de charge d'applications
Port | Machines dorsales (membres du groupe) | Description |
---|---|---|
80 | Noeuds exécutant des pods du contrôleur de trafic entrant (généralement des noeuds de calcul ou de travail) | Trafic HTTP |
443 | Noeuds exécutant des pods du contrôleur de trafic entrant (généralement des noeuds de calcul ou de travail) | trafic HTTPS |
Vous pouvez configurer les équilibreurs de charge pour qu'ils soient publics ou privés, selon les exigences en matière de réseau et de sécurité.
Enregistrements DNS
Créer des enregistrements DNS pour l'acheminement du trafic réseau OpenShift interne et externe. Selon vos exigences 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 l'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 équilibreur de charge public et privé.
Voir Zones pour obtenir des instructions sur la création et la gestion des zones DNS.
Pour les détails de configuration DNS de haut niveau, voir la page Ressources définies par Terraform pour OpenShift sur OCI sur GitHub. Pour des définitions de ressource spécifiques, accédez au dossier pertinent dans le répertoire shared_modules et recherchez les ressources suivantes : oci_dns_zone
et oci_dns_rrset
.
Composant | Enregistrement | Équilibreur de charge | Description |
---|---|---|---|
API Kubernetes | api.<cluster_name>.<base_domain>. |
Utiliser l'adresse IP de l'é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 interne de l'équilibreur de charge |
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. |
Trafic entrant d'application | *.apps.<cluster_name>.<base_domain>. |
Utiliser l'adresse IP de l'équilibreur de charge des applications |
Enregistrement DNS A/AAAA ou CNAME générique faisant référence à l'équilibreur de charge entrant de l'application. L'équilibreur de charge entrant de l'application cible les machines qui exécutent les pods du contrôleur de trafic entrant. Les pods du contrôleur de trafic entrant s'exécutent par défaut sur les machines de calcul. Ces enregistrements doivent pouvoir être résolus par des clients externes au cluster et à partir de tous les noeuds du cluster. Par exemple, |
Étiquettes définies
Des marqueurs définis sont requis pour regrouper et identifier tous les plans de contrôle et noeuds de calcul.
À l'aide du service de marquage, créez deux espaces de noms de marqueur et définissez les marqueurs requis dans le compartiment que vous utilisez pour créer la grappe OpenShift :
- Espace de noms de marqueur :
openshift-tags
etopenshift-{cluster_name}
- Noms et valeurs de marqueur définis :
-
- Pour
openshift-tags
:openshift-resource
- Pour
openshift-{cluster_name}
:instance-role
:control_plane
oucompute
(selon le type de noeud)boot-volume-type
:PARAVIRTUALIZED
ouISCSI
- Pour
Ces marqueurs doivent être appliqués à toutes les ressources pertinentes lors du provisionnement. Pour plus d'informations, voir Marqueurs d'attribution de ressource.
Pour plus d'informations, voir Marqueurs et concepts d'espace de noms de marqueur.
Pour des instructions de haut niveau spécifiques à OpenShift sur OCI, voir la page Ressources définies par Terraform pour OpenShift sur OCI sur GitHub. Pour des définitions de ressource spécifiques, accédez au dossier pertinent 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 au moyen de politiques IAM.
Vous pouvez créer des politiques IAM (voir la section suivante) qui référencent ces groupes dynamiques pour contrôler l'accès aux ressources OCI. Pour obtenir des instructions, voir Gestion des groupes dynamiques. Pour des détails de haut niveau sur la configuration des groupes dynamiques, voir la page Ressources définies par Terraform pour OpenShift sur OCI sur GitHub. Pour des définitions de ressource spécifiques, accédez au dossier pertinent dans le répertoire shared_modules et recherchez la ressource suivante : oci_identity_dynamic_group
.
- Nom du groupe dynamique :
${var.cluster_name}_control_plane_nodes
- Compartiment : Compartiment de la grappe
- Règle de correspondance :
all { instance.compartment.id = "${var.compartment_ocid}", tag.${var.op_openshift_tag_namespace}.${var.op_openshift_tag_instance_role}.value = "control_plane" }
Politiques de groupe dynamique
Trois politiques 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 de la grappe. Ces politiques IAM sont requises pour le groupe dynamique master
. Pour obtenir des instructions, voir Gestion des groupes dynamiques et Aperçu des politiques IAM. Pour des détails de haut niveau sur les configurations de politique de groupe dynamique, voir la page Ressources définies par Terraform pour OpenShift sur OCI sur GitHub. Pour des définitions de ressource spécifiques, accédez au dossier pertinent dans le répertoire shared_modules et recherchez la ressource suivante : oci_identity_policy
.
- Politique d'accès aux ressources du plan de contrôle : Cette politique permet aux noeuds de plan de contrôle de gérer les ressources d'infrastructure de base. Le groupe dynamique pour les noeuds de plan de contrôle est nommé
${var.cluster_name}_control_plane_nodes
- Nom de la politique :
${var.cluster_name}_control_plane_nodes
- Compartiment : Compartiment de la grappe
- Énoncés de la politique :
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 politique :
- Politique d'accès au service de marquage des ressources de grappe : Cette politique accorde l'accès aux noeuds de plan de contrôle pour utiliser l'espace de noms
openshift-tags
pour marquer des ressources de grappe.- Nom de la politique : $
{var.cluster_name}_control_plane_nodes_tags
- Compartiment : Compartiment racine
- Énoncé de politique :
Allow dynamic-group ${oci_identity_dynamic_group.openshift_control_plane_nodes.name} to use tag-namespaces in tenancy
- Nom de la politique : $
- Politique d'accès au réseau (facultatif) : Cette politique n'est requise que si les composants de réseau se trouvent dans un compartiment différent de celui des instances de grappe.
-
Nom de la politique :
${var.cluster_name}_control_plane_nodes_networking_access_policy
- Compartiment : Compartiment de réseau
- Énoncés de la politique :
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
Pour créer des noeuds de grappe pour la plate-forme de conteneur OpenShift à l'aide du programme d'installation basé sur un agent, vous devez disposer d'une image personnalisée du service de calcul qui contient le logiciel Red Hat nécessaire pour exécuter les noeuds de grappe. Pour créer cette image, vous devez effectuer les opérations suivantes :
- Créez une image ISO de détection localement, à l'aide du fichier binaire
openshift-install
, disponible à partir de la console Red Hat Hybrid Cloud Console. Pour obtenir des instructions, voir Création de fichiers de configuration pour installer une grappe sur OCI (documentation sur Red Hat) (documentation sur Red Hat). - Chargez votre image ISO de détection dans le stockage d'objets OCI. Pour obtenir des instructions, voir Création d'un seau de stockage d'objets et Chargement d'un objet de stockage d'objets dans un seau.
- Créez une image personnalisée dans un service de calcul basé sur la détection ISO. Pour obtenir des instructions, voir Gestion des images personnalisées.
Lors de la création de votre image personnalisée, vous devez effacer la fonction BIOS afin que cette option ne soit pas activée pour votre image. Pour plus de détails, voir Configuration des capacités d'image pour les images personnalisées dans la documentation sur la 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 détection. Il s'agit des fichiers agent-config.yaml
et install-config.yaml
. Pour plus de détails, voir Création de fichiers de configuration pour l'installation d'une grappe sur OCI (documentation sur Red Hat).
Après avoir créé les fichiers agent-config.yaml
et install-config.yaml
, enregistrez-les localement. La structure de votre répertoire local doit être la suivante :
.
└── local_machine_work_directory/
├── agent-config.yaml
├── install-config.yaml
└── openshift /
├── manifest.yml
Configuration de pare-feu
Assurez-vous que votre pare-feu est configuré pour accorder l'accès aux sites requis par la plate-forme de conteneur OpenShift. Voir Configuration de votre pare-feu pour la plate-forme de conteneur OpenShift (documentation sur Red Hat) pour plus de détails sur la configuration de la liste d'autorisation de votre pare-feu pour la plate-forme de conteneur OpenShift.
URL | Port | Fonction |
---|---|---|
ghcr.io | 443 | Fournit l'image de conteneur pour Oracle Cloud Control Manager (CCM) et l'interface de stockage de conteneurs (CSI). |
registry.k8s.io | 443 | Fournit les images de conteneur kubernetes prises en charge pour CCM et CSI. |