Inscreva-se no feed

Introdução

Quer reduzir os custos de gerenciamento dos control planes? E ter menos trabalho para gerenciar vários deles? Com os control planes hospedados (também conhecidos como HyperShift) para o Red Hat OpenShift, é possível hospedar em escala clusters de contratantes do serviço do OpenShift na Amazon Web Services (AWS). Para cada cluster autônomo do OpenShift, o control plane é agendado em três nós de máquina. Já os control planes hospedados são agendados como pods em nós de trabalho disponíveis, como qualquer outra carga de trabalho. Desse modo, é possível criar e executar vários control planes em menos nós, tornando os clusters mais econômicos, além de permitir reutilizar elementos do contratante do serviço do OpenShift, como projetos, políticas e mais. Os control planes hospedados já reduzem os custos, e o uso de control planes hospedados pelo Arm pode aumentar ainda mais essa economia.

Eles podem ser instalados em ambientes de cluster existentes do Arm OpenShift Container Platform (OCP) de 64 bits, permitindo que você implante rapidamente vários control planes hospedados pelo Arm com NodePools de x86 de 64 bits. Tudo isso pode ser feito na plataforma da AWS, possibilitando economizar com o uso de control planes hospedados pelo Arm. Esta publicação explica os benefícios e as etapas para instalar um control plane hospedado pelo Arm.

Observação: o suporte para essa funcionalidade está em apresentação prévia da tecnologia (TP) e estará oficialmente disponível em uma versão futura.

Reduce Costs with ARM Hosted Control Planes on AWS-ptbr

 

Benefícios

O uso de control planes hospedados pelo Arm, em vez de clusters OCP padrão, oferece os seguintes benefícios adicionais:

  • Redução de custos em cerca de 20% em comparação com um control plane equivalente hospedado em x86. Economia no custo por hora de m6i.xlarge (baseado em x86) em relação a m6g.xlarge (baseado em Arm)
  • Manutenção reduzida
  • Limites de segurança mais fortes entre o gerenciamento e as cargas de trabalho
  • Vários control planes executados em menos nós, tornando os clusters mais econômicos
  • Tempos mais rápidos de inicialização dos control planes
  • Gerenciamento de multicluster mais centralizado e simples

Encontre mais detalhes sobre os benefícios do cluster hospedado na documentação de visão geral do control plane hospedado.

Preparação do cluster

O OCP 4.13.0 é executado como a base subjacente de um cluster do Arm OCP de 64 bits hospedado na AWS.

  1. Instale o operador de mecanismo multicluster 2.2.4 ou mais recente. Confira as instruções de instalação aqui.
  2. Em seguida, siga as etapas em 1.7.1.2. Como criar o bucket da Amazon Web Services S3 e a chave secreta do S3 OIDC para configurar esses elementos.
    1. Após a etapa 1, execute este comando:
       

      aws s3api put-bucket-ownership-controls --bucket $BUCKET_NAME --ownership-controls="Rules=[{ObjectOwnership=BucketOwnerPreferred}]"
  3. Em seguida, realize as etapas em 1.7.1.6. Como habilitar a funcionalidade de control planes hospedados.
  4. Faça o download da interface de linha de comando (CLI) do hypershift, descrito em 1.7.1.7 Como instalar a CLI do control plane hospedado.

 

Demonstração

As seções a seguir guiam você por estas etapas:

  1. Como configurar variáveis de ambiente
  2. Como criar um control plane hospedado pelo Arm e um cluster guest em x86 de 64 bits
  3. Como adicionar outro cluster guest em x86 de 64 bits ao control plane hospedado pelo Arm existente
  4. Como excluir um control plane hospedado pelo Arm

Como configurar variáveis de ambiente

Primeiro, configure algumas variáveis de ambiente necessárias pela ferramenta de linha de comando do HyperShift para instalar o operador Arm HyperShift e criar o cluster de control planes hospedados. Isso é feito logo após a etapa 1, descrita em 1.7.2.3. Como implantar um cluster hospedado na AWS.

Você pode obter a chave secreta para extrair a imagem no Red Hat OpenShift Cluster Manager.

REGION=us-east-1
AWS_CREDS=~/.aws/credentials
BASE_DOMAIN=my.base.domain.com
PULL_SECRET=~/all-the-pull-secrets.json
BUCKET_NAME=my-s3-bucket
CLUSTER_NAME=my-hypershift-arm-cluster
NODEPOOL_NAME=my-additional-x86-guest-cluster
NODEPOOL_REPLICAS=2

 

Defina a variável de ambiente KUBECONFIG para apontar para o cluster de gerenciamento do Arm de 64 bits do OpenShift.

$ hypershift % export KUBECONFIG=/Users/user/aws-oc-nightly/auth/kubeconfig

 

Como criar um control plane hospedado pelo Arm e um cluster guest em x86 de 64 bits

1) Em seguida, crie um control plane hospedado usando um cluster guest inicial com dois nós e substitua a imagem de versão padrão por uma imagem de versão multiarquitetura, pois o cluster de gerenciamento usa Arm de 64 bits, e os clusters guests do control plane hospedado usam x86 de 64 bits. Isso garante que a configuração de bootstrap correta seja usada para criar o cluster hospedado e o cluster guest.

Isso é feito logo após a etapa 4, descrita em 1.7.2.3. Como implantar um cluster hospedado na AWS

$ hypershift create cluster aws \ 
--name $CLUSTER_NAME \
--node-pool-replicas=$NODEPOOL_REPLICAS \
--base-domain $BASE_DOMAIN \
--pull-secret $PULL_SECRET \
--aws-creds $AWS_CREDS \
--region $REGION \
--release-image quay.io/openshift-release-dev/ocp-release:4.13.0-multi

 

2) Verifique se o cluster guest foi criado com êxito usando a ferramenta de linha de comando do OpenShift.

$ oc get nodepools --namespace clusters
NAME                                   CLUSTER                     DESIRED NODES   CURRENT NODES   AUTOSCALING   AUTOREPAIR   VERSION       UPDATINGVERSION   UPDATINGCONFIG   MESSAGE
my-hypershift-arm-cluster-us-east-1a   my-hypershift-arm-cluster   2               2               False         False        4.13.0

 

3) Verifique se o control plane hospedado foi criado com êxito.

$ oc get --namespace clusters hostedclusters
NAME                        VERSION       KUBECONFIG                                   PROGRESS    AVAILABLE   PROGRESSING   MESSAGE
my-hypershift-arm-cluster   4.13.0   my-hypershift-arm-cluster-admin-kubeconfig   Completed   True        False         The hosted control plane is available

 

4) Após criar o cluster guest e o control plane hospedado com êxito, crie um KUBECONFIG para navegar até o novo cluster guest e verificar se as máquinas AWS estão nele.

$ hypershift create kubeconfig > temp_kubeconfig
2023/03/21 11:12:32 selected 1 of 1 hostedclusters for the kubeconfig
2023/03/21 11:12:32 adding clusters/my-hypershift-arm-cluster to kubeconfig
2023/03/21 11:12:32 added clusters-my-hypershift-arm-cluster to kubeconfig
2023/03/21 11:12:32 created kubeconfig with 1 contexts
$ hypershift % export KUBECONFIG=/Users/user/hypershift/temp_kubeconfig
$ hypershift % oc get nodes
NAME                           STATUS   ROLES    AGE   VERSION
ip-10-0-142-149.ec2.internal   Ready    worker   10m   v1.26.2+06e8c46
ip-10-0-143-86.ec2.internal    Ready    worker   10m   v1.26.2+06e8c46

 

Como adicionar outro cluster guest em x86 de 64 bits ao control plane hospedado pelo Arm existente

Você também pode adicionar outros clusters guests ao control plane hospedado, conforme necessário, usando a ferramenta de linha de comando do HyperShift.

$ hypershift create nodepool aws \
--cluster-name $CLUSTER_NAME \
--name $NODEPOOL_NAME \
--node-count=$NODEPOOL_REPLICAS
NodePool my-additional-x86-guest-cluster created

 

Use o comando da ferramenta de linha de comando do OpenShift para verificar se o novo cluster guest foi inicializado com êxito.

$ oc get nodepools --namespace clusters
NAME                                   CLUSTER                     DESIRED NODES   CURRENT NODES   AUTOSCALING   AUTOREPAIR   VERSION       UPDATINGVERSION   UPDATINGCONFIG   MESSAGE
my-additional-x86-guest-cluster        my-hypershift-arm-cluster   2               2               False         False        4.13.0
my-hypershift-arm-cluster-us-east-1a   my-hypershift-arm-cluster   2               2               False         False        4.13.0

 

Como excluir um control plane hospedado pelo Arm

Para excluir o control plane hospedado pelo Arm, execute o comando abaixo. Isso é feito logo após a etapa 1, descrita em 1.7.2.3. Como destruir um cluster hospedado na AWS.

$ hypershift destroy cluster aws \
--name $CLUSTER_NAME \ 
--aws-creds $AWS_CREDS

 

Resumo

Demonstramos as etapas necessárias para instalar e verificar um control plane hospedado pelo Arm com um cluster de contratante do serviço do x86 de 64 bits. Também demonstramos como usar a ferramenta de linha de comando do HyperShift para instalar o operador Arm HyperShift, criamos um cluster de contratante do serviço adicional do x86 de 64 bits usando o mesmo control plane hospedado Arm e verificamos se ele foi criado com êxito. Depois, verificamos se o control plane hospedado pelo Arm foi criado com êxito e, em seguida, o excluímos.

Trabalho futuro

No futuro, os recursos de CPU multiarquitetura para control planes hospedados serão expandidos. O próximo recurso a ser adicionado é a criação de Arm NodePools de 64 bits na AWS. Com ele, você poderá executar o x86 de 64 bits e Arm NodePools de 64 bits no mesmo control plane hospedado. Não será possível misturar arquiteturas de CPU no mesmo NodePool.

Após os Arm NodePools de 64 bits na AWS, vamos expandir os control planes hospedados de 64 bits e os Arm NodePools de 64 bits para outros provedores on-premises e na nuvem.


Sobre o autor

Senior software engineer with over 10 years of industry experience in the full software development cycle. Bryan’s work in Red Hat over the past few years has primarily focused on expanding Arm offerings in Red Hat OpenShift and development on Hosted Control Planes.

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

Navegue por canal

automation icon

Automação

Últimas novidades em automação de TI para empresas de tecnologia, equipes e ambientes

AI icon

Inteligência artificial

Descubra as atualizações nas plataformas que proporcionam aos clientes executar suas cargas de trabalho de IA em qualquer ambiente

open hybrid cloud icon

Nuvem híbrida aberta

Veja como construímos um futuro mais flexível com a nuvem híbrida

security icon

Segurança

Veja as últimas novidades sobre como reduzimos riscos em ambientes e tecnologias

edge icon

Edge computing

Saiba quais são as atualizações nas plataformas que simplificam as operações na borda

Infrastructure icon

Infraestrutura

Saiba o que há de mais recente na plataforma Linux empresarial líder mundial

application development icon

Aplicações

Conheça nossas soluções desenvolvidas para ajudar você a superar os desafios mais complexos de aplicações

Original series icon

Programas originais

Veja as histórias divertidas de criadores e líderes em tecnologia empresarial