Recursos do OCI para o Instalador Baseado em Agente para Instalação Manual
Crie manualmente os recursos do OCI necessários para instalar um cluster do Container Platform OpenShift usando o Instalador baseado em Agente.
Se você estiver provisionando recursos com o Terraform, conforme descrito em Instalando um Cluster com o Instalador Baseado em Agente Usando o Terraform, poderá ignorar este tópico.
O workflow do Instalador baseado em Agente para configurar a infraestrutura começa na Console do Red Hat Hybrid Cloud, na qual você faz download do binário openshift-install
para criar uma imagem ISO de descoberta necessária para provisionar instâncias do serviço Compute no OCI. Consulte a página Downloads do Instalador e da CLI OpenShift para fazer download do binário.
Para poder gerar a imagem ISO de descoberta (usada para provisionar instâncias do serviço Compute no OCI), você precisa provisionar a infraestrutura do OCI. Isso inclui OCIDs, faixas de CIDR da VCN, contagens de plano de controle e instância de computação e outras entradas necessárias para criar os arquivos de instalação baseados no Agente agent-config.yaml
, install-config.yaml
e openshift/custom_manifest.yaml
.
Após gerar a imagem, você alterna para a Console do OCI para provisionar a infraestrutura restante e continuar com a implantação do cluster.
Ao usar o Instalador baseado em Agente, você precisa dos recursos discutidos no tópico Pré-requisitos e nos seguintes componentes de infraestrutura:
- Compartimento
- VCN
- Balanceadores de carga
- Registros de DNS para os balanceadores de carga
- Namespace de tag e tags definidas para os nós de computação do cluster
- Grupo dinâmico do IAM para os nós de computação do cluster
- Políticas de IAM para o grupo dinâmico
- Imagem personalizada para provisionamento da instância do serviço Compute, criada com base na imagem ISO de descoberta OpenShift.
Você pode criar a maioria desses recursos antes de começar, exceto a imagem personalizada do serviço Compute, que requer a imagem ISO de descoberta.
Compartimento
Os compartimentos permitem que você organize e isole recursos de nuvem. Recomendamos a criação de um novo compartimento para o cluster OpenShift. Para obter mais informações, consulte Criando um Compartimento.
VCN e Recursos de Rede
Os nós de computação OpenShift, balanceadores de carga e outros recursos usam uma VCN (Rede Virtual na Nuvem) do OCI para estabelecer conexão. Consulte Criando uma VCN para obter instruções sobre como criar uma VCN.
Você precisa de permissões do serviço IAM para gerenciar VCNs e os recursos de Rede relacionados no Tipo de Recurso Agregado virtual-network-family
. Consulte Gerenciando o Acesso a Recursos para obter detalhes. Observe que as permissões de rede são discutidas na seção Serviços principais.
Opcionalmente, você pode usar grupos de segurança de rede (NSGs) na sua VCN para controlar o acesso. Consulte Grupos de Segurança de Rede para obter detalhes sobre o uso de NSGs para controlar o tráfego e o acesso à rede. Observe que o NSG deve estar no mesmo compartimento que os outros recursos de infraestrutura OpenShfit.
Consulte a página Recursos Definidos pelo Terraform para OpenShift no OCI em GitHub para obter detalhes de configuração da VCN e da sub-rede. Para definições de recursos específicas, acesse as pastas relevantes no diretório shared_modules e procure os seguintes recursos: oci_core_vcn,
oci_core_internet_gateway
, oci_core_nat_gateway
, oci_core_route_table
, oci_core_subnet
e oci_core_network_security_group
.
Balanceadores de Carga
O cluster Red Hat OpenShift requer dois balanceadores de carga, um para tráfego de rede interno e outro para tráfego externo. Consulte Criando um Balanceador de Carga para obter instruções. Para obter detalhes de alto nível sobre configurações do balanceador de carga, consulte a página Recursos Definidos pelo Terraform para OpenShift no OCI em GitHub. Para definições de recursos específicas, acesse a pasta relevante no diretório shared_modules e procure os seguintes recursos: oci_load_balancer_load_balancer
, oci_load_balancer_backend_set
e oci_load_balancer_listener
.
Balanceador de Carga Interna
Porta | Máquinas de back-end (membros do pool) | Descrição |
---|---|---|
6,443 | Bootstrap e plano de controle | Servidor da API Kubernetes |
22,623 | Bootstrap e plano de controle | Servidor de configuração da máquina |
22,624 | Bootstrap e plano de controle | Servidor de configuração da máquina |
Balanceador de Carga da API
Usado para tráfego do servidor de API do Kubernetes. Pode ser público ou privado. Use as informações a seguir para configurar o balanceador de carga da API
Porta | Máquinas de back-end (membros do pool) | Descrição |
---|---|---|
6,443 | Inicializar e controlar nós do plano | Tráfego do servidor de API do Kubernetes (HTTPS) |
22,624 | Inicializar e controlar nós do plano | Usado por nós de trabalho para fazer download de configurações de ignição ao ingressar no cluster. |
A porta 22624 é necessária para adicionar novos nós de trabalho ao cluster. Certifique-se de que esteja aberto e roteado corretamente no balanceador de carga de API externo (não interno).
Balanceador de Carga de Aplicativos
Porta | Máquinas de back-end (membros do pool) | Descrição |
---|---|---|
80 | Nós que executam pods do Controlador de Entrada (geralmente nós de computação ou de trabalho) | Tráfego HTTP |
443 | Nós que executam pods do Controlador de Entrada (geralmente nós de computação ou de trabalho) | tráfego HTTPS |
Você pode configurar os balanceadores de carga para serem públicos ou privados, dependendo dos requisitos de rede e segurança.
Registros do DNS
Crie registros DNS para rotear tráfego de rede OpenShift interno e externo. Dependendo dos seus requisitos de rede e segurança, crie uma zona de DNS pública, uma zona de DNS privada ou ambas. Uma zona DNS privada só pode ser resolvida dentro de redes Oracle (como sua VCN). Uma zona de DNS pública permite acesso externo.
api.<cluster_name>.<base_domain>
api-int.<cluster_name>.<base_domain>
*.apps.<cluster_name>.<base_domain>
Cada registro de DNS deve fazer referência aos mesmos IDs do balanceador de carga público e privado.
Consulte Zonas para obter instruções sobre como criar e gerenciar zonas de DNS.
Para obter detalhes de configuração de DNS de alto nível, consulte a página Recursos Definidos pelo Terraform para OpenShift no OCI em GitHub. Para definições de recursos específicos, acesse a pasta relevante no diretório shared_modules e procure os seguintes recursos: oci_dns_zone
e oci_dns_rrset
.
Componente | Gravar | Balanceador de Carga | Descrição |
---|---|---|---|
API do Kubernetes | api.<cluster_name>.<base_domain>. |
Usar IP do balanceador de carga da API |
Um registro DNS A/AAAA ou CNAME e um registro PTR DNS para identificar o balanceador de carga da API. Esses registros devem ser resolvidos por clientes externos ao cluster e de todos os nós dentro do cluster. |
API do Kubernetes | api-int.<cluster_name>.<base_domain>. |
Usar IP do balanceador de carga interno |
Um registro DNS A/AAAA ou CNAME e um registro DNS PTR para identificar internamente o balanceador de carga da API. Esses registros devem ser resolvidos de todos os nós dentro do cluster. |
Entrada do Aplicativo | *.apps.<cluster_name>.<base_domain>. |
Usar IP do balanceador de carga de aplicativos |
Um registro DNS A/AAAA ou CNAME curinga que se refere ao balanceador de carga de entrada do aplicativo. O balanceador de carga de entrada do aplicativo tem como alvo as máquinas que executam os pods do Controlador de Entrada. Os pods do Controlador de Entrada são executados nas máquinas de computação por padrão. Esses registros devem ser resolvidos por clientes externos ao cluster e de todos os nós dentro do cluster. Por exemplo, |
Tags definidas
As tags definidas são necessárias para agrupar e identificar todos os nós de plano de controle e computação.
Usando o serviço Tagging, crie dois namespaces de tag e defina as tags necessárias no compartimento que você está usando para criar o cluster OpenShift:
- Namespace de tag:
openshift-tags
eopenshift-{cluster_name}
- Nomes e valores de tags definidos:
-
- Para
openshift-tags
:openshift-resource
- Para
openshift-{cluster_name}
:instance-role
:control_plane
oucompute
(dependendo do tipo de nó)boot-volume-type
:PARAVIRTUALIZED
ouISCSI
- Para
Essas tags devem ser aplicadas a todos os recursos relevantes durante o provisionamento. Para obter mais informações, consulte Tags de Atribuição de Recursos.
Para obter mais informações, consulte Conceitos de Tags e Namespace de Tag.
Para obter instruções de alto nível específicas para OpenShift no OCI, consulte a página Recursos Definidos pelo Terraform para OpenShift no OCI no GitHub. Para definições de recursos específicos, acesse a pasta relevante no diretório shared_modules e procure os seguintes recursos: oci_identity_tag_namespace
e oci_identity_tag
.
Grupos Dinâmicos
Os grupos dinâmicos permitem agrupar instâncias de computação da Oracle Cloud Infrastructure (OCI) como atores "principais" (semelhantes aos grupos de usuários) para conceder acesso por meio de políticas do IAM.
Você pode criar políticas do IAM (discutidas na seção a seguir) que façam referência a esses grupos dinâmicos para controlar o acesso aos recursos do OCI. Consulte Gerenciando Grupos Dinâmicos para obter instruções. Para obter detalhes de alto nível sobre a configuração de grupos dinâmicos, consulte a página Recursos Definidos pelo Terraform para OpenShift no OCI em GitHub. Para definições de recursos específicos, acesse a pasta relevante no diretório shared_modules e procure o seguinte recurso: oci_identity_dynamic_group
.
- Nome do grupo dinâmico:
${var.cluster_name}_control_plane_nodes
- Compartimento: Compartimento do cluster
- Regra de correspondência:
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
Três políticas do IAM são necessárias para que o grupo dinâmico do plano de controle OpenShift acesse e gerencie recursos do OCI durante a criação do cluster. Essas políticas do serviço IAM são necessárias para o grupo dinâmico master
. Consulte Gerenciando Grupos Dinâmicos e Visão Geral de Políticas do Serviço IAM para obter instruções. Para obter detalhes de alto nível sobre configurações de política de grupo dinâmico, consulte a página Recursos Definidos pelo Terraform para OpenShift no OCI no GitHub. Para definições de recursos específicos, acesse a pasta relevante no diretório shared_modules e procure o seguinte recurso: oci_identity_policy
.
- Política de Acesso a Recursos do Plano de Controle: Esta política permite que os noes do plano de controle gerenciem recursos básicos de infraestrutura. O grupo dinâmico para nós do plano de controle é chamado
${var.cluster_name}_control_plane_nodes
- Nome da Política:
${var.cluster_name}_control_plane_nodes
- Compartimento: Compartimento do cluster
- Instruções de Política:
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}
- Nome da Política:
- Política de Acesso ao Serviço Tagging de Recursos do Cluster: Esta política concede acesso aos nós do plano de controle para usar o namespace
openshift-tags
para marcar recursos do cluster.- Nome da Política: $
{var.cluster_name}_control_plane_nodes_tags
- Compartimento: Compartimento raiz
- Instrução da Política:
Allow dynamic-group ${oci_identity_dynamic_group.openshift_control_plane_nodes.name} to use tag-namespaces in tenancy
- Nome da Política: $
- (Opcional) Política de Acesso à Rede: Esta política só será necessária se os componentes de rede estiverem em um compartimento diferente das instâncias do cluster.
-
Nome da Política:
${var.cluster_name}_control_plane_nodes_networking_access_policy
- Compartimento: Compartimento de rede
- Instruções de Política:
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}
-
Imagem Personalizada para Instâncias do Container Platform OpenShift
Para criar nós de cluster para o OpenShift Container Platform usando o Instalador baseado em Agente, você precisa de uma imagem personalizada do serviço Compute que contenha o software Red Hat necessário para executar os nós de cluster. Para criar esta imagem, faça o seguinte:
- Crie uma imagem ISO de descoberta localmente, usando o binário
openshift-install
, disponível no Red Hat Hybrid Cloud Console. Consulte Criando arquivos de configuração para instalar um cluster no OCI (documentação da Red Hat) (documentação da Red Hat) para obter instruções. - Faça upload da sua imagem ISO de descoberta para o OCI Object Storage. Consulte Criando um Bucket do Object Storage e Fazendo Upload de um Objeto do Object Storage para um Bucket para obter instruções.
- Crie uma imagem personalizada em um serviço Compute com base no ISO de descoberta. Consulte Gerenciando Imagens Personalizadas para obter instruções.
Ao criar sua imagem personalizada, você deve limpar o recurso 'BIOS' para que essa opção não seja ativada para sua imagem. Consulte Configuring Image Capabilities for Custom Images na documentação Managing Custom Images para obter detalhes.
Arquivos de Configuração do Agente
O Instalador baseado em Agente requer dois arquivos de configuração que devem ser editados para que você possa usar o Instalador baseado em Agente para gerar a imagem ISO de descoberta. Estes são os arquivos agent-config.yaml
e install-config.yaml
. Consulte Criando arquivos de configuração para instalar um cluster no OCI (documentação da Red Hat) para obter detalhes.
Depois de criar os arquivos agent-config.yaml
e install-config.yaml
, salve-os localmente. Sua estrutura de diretório local deve ser a seguinte:
.
└── local_machine_work_directory/
├── agent-config.yaml
├── install-config.yaml
└── openshift /
├── manifest.yml
Configuração do Firewall
Certifique-se de que seu firewall esteja configurado para conceder acesso aos sites que o OpenShift Container Platform exige. Consulte Configurando seu firewall para a OpenShift Container Platform (documentação da Red Hat) para obter detalhes sobre como configurar a lista de permissões do firewall para a OpenShift Container Platform.
URL | Porta | Função |
---|---|---|
ghcr.io | 443 | Fornece a imagem do contêiner para o Oracle Cloud Control Manager (CCM) e a Container Storage Interface (CSI). |
Registro.k8s.io | 443 | Fornece as imagens de contêiner do kubernetes de suporte para CCM e CSI. |