Fala, pessoal!

Tudo certo?

Trarei aqui uma introdução ao Kubernetes, que é um poderoso orquestrador de contêiners e muito utilizado no mercado.

Nessa introdução, iremos preparar um ambiente em nossa maquina, utilizando o minikube que é um programa que simula um cluster em nossa maquina. E o kubectl que é a ferramenta de linha de comando do Kubernetes. 

Também irei explicar alguns artefatos do Kubernetes, como Pods, Services (ClusterIP, NodePort e LoadBalancer), ConfigMap e ReplicaSet.

Pré-requisitos

O principal pre-requisito para a utilização do Kubernetes nessa postagem é familiaridade com o docker e linha de comando. 

Você pode encontrar uma postagem introdução ao docker: (docker parte 1)

Outra dependência é uma ferramenta de virtualização, como o virtualbox, vmware ou hyperV.

Instalando o minikube

A instalação do minikube é bem simples. 

Apenas devemos utilizar os comandos abaixo:

# Comando 1
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

# Comando 2
sudo install minikube-linux-amd64 /usr/local/bin/minikube

Como em todo o sistema linux, se ele não reclamar a instalação deu certo! 🙂

Para iniciar nosso cluster, devemos passar o comando abaixo.

minikube start

Como podem ver, nosso cluster está no ar! E o virtualbox foi utilizado como driver. 🙂

Instalando o kubectl

A instalação é muito parecida com a do minikube.

Usamos apenas os comandos abaixo:

# Comando 1
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

# Comando 2
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

Novamente não há reclamações 🙂

Instalação concluída! 😀

O que são Pods?

Os Pods são a menor unidade de um cluster Kubernetes, eles podem conter 1 ou mais contêiners.

Ele também é o menor artefato “deployable” e gerenciado pelo Kubernetes.

Abaixo, uma ilustração de 1 Pod com 4 contêineres.

O que são Services?

Com os Services, podemos criar IP’s fixos nos nossos contêineres e podemos realizar o balanceamento de carga também.

Seus principais recursos são:

ClusterIP
– Realiza a comunicação entre diferentes pods dentro de um mesmo cluster
– Fixa um IP pods atraves das labels

NodePort
– Serviço que permite a comunicação com o mundo externo
– Também funciona como ClusterIP

LoadBalancer
– LoadBalancer nada mais é do que um ClusterIP que permite a comunicação entre uma maquina do mundo externo e os nossos pods. Além disso, ele também realiza o balanceamento de carga de requisições.

Toda a comunicação realizada para os Pods, passa por um Service. 

O que são ConfigMaps?

Os ConfigMaps são configurações que nos permite passar variáveis de ambiente para nossos contêineres.

Com esse recurso, podemos aproveitar um único arquivo com as variáveis para diversos Pods. 

O que são ReplicaSets?

Os ReplicaSets são uma camada que nos permite gerenciar 1 ou mais Pods.

Esse componente permite que nós possamos definir o numero de replicas que queremos de um Pod e também permite a criação automática dos Pods em caso de falha.

Criando o primeiro Pod

Agora, vamos por um pouco a mão na massa! B)

Para testar, vamos criar um Pod simples, rodando uma imagem do nginx.

O comando abaixo inicia nosso minikube, que fará o papel de cluster dentro da nossa maquina. 

minikube start

Depois do cluster iniciar, iremos passar comandos utilizando o kubectl.

Para criar um Pod, basta digitarmos o comando abaixo:

kubectl run nginx-pod --image=nginx:latest

Agora, para vermos o Pod em execução, podemos escrever o comando abaixo:

kubectl get pods

Conclusão

Bom, nessa postagem abordamos principalmente a parte da instalação do Kubernetes.

Na próxima postagem irei abordar os comandos e os arquivos de configuração.

Espero que tenham gostado!

Um abraço!

🙂


Jefferson Soares

Olá! Sou Jefferson. Trabalho com: Dados, Dashboards, SQL, SAS, Python e muito mais! Criei esse cantinho para postar alguns conhecimentos. :)

4.5 2 votes
Article Rating
Subscribe
Notify of
guest
1 Comentário
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Eugênio Araújo
1 ano atrás

Cara! Bem bacana seus conteúdos…parabéns!
Acompanhando!

Last edited 1 ano atrás by Eugênio Araújo