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
-
Instale componentes
karmadaem um cluster do OKE do host. -
Una 2 clusters de membros do OKE ao karmada.
-
Crie a implantação com pods distribuídos entre 2 clusters do OKE.
Pré-requisitos
-
Tenancy ativa no OCI
-
Um usuário com privilégios suficientes para criar os recursos
Observação: Você só pode usar a identidade da carga de trabalho para clusters aprimorados.
-
Um compartimento já criado para implantar recursos
-
Grupo dinâmico para todas as VMs no compartimento:
All {instance.compartment.id = 'ocid1.compartment.oc1...'} -
Política para executar comandos da CLI do OCI usando o controlador de instâncias:
allow dynamic-group <dynamic-group-name> to manage cluster-family in compartment <compartment-name>
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.
-
Faça download do zip da release que contém os arquivos terraform do github: karmada-on-oke.
-
Use o Oracle Resource Manager para criar e aplicar a pilha.
- Usando o menu de hambúrguer, vá para o Oracle Resource Manager.
- Escolha
Stacks. - Selecione
Create stack. - Selecione
My configuration. - Na seção
My configuration, verifique se a opçãoZip fileestá selecionada. Escolha o arquivo zip que você baixou anteriormente. SelecioneUpload. - Dê um nome significativo à pilha.
- Selecione
Next. - Escolha a chave pública ssh que será usada para conexão com a VM.
- Escolha o compartimento no qual os recursos serão criados.
- Selecione
Next. - Na próxima tela, selecione
Run apply. - Selecione
Create.
-
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
- Usando o IP obtido anteriormente, use ssh para estabelecer conexão com a VM:
ssh -i <private-ssh-key> opc@<public-IP> -
Alternar para usuário raiz:
sudo su - -
Instalar componentes do karmada no cluster do host:
karmadactl init
Tarefa 3: Associar Membros do Cluster do OKE
-
Junte-se ao cluster
member1:karmadactl --kubeconfig /etc/karmada/karmada-apiserver.config join member1 --cluster-kubeconfig=$HOME/.kube/config-k1 -
Junte-se ao cluster
member2:karmadactl --kubeconfig /etc/karmada/karmada-apiserver.config join member2 --cluster-kubeconfig=$HOME/.kube/config-k2 -
Exibir clusters de membros:
karmadactl --kubeconfig /etc/karmada/karmada-apiserver.config get clusters
Tarefa 4: Implantar Carga de Trabalho no Karmada
-
Defina
KUBECONFIGpara apontar para o servidor karmada-api:export KUBECONFIG=/etc/karmada/karmada-apiserver.config -
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 -
Verifique a implantação:
karmadactl get deployment --operation-scope allA 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 YObserve que dos três pods, dois estão em execução no
member2e um nomember1.
Tarefa 5: Limpar
- Desinstalar componentes karmada do cluster do host:
karmadactl --kubeconfig /root/.kube/config deinit
- Destrua os recursos criados usando a pilha terraform:
- Navegue de volta para o Oracle Resource Manager.
- Selecione a pilha criada.
- Selecione
Destroy.
Confirmações
- Autor - Daniel Dinu (Engenheiro Principal de Nuvens)
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.
Manage Workload on Multiple OKE Clusters Using Karmada
G55121-01