Com a onda de modernização de apps/multi-cloud, muitas pessoas têm ouvido falar sobre o Kubernetes. No entanto, ao tentarem testá-lo, deparam-se com constraints de recursos. Além disso, criar e administrar um cluster vanilla Kubernetes (criado por meio do Kubeadm) pode ser um processo doloroso e consumir muito do seu precioso tempo, desde a criação do cluster até a gestão das dependências.
Portanto, hoje trago o Kubernetes da maneira mais fácil com o Google Kubernetes Engine (GKE), um serviço de Kubernetes oferecido por cloud providers como parte dos ‘serviços gerenciados de Kubernetes’. Este serviço proporciona simplicidade na criação de clusters, automação de atualizações e patches, além de ja incluir Load Balancer (LB) e muito mais.
A Google oferece um período de teste gratuito de 90 dias para serviços do Google Cloud Platform (GCP), incluindo o Google Kubernetes Engine (GKE). Tudo o que você precisa fazer é se registrar para começar a explorar e usar esses serviços sem custos durante o período de avaliação.
Após o registro, você pode começar a criar o cluster.
Criação do Cluster
Abrir a consola do GCP:
Kubernetes Engine -> Clusters
Habilitar Kubernetes Engine API
Na janela Kubernetes clusters, click em CREATE
De seguida, será solicitado para escolher o cluster mode: autopilot vs standard
Aqui, você pode selecionar o ‘Standard mode’ -> Configure. Com o autopilot, o número de nós no cluster será configurado automaticamente pela Google, maior parte das configs e feita pela google.
Cluster basics
preencher os dados do cluster, definir o nome, localização. Na localização, é ideal escolher uma região próxima, no entanto como ainda não temos uma região na África e tambem é para teste, tanto faz.
Nas configurações para definir a versão do Control Panel, basta selecionar o ‘Release channel’ -> Stable channel
Deixe as configurações restantes default e click em ‘CREATE’. Isso significa que não alteramos configs como número de nodes, auto scale vertifical/horizontal, node image & resoucers…
Em 5 min… temos o cluster criado
Aceder o cluster
Para aceder o cluster a partir da sua workstation e’ necessario ter instalado o google sdk e kubectl.
Basta seguir os guides:
https://cloud.google.com/sdk/docs/downloads-interactive
https://cloud.google.com/sdk/docs/install#linux
kubeclt
https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/
Outra opção disponível é usar o Cloud Shell, que é um terminal embutido
Depois de ter o kubectl
instalado, você pode procurar por três pontos verticais e clicar em “connect”.
Copia o comando e execute no seu terminal local
Dessa forma, você já terá acesso ao cluster.
Testar Deploy
Kubernetes Engine -> Workloads
Deploy para iniciar o processo.
No primeiro passo, você será solicitado a indicar o caminho (path) da imagem do container que deseja fazer deploy. A minha imagem esta hospedada num public registry (Docker Hub) por isso não foi necessário indicar o absolute path.
preencher o nome do deployment
No passo Expose, marque a opção “Expose deployment as new service”. A app está sendo executada na porta 9091, selecione “Load Balancer” como service type. Isso garantirá que a app seja acessível através de um LB.
Workload deployed
Para testar e certificar que o serviço esteja disponível, acesse o link ou endereço indicado na seção “External endpoints” no Service details.
Exemplo