Observação:

Gerenciar o OCI Kubernetes Engine com Diferentes Tipos de Capacidade e Resolver Problemas Comuns em Nós Preemptíveis

Introdução

À medida que continuamos em cada ciclo de transformação digital, as empresas continuam inovando e iterando, ultrapassando os limites do que é possível para infraestrutura, aplicações e gerenciamento em escala. Uma das tecnologias mais recentes e amplamente adotadas usadas para oferecer suporte ao gerenciamento de infraestrutura e aplicações é o Kubernetes. Antes de mergulhar ainda mais no Kubernetes, devemos primeiro olhar para o conceito de contêineres.

Os contêineres são um pacote de software que inclui um conjunto de códigos específicos do aplicativo, juntamente com as bibliotecas de tempo de execução e programa necessárias para suportar a execução confiável de um aplicativo. OS contêineres são configurados para serem executados dentro de um espaço do usuário dentro do Sistema Operacional (SO) do servidor subjacente. Essa arquitetura permite o desacoplamento dos serviços principais e a implantação leve de dependências de um aplicativo. Os benefícios da conteinerização de aplicativos incluem melhorias no isolamento da carga de trabalho, eficiência de recursos, escalabilidade e tolerância a falhas.

Para aproveitar a potência e a eficiência dos contêineres em escala, precisamos de algum tipo de ferramentas para interagir ou gerenciar nossas implementações baseadas em contêiner. O Kubernetes, também conhecido como K8s, é uma ferramenta de orquestração de contêiner de código aberto que automatiza a implantação de contêiner criando um cluster de servidores para os quais os contêineres podem ser executados, dimensionados e entregues aos seus usuários. A arquitetura de cluster do Kubernetes inclui um nó mestre (plano de controle) e vários nós de trabalho. Cada worker hospeda um pod/s (coleção de contêineres) que entrega seu aplicativo.

Arquitetura

Histórico no Kubernetes

Objetivos

Pré-requisitos

Como a Oracle Está Posicionada com a Tecnologia de Contêiner?

O OKE é um serviço Kubernetes totalmente gerenciado, escalável e altamente disponível que ajuda os clientes a implementar aplicativos em contêineres na nuvem. O OKE oferece aos clientes da OCI a capacidade de otimizar a utilização de recursos de computação para atender aos requisitos exclusivos de carga de trabalho e se adaptar rapidamente à medida que os requisitos de carga de trabalho mudam. O OKE oferece uma experiência perfeita ao cliente, oferecendo aos clientes desempenho de preço, eficiência de recursos, portabilidade e confiabilidade incomparáveis. O OKE fornece várias integrações importantes com vários produtos de gerenciamento do ciclo de vida do contêiner, incluindo registros de contêiner, estruturas de CI/CD, soluções de rede, opções de armazenamento e recursos de segurança de alto nível.

No OKE, você pode especificar o tipo de cluster como clusters básicos ou aprimorados. Os clusters básicos suportam todas as funcionalidades básicas fornecidas pelo OKE. Para ativar outros recursos, os clusters aprimorados suportam todos os recursos disponíveis, incluindo nós virtuais, nós autogerenciados, gerenciamento de complementos de cluster, configurações mais granulares do Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) e assim por diante.

OKE em Diferentes Tipos de Capacidade

Implantação do OKE com Pools de Nós Preemptíveis e OnDemand

Implantação do OKE com preemptível

Problemas Conhecidos com Preemptível

Existem alguns problemas conhecidos ao usar o preemptible com o OKE.

Tarefa 1: Etapas para Criar um Pool de Nós de Trabalho Preemptível do OKE E5 usando a CLI (Command Line Interface)

  1. Faça log-in na Console do OCI e clique no menu de serviços.

  2. Navegue até Developer Services.

  3. Em Contêineres e Artefatos, clique em Clique em Kubernetes Engine (OKE).

  4. Clique em OCI Cloud Shell para exibir a CLI.

  5. Edite o OCID de node-pool, o OCID de compartment, subnet-id, fault domain, a configuração e o tamanho antes de executar os comandos da CLI a seguir em sua tenancy.

    oci ce node-pool create 
    --cluster-id ocid1.cluster.oc1.iad.aaaaaaaaxlokvt2r25b6dmdxxxxxxxxxxxxxxxxxkhdilj7kpehc5vke2ve5gq
    --compartment-id ocid1.compartment.oc1..aaaaaaaaqufgrkgzr4zb3dxxxxxxxxxxxxxxxxxxp7jx7yckglghxppfrui6a 
    --name E5_Preemtible 
    --node-shape VM.Standard.E5.Flex 
    --placement-configs '[{"availabilityDomain": "FZyT:US-ASHBURN-AD-2", "preemptibleNodeConfig": {"preemptionAction":{"isPreserveBootVolume":true, "type": "TERMINATE"}}, "subnet-id": "ocid1.subnet.oc1.iad.aaaaaaaapmekowq4rqhu72xxxxxxxxxxxxxxxxxxxxtlkp4dmixebzhgrwdlmtteclq", "faultDomains":["FAULT-DOMAIN-1"]}]'
    --size 1 
    --node-image-id ocid1.image.oc1.iad.aaaaaaaajvtta4i5sq4xxxxxxxxxxxxxcskfxjwz4vwxz6ersmmax6q 
    --node-shape-config '{"memoryInGBs": 6.0, "ocpus": 1.0}'
    --pod-subnet-ids '["ocid1.subnet.oc1.iad.aaaaaaaapmekowq4rqhxxxxxxxxxxxxxxxkp4dmixebzhgrwdlmtteclq"]'
    

    Isso produzirá o OCID da solicitação de serviço para criar o pool de nós e criará o nó de trabalho preemptível E5 no cluster existente, conforme mostrado na imagem a seguir.

    Nó de trabalho preemptível E5

Confirmações

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.