Recursos de OCI para el instalador basado en agente para la instalación manual
Cree manualmente los recursos de OCI necesarios para instalar un cluster de Container Platform OpenShift mediante el instalador basado en agente.
Si está aprovisionando recursos con Terraform, como se describe en Instalación de un cluster con un instalador basado en agente mediante Terraform, puede omitir este tema.
El flujo de trabajo del instalador basado en agente para configurar la infraestructura comienza en la consola de nube híbrida de Red Hat, donde descarga el archivo binario openshift-install
para crear una imagen ISO de detección necesaria para aprovisionar instancias informáticas en OCI. Consulte la página OpenShift Installer and CLI Downloads para descargar el archivo binario.
Para poder generar la imagen ISO de detección (que se utiliza para aprovisionar instancias informáticas en OCI), debe aprovisionar la infraestructura de OCI. Esto incluye OCID, rangos de CIDR de VCN, recuentos de instancias informáticas y de plano de control, así como otras entradas necesarias para crear los archivos de instalación basados en agente agent-config.yaml
, install-config.yaml
y openshift/custom_manifest.yaml
.
Después de generar la imagen, cambia a la consola de OCI para aprovisionar la infraestructura restante y continuar con el despliegue del cluster.
Al utilizar el instalador basado en agente, necesita los recursos que se describen en el tema Requisitos y los siguientes componentes de infraestructura:
- compartimento
- VCN
- Balanceadores de carga
- Registros DNS para los equilibradores de carga
- Espacio de nombres de etiqueta y etiquetas definidas para los nodos de cálculo del cluster
- Grupo dinámico de IAM para los nodos de cálculo del cluster
- Políticas de IAM para el grupo dinámico
- Imagen personalizada para el aprovisionamiento de instancias informáticas, creada a partir de la imagen ISO de detección OpenShift.
Puede crear la mayoría de estos recursos antes de empezar, excepto la imagen de Compute personalizada, que requiere la imagen ISO de detección.
compartimento
Los compartimentos le permiten organizar y aislar recursos en la nube. Recomendamos crear un nuevo compartimento para el cluster OpenShift. Para obtener más información, consulte Creación de un compartimento.
Recursos de VCN y redes
Los nodos de cálculo OpenShift, los equilibradores de carga y otros recursos utilizan una red virtual en la nube (VCN) de OCI para conectarse. Consulte Creación de una VCN para obtener instrucciones sobre cómo crear una VCN.
Necesita permisos de IAM para gestionar las redes virtuales en la nube y los recursos de red relacionados en el tipo de recurso agregado virtual-network-family
. Consulte Gestión de acceso a recursos para obtener detalles. Tenga en cuenta que los permisos de red se tratan en la sección Servicios principales.
Opcionalmente, puede utilizar grupos de seguridad de red (NSG) en la VCN para controlar el acceso. Consulte Grupos de seguridad de red para obtener más información sobre el uso de NSG para controlar el tráfico y el acceso a la red. Tenga en cuenta que el NSG debe estar en el mismo compartimento que los otros recursos de infraestructura OpenShfit.
Consulte la página Recursos definidos por Terraform para OpenShift en OCI en GitHub para obtener más información sobre la configuración de la subred y la VCN. Para definiciones de recursos específicas, acceda a las carpetas relevantes en el directorio shared_modules y busque los siguientes recursos: oci_core_vcn,
oci_core_internet_gateway
, oci_core_nat_gateway
, oci_core_route_table
, oci_core_subnet
y oci_core_network_security_group
.
Balanceadores de Carga
El cluster OpenShift de Red Hat necesita dos equilibradores de carga, uno para el tráfico de red interno y otro para el tráfico externo. Consulte Creación de un equilibrador de carga para obtener instrucciones. Para obtener detalles generales sobre las configuraciones del equilibrador de carga, consulte la página Recursos definidos por Terraform para OpenShift en OCI en GitHub. Para definiciones de recursos específicas, acceda a la carpeta relevante en el directorio shared_modules y busque los siguientes recursos: oci_load_balancer_load_balancer
, oci_load_balancer_backend_set
y oci_load_balancer_listener
.
equilibrador de carga interno
Puerto | Máquinas backend (miembros de pool) | Descripción |
---|---|---|
6.443 | Bootstrap y plano de control | Servidor de API de Kubernetes |
22.623 | Bootstrap y plano de control | Servidor de configuración de máquina |
22.624 | Bootstrap y plano de control | Servidor de configuración de máquina |
Equilibrador de carga de API
Se utiliza para el tráfico del servidor de API de Kubernetes. Puede ser pública o privada. Utilice la siguiente información para configurar el equilibrador de carga de API
Puerto | Máquinas backend (miembros de pool) | Descripción |
---|---|---|
6.443 | Nodos de plano de control y arranque | Tráfico del servidor de API de Kubernetes (HTTPS) |
22.624 | Nodos de plano de control y arranque | Los nodos de trabajador los utilizan para descargar las configuraciones de ignición al unirse al cluster. |
El puerto 22624 es necesario para agregar nuevos nodos de trabajador al cluster. Asegúrese de que esté abierto y enrutado correctamente en el empaquetador de carga de API externo (no interno).
Equilibrador de carga de aplicaciones
Puerto | Máquinas backend (miembros de agrupación) | Descripción |
---|---|---|
80 | Nodos que ejecutan pods de controlador de entrada (normalmente nodos de cálculo o de trabajador) | Tráfico HTTP |
443 | Nodos que ejecutan pods de controlador de entrada (normalmente nodos de cálculo o de trabajador) | tráfico HTTPS |
Puede configurar los equilibradores de carga para que sean públicos o privados según los requisitos de red y seguridad.
Registros de DNS
Cree registros DNS para enrutar el tráfico de red OpenShift interno y externo. Según los requisitos de red y seguridad, cree una zona de DNS pública, una zona de DNS privada o ambas. Una zona de DNS privada solo se puede resolver en redes de Oracle (como su VCN). Una zona de DNS pública permite el acceso externo.
api.<cluster_name>.<base_domain>
api-int.<cluster_name>.<base_domain>
*.apps.<cluster_name>.<base_domain>
Cada registro DNS debe hacer referencia a los mismos ID de equilibradores de carga públicos y privados.
Consulte Zones para obtener instrucciones sobre cómo crear y gestionar zonas de DNS.
Para obtener información detallada sobre la configuración de DNS de alto nivel, consulte la página Recursos definidos por Terraform para OpenShift en OCI en GitHub. Para definiciones de recursos específicas, acceda a la carpeta correspondiente en el directorio shared_modules y busque los siguientes recursos: oci_dns_zone
y oci_dns_rrset
.
Componente | Record | Equilibrador de carga | Descripción |
---|---|---|---|
API de Kubernetes | api.<cluster_name>.<base_domain>. |
Usar IP de equilibrador de carga de API |
Un registro A/AAAA o CNAME de DNS y un registro PTR de DNS para identificar el equilibrador de carga de API. Los clientes externos al cluster y de todos los nodos del cluster deben poder resolver estos registros. |
API de Kubernetes | api-int.<cluster_name>.<base_domain>. |
Usar IP de equilibrador de carga interno |
Un registro A/AAAA o CNAME de DNS y un registro PTR de DNS para identificar internamente el equilibrador de carga de API. Estos registros se deben poder resolver desde todos los nodos del cluster. |
Entrada de aplicación | *.apps.<cluster_name>.<base_domain>. |
Usar IP de equilibrador de carga de aplicaciones |
Registro de DNS A/AAAA o CNAME comodín que hace referencia al equilibrador de carga de entrada de la aplicación. El equilibrador de carga de entrada de la aplicación tiene como destino las máquinas que ejecutan los pods del controlador de entrada. Los pods de controlador de entrada se ejecutan en las máquinas informáticas por defecto. Los clientes externos al cluster y de todos los nodos del cluster deben poder resolver estos registros. Por ejemplo, |
Etiquetas definidas
Las etiquetas definidas son necesarias para agrupar e identificar todos los nodos de cálculo y plano de control.
Mediante el servicio Tagging, cree dos espacios de nombres de etiqueta y defina las etiquetas necesarias en el compartimento que está utilizando para crear el cluster OpenShift:
- Espacio de nombres de etiqueta:
openshift-tags
yopenshift-{cluster_name}
- Nombres y valores de etiquetas definidos:
-
- Para
openshift-tags
:openshift-resource
- Para
openshift-{cluster_name}
:instance-role
:control_plane
ocompute
(en función del tipo de nodo)boot-volume-type
:PARAVIRTUALIZED
oISCSI
- Para
Estas etiquetas se deben aplicar a todos los recursos relevantes durante el aprovisionamiento. Para obtener más información, consulte Etiquetas de atribución de recursos.
Para obtener más información, consulte Etiquetas y conceptos de espacio de nombres de etiqueta.
Para obtener instrucciones de alto nivel específicas para OpenShift en OCI, consulte la página Recursos definidos por Terraform para OpenShift en OCI en GitHub. Para definiciones de recursos específicas, acceda a la carpeta correspondiente en el directorio shared_modules y busque los siguientes recursos: oci_identity_tag_namespace
y oci_identity_tag
.
Grupos dinámicos
Los grupos dinámicos permiten agrupar instancias informáticas de Oracle Cloud Infrastructure (OCI) como actores "principales" (similares a los grupos de usuarios) para otorgar acceso a través de políticas de IAM.
Puede crear políticas de IAM (que se describen en la siguiente sección) que hagan referencia a estos grupos dinámicos para controlar el acceso a los recursos de OCI. Consulte Gestión de grupos dinámicos para obtener instrucciones. Para obtener detalles de alto nivel sobre la configuración de grupos dinámicos, consulte la página Recursos definidos por Terraform para OpenShift en OCI en GitHub. Para definiciones de recursos específicas, acceda a la carpeta relevante en el directorio shared_modules y busque el siguiente recurso: oci_identity_dynamic_group
.
- Nombre del grupo dinámico:
${var.cluster_name}_control_plane_nodes
- Compartimento: compartimento de cluster
- Regla de coincidencia:
all { instance.compartment.id = "${var.compartment_ocid}", tag.${var.op_openshift_tag_namespace}.${var.op_openshift_tag_instance_role}.value = "control_plane" }
Políticas de grupo dinámico
Se necesitan tres políticas de IAM para que el grupo dinámico del plano de control OpenShift acceda a los recursos de OCI y los gestione durante la creación del cluster. Estas políticas de IAM son necesarias para el grupo dinámico master
. Consulte Gestión de grupos dinámicos y Visión general de políticas de IAM para obtener instrucciones. Para obtener detalles de alto nivel sobre las configuraciones de políticas de grupo dinámico, consulte la página Recursos definidos por Terraform para OpenShift en OCI en GitHub. Para definiciones de recursos específicas, acceda a la carpeta relevante en el directorio shared_modules y busque el siguiente recurso: oci_identity_policy
.
- Política de acceso a recursos del plano de control: esta política permite a los nodos del plano de control gestionar los recursos de infraestructura principales. El grupo dinámico para los nodos de plano de control se denomina
${var.cluster_name}_control_plane_nodes
- Nombre de política:
${var.cluster_name}_control_plane_nodes
- Compartimento: compartimento de cluster
- Sentencias de póliza:
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}
- Nombre de política:
- Política de acceso de etiquetado de recursos de cluster: esta política otorga acceso a los nodos de plano de control para utilizar el espacio de nombres
openshift-tags
para etiquetar recursos de cluster.- Policy Name: $
{var.cluster_name}_control_plane_nodes_tags
- Compartment: compartimento raíz
- Sentencia de política:
Allow dynamic-group ${oci_identity_dynamic_group.openshift_control_plane_nodes.name} to use tag-namespaces in tenancy
- Policy Name: $
- (Opcional) Política de acceso de red: esta política solo es necesaria si los componentes de red están en un compartimento diferente al de las instancias de cluster.
-
Nombre de política:
${var.cluster_name}_control_plane_nodes_networking_access_policy
- Compartment: compartimento de red
- Sentencias de políticas:
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}
-
Imagen personalizada para instancias de Container Platform OpenShift
Para crear nodos de cluster para OpenShift Container Platform mediante Agent-based Installer, necesita una imagen personalizada del servicio Compute que contenga el software de Red Hat necesario para ejecutar los nodos de cluster. Para crear esta imagen, debe hacer lo siguiente:
- Cree una imagen ISO de detección localmente, mediante el binario
openshift-install
, disponible en Red Hat Hybrid Cloud Console. Consulte Creación de archivos de configuración para instalar un cluster en OCI (documentación de Red Hat) (documentación de Red Hat) para obtener instrucciones. - Cargue la imagen ISO de detección en OCI Object Storage. Consulte Creating an Object Storage Bucket y Uploading an Object Storage to a Bucket para obtener instrucciones.
- Cree una imagen personalizada en un servicio Compute según la ISO de detección. Consulte Gestión de imágenes personalizadas para obtener instrucciones.
Al crear la imagen personalizada, debe borrar la capacidad 'BIOS' para que esta opción no esté activada para la imagen. Consulte Configuring Image Capabilities for Custom Images en la documentación de Managing Custom Images para obtener detalles.
Archivos de Configuración del Agente
El instalador basado en agente requiere dos archivos de configuración que se deben editar para que pueda utilizar el instalador basado en agente para generar la imagen ISO de detección. Estos son los archivos agent-config.yaml
y install-config.yaml
. Consulte Creación de archivos de configuración para instalar un cluster en OCI (documentación de Red Hat) para obtener más información.
Después de crear los archivos agent-config.yaml
y install-config.yaml
, guárdelos localmente. La estructura de directorios local debe ser la siguiente:
.
└── local_machine_work_directory/
├── agent-config.yaml
├── install-config.yaml
└── openshift /
├── manifest.yml
Configuración de Firewall
Asegúrese de que el firewall está configurado para otorgar acceso a los sitios que necesita OpenShift Container Platform. Consulte Configuración del firewall para OpenShift Container Platform (documentación de Red Hat) para obtener más información sobre la configuración de la lista de permitidos del firewall para OpenShift Container Platform.
URL | Puerto | Función |
---|---|---|
ghcr.io | 443 | Proporciona la imagen de contenedor para Oracle Cloud Control Manager (CCM) y la interfaz de almacenamiento de contenedor (CSI). |
registro.k8s.io | 443 | Proporciona las imágenes de contenedor de kubernetes de soporte para CCM y CSI. |