Gerenciar Carga de Trabalho em Vários Clusters do OKE Usando o Karmada

Introdução

O Karmada (abreviação para Kubernetes Armada) é uma plataforma de gerenciamento que permite executar aplicações nativas da nuvem de forma integrada em vários clusters e ambientes de nuvem do Kubernetes sem exigir alterações em seus aplicativos. Ao aproveitar APIs nativas do Kubernetes e recursos avançados de programação, a Karmada oferece uma experiência de Kubernetes aberta e verdadeiramente multicloud.

Projetada para casos de uso de várias nuvens e nuvem híbrida, a Karmada fornece automação pronta para uso para o gerenciamento de aplicações em clusters. Seus principais recursos incluem gerenciamento centralizado, alta disponibilidade, recuperação automatizada de falhas e programação inteligente de tráfego.

Objetivos

Pré-requisitos

Tarefa 1: Criar Recursos Necessários para a Demonstração

Observação: as etapas a seguir mostram como implantar 3 clusters do OKE e 1 VM que serão usados durante a demonstração.

  1. Faça download do zip da release que contém os arquivos terraform do github: karmada-on-oke.

  2. Use o Oracle Resource Manager para criar e aplicar a pilha.

    1. Usando o menu de hambúrguer, vá para o Oracle Resource Manager.
    2. Escolha Stacks.
    3. Selecione Create stack.
    4. Selecione My configuration.
    5. Na seção My configuration, verifique se a opção Zip file está selecionada. Escolha o arquivo zip que você baixou anteriormente. Selecione Upload.
    6. Dê um nome significativo à pilha.
    7. Selecione Next.
    8. Escolha a chave pública ssh que será usada para conexão com a VM.
    9. Escolha o compartimento no qual os recursos serão criados.
    10. Selecione Next.
    11. Na próxima tela, selecione Run apply.
    12. Selecione Create.
  3. Obtenha o IP público da VM.

    Em uma execução bem-sucedida do job da etapa anterior, a última linha no log deve incluir o IP público da VM. Grave-o para uso posterior.

Tarefa 2: Instalar o Karmada no Cluster do Host

  1. Usando o IP obtido anteriormente, use ssh para estabelecer conexão com a VM:
    ssh -i <private-ssh-key> opc@<public-IP>
    
  2. Alternar para usuário raiz:

    sudo su -
    
  3. Instalar componentes do karmada no cluster do host:

    karmadactl init
    

Tarefa 3: Associar Membros do Cluster do OKE

  1. Junte-se ao cluster member1:

       karmadactl --kubeconfig /etc/karmada/karmada-apiserver.config  join member1 --cluster-kubeconfig=$HOME/.kube/config-k1
    
  2. Junte-se ao cluster member2:

       karmadactl --kubeconfig /etc/karmada/karmada-apiserver.config  join member2 --cluster-kubeconfig=$HOME/.kube/config-k2
    
  3. Exibir clusters de membros:

    karmadactl --kubeconfig /etc/karmada/karmada-apiserver.config  get clusters
    

Tarefa 4: Implantar Carga de Trabalho no Karmada

  1. Defina KUBECONFIG para apontar para o servidor karmada-api:

    export KUBECONFIG=/etc/karmada/karmada-apiserver.config
    
  2. Crie a implantação e a política de propagação correspondente:

    kubectl apply -f https://raw.githubusercontent.com/oracle-devrel/oci-automation-hub/refs/heads/main/karmada-on-oke-sample/deployment.yaml
    kubectl apply -f https://raw.githubusercontent.com/oracle-devrel/oci-automation-hub/refs/heads/main/karmada-on-oke-sample/propagationpolicy.yaml
    
  3. Verifique a implantação:

    karmadactl  get deployment --operation-scope all
    

    A saída deve ser semelhante a:

    # karmadactl  get deployment --operation-scope all
    NAME    CLUSTER   READY   UP-TO-DATE   AVAILABLE   AGE   ADOPTION
    nginx   Karmada   3/3     3            3           22m   -
    nginx   member2   2/2     2            2           22m   Y
    nginx   member1   1/1     1            1           22m   Y
    

    Observe que dos três pods, dois estão em execução no member2 e um no member1.

Tarefa 5: Limpar

  1. Desinstalar componentes karmada do cluster do host:
karmadactl --kubeconfig /root/.kube/config deinit
  1. Destrua os recursos criados usando a pilha terraform:

Confirmações

Mais Recursos de Aprendizado

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

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