Sim: Pegue que o cluster k8s é seu :)

Edson Morais
4 min readJun 12, 2021

Certamente o mercado de TI cada vez mais está procurando por profissionais com conhecimento, mesmo que razoável em Kubernetes. A orquestração de aplicações ‘containerizadas’ é o design da moda e provavelmente vai perdurar por um longo tempo e conhecimento em Kubernetes seja por alguma oferta em cloud pública (AWS EKS, Google GKE, Azure AKS, entre outros)ou por administração on-premise, se torna um diferencial entre os profissionais de TI.

Então você faz alguns cursos, lê artigos, visita alguns fóruns na web e até consegue assimilar alguma informação — Mas, sem acessar um cluster de verdade, multi nodes, testar algumas aplicações (mesmas que simples, pequenas), HPA, replicasets, damenonsets, services, deployments, simples pods, cron, jobs, etc — Estas informações não se tornarão conhecimento.

Por isso, pensando numa arquitetura, digamos ‘doméstica’ (ou seja, uma que seja capaz de construir em ‘qualquer’ computador pessoal) elaborei o seguinte design:

Então vamos lá:

1 — Faça download e Instale o VirtualBox (referência oficial).

2 — Faça download destes três arquivos, depois descompacte-os (eles são os servidores virtuais ilustrados na imagem anterior):

SRV01 — https://rb.gy/ykefl5
SRV02 —https://rb.gy/vzfwub
SRV03 — https://rb.gy/dcr20o

3 — ADICIONE e inicie estes três servidores no VirtualBox (para uma melhor experiência operacional, você pode iniciar o servidores em modo headless e utilizar ferramentas como a MobaXterm para se conectar a eles através de uma conexão SSH).

4— Faça login nestes três servidores usando a credencial a seguir:
user: edinho
password: admin123

5 — Familiarize com a estrutura de network entre estes três servers e seu PC:

5.1 — Nos servidores execute o comando [ ip a ] e veja que na interface [ enp0s3 ] temos o seguinte:

SRV-1 : IP 192.168.1.100 (nosso Master Node)
SRV-2 : IP 192.168.1.200 (um dos nossos dois Worker Node)
SRV-3 : IP 192.168.1.225 (um dos nossos dois Worker Node)

OBSERVAÇÃO: Dentro do diretório [ home ] do user [ edinho ] no server [ srv-01 ] deixei um arquivo txt com a string para join ao node master.

Ou seja, se vc criar um SRV04 (usando exemplo o ip 192.162.1.226 e gateway 192.168.1.254 ), você poderá adicionar este novo server (worker node)ao seu cluster!

ATENÇÃO:

Estes três servers usam como gateway o ip [192.168.1.254], pois estes três servidores estão configurados no VirtualBox como Rede Bridge. Que faz como que cada um destes três servidores sejam “um host em sua rede doméstica”. E se no MEU CASO o gateway da minha rede doméstica é justamente o [192.168.1.254].

A título de check de network, em cada server, faça um ping entre seus IPs, e também, pingue estes três servers pelo seu host local (seu PC).

6 — No SRV-01, faça um check de seu cluster:

kubectl get all — all-namespaces

7 — Faça download deste certificado digital e instale no browser do seu PC (para que você acesse os aplicações hosteados em seu cluster K8S): https://rb.gy/zorqbv

8 — Em seu PC acesse o K8S Dashboard:

https://192.168.1.100:6443/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/workloads?namespace=default

Ao acessar o K8S Dashboard é este o token de acesso:

eyJhbGciOiJSUzI1NiIsImtpZCI6ImtsdXlNQUR1OWJhUWVza2cyZF80LVBlZWJiOVhqWXhyeDgySGpGWEQwOU0ifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlcm5ldGVzLWRhc2hib2FyZCIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJhZG1pbi11c2VyLXRva2VuLTJyNmM1Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQubmFtZSI6ImFkbWluLXVzZXIiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiI4NTBkN2NhZC0zN2Q3LTQxMzEtYjg0Mi1mMWI1MDkxMDEwY2QiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6a3ViZXJuZXRlcy1kYXNoYm9hcmQ6YWRtaW4tdXNlciJ9.Nxj3rFJW0XvO5EfU2YlfVBeZ-fcNCeiFZMGPDRzaJic1vc9PluT_jo3peXGzsjYnCaGrKkZFIjHJ4Flg8P6Jc_uXfsjQLKoOuTllYYi8JyehTrZaFhceZDuGyZdFMM8cUV5V1WLZCkobMoBYoot6pLnSpPYPQmyvUviAxSi5uW991CXhv9wsAH6Or_l5lnAXiiMm4KJ42SJtm_Rn0GHD7KOR5opVSJnJLf3zVBU9dqn7EAQZYpO6yhTLk9JrLhvAMGrjTvTJ6K36NGLcNK6O1mNKv3VfAt_pvjw1Uzp5UDjLwvvTFgcRhol1AsvQg2–7jOPAK4tWPZKqma1lXKva0g

Você pode executar este comando no servidor SRV01, para obter este token em seu PC:

kubectl -n kubernetes-dashboard get secret $(kubectl -n kubernetes-dashboard get sa/admin-user -o jsonpath=”{.secrets[0].name}”) -o go-template=”{{.data.token | base64decode}}”

ATENÇÃO NESTE MOMENTO, o browser DEVERÁ apresentar sua lista de certificados digitais e você DEVERÁ selecionar o certificado que você instalou anteriormente.

8.1 — Em seu PC acesse o Grafana: http://192.168.1.100:30100/login
user: edinho
password: admin123

Bem, agora é com você!

Leia documentações; fóruns; faça TESTES; estrague seu servidor — depois corrija-o; Tente, Erre, Tente de novo.

Gostou desta ferramenta que utilizei para ilustrar nosso cluster? — É o K8SLens e você pode baixar e instalar ele em seu PC através deste link.

Desejo que estes exemplos sejam úteis, que além dos comandos e lógicas técnicas, a idéia possa gerar novas idéias! E ainda melhores!

--

--