Adicionando clusters Kubernetes externos no vRealize Automation 8.x
O vRealize Automation oferece suporte ao provisionamento de namespaces e a implantação de clusters Kubernetes a partir de itens do catálogo. O Kubernetes também pode ser usado como um endpoint no Code Stream para implantar aplicativos modernos por meio de pipelines. Além disso, o vRA fornece integração nativa com PKS e Red Hat OpenShift, porém, muitas vezes o cliente pode ter alguma outra plataforma de Kubernetes e isso não irá limitar o uso do vRA. Neste artigo vamos ver como adicionar ao vRA os clusters Kubernetes existentes.
Se você quiser fazer alguns testes com a integração entre o vRA e Kubernetes, eu escrevi um artigo sobre como criar um ambiente Kubernetes simples para este tipo de testes.
Vamos lá. Vá até Cloud Assemby > Infrastructure > Kubernetes > Add > Attach external cluster.
Para este teste eu estou utilizando o MicroK8s, neste caso vou mostrar como obtive as informações da imagem acima:
- URL – IP ou FQDN do Kubernetes master + a porta da API
- CA certificate – cat /var/snap/microk8s/current/certs/ca.crt
- Bearer token – microk8s kubectl create token default –duration 99999m
Depois de alguns segundos o vRA já consegue exibir as configurações de hardware, quantidade de nós, versões e etc.
Da mesma forma que quando adicionamos cloud accounts vSphere ou Azure precisamos configurar as cloud zones, neste caso precisamos configurar o Kubernetes Zones também. Para isso, basta seguir até Kubernetes Zone em Infrastructure.
Na aba Clusters vamos adicionar o ambiente Kubernetes que configuramos anteriormente.
E por fim, basta adicionarmos o Kubernetes Zone que acabamos de criar ao projeto que deseja usar.
Para testarmos rapidamente vamos utilizar este cloud template simples. A ideia é ter um input para digitarmos o nome do novo namespace no nosso ambiente Kubernetes.
formatVersion: 1 inputs: nome: type: string title: Namespace description: Nome do novo namespace Kubernetes resources: Cloud_K8S_Namespace_1: type: Cloud.K8S.Namespace properties: name: ${input.nome}
Sucesso na criação do namespace conzatech.
É isso aí, pessoal. Até a próxima.