O presente post, é explicar o que é Kubernetes e os procedimentos de instalação e configuração da ferramenta Kind que utiliza containers Docker e assim simular um cluster Kubernetes local.
O que é Kubernetes e para que serve?
Kubernetes ou "K8s" é uma ferramenta de orquestração de conteiners open source que automatiza a implantação, o dimensionamento e a gestão de aplicações em conteiners. Foi originalmente projetado pelo Google e agora é mantido pela Cloud Native Computing Foundation.
Instalando e configurando o Kind
Como o Kind utiliza o Docker, logo precisa ter o Docker instalado, caso ainda não tenha, segue o procedimento para instalar o Docker em qualquer distro GNU/Linux ou WSL2 no Windows 10/11.
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
Adicionar o usuário logado no grupo docker
Para que possa ser executados comandos Docker com usuário regular, é necessário adicionar no grupo docker.
$ sudo usermod -aG docker $(whoami)
Até a data de publicação deste post, a versão corrente do Kind é 0.14.0 e do Go é 1.17. Em stableVersion, substitua pela versão corrente, conforme a data que estiver seguindo este tutorial.
Antes é necessário instalar a linguagem Go para poder seguir os procedimentos seguintes na instalação do Kind.
PS: Escolhe uma das duas formas para instalar o Kind.
Instalando Kind via binário
$ curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.14.0/kind-linux-amd64
$ chmod +x ./kind
$ mv ./kind /opt/kind
Instalando Kind via Go
$ curl https://dl.google.com/go/go1.17.7.linux-amd64.tar.gz
$ tar -xvf go1.17.7.linux-amd64.tar.gz
$ sudo mv go /usr/local
Criar a variável de ambiente GOROOT e adicionar no PATH
$ export GOROOT=/usr/local/go
$ export GOPATH=$HOME/Projetos
$ export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
Feche e abre novamente o terminal e digite go version
$ go install sigs.k8s.io/kind@{{< stableVersion >}}
$ go install sigs.k8s.io/kind@v0.14.0
$ sudo chmod +x ./kind && sudo mv ./kind /usr/local/bin/
Criar o cluster
$ kind create cluster --name
$ kubectl cluster-info --context kind-<nome-cluster>
Listar os clusters criados
$ kind get nodes
Deleter o cluster criado
$ kind delete <nome-cluster>
Instalação do Kubectl
Para utilizar o kubectl, execute os procedimentos abaixo:
$ curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
$ chmod +x kubectl && sudo mv kubectl /usr/local/bin/
$ kubectl get nodes
Criar o arquivo kind.yml para criar os clusters Kubernetes
$ vim kind.yaml
kind: Cluster apiVersion: kind.x-k8s.io/v1.14.0 nodes: - role: controle-plane - role: worker - role: worker - role: worker - role: worker
$ kind create cluster --name <nome-cluster> --config=kind.yml
Listar os clusters
$ kubectl get nodes
Exemplo prático de execução do Rabbitmq no Kubernetes na máquina local
Criar o arquivo manifest.yml do Rabbitmq de exemplo
$ vim manifest.yml
applications: - name: rabbitmq memory: 256M instances: 2 path: .
Executar o arquivo manifest.yml
$ kubectl apply -f rabbitmq.yml
Verificar a execução
$ kubectl get all
Fazer o redirecionamento de porta para acessar no browser
$ kubectl port-forward service/rabbitmq-service 15672
Acesse no browser http://localhost:15672 acessar a tela do Rabbitmq
Para quem ainda não sabe, o Rabbitmq é uma ferramenta de mensageria de código aberto, bastante utilizada em microserviços.
Referências
https://kubernetes.io/docs/tutorials/stateless-application/guestbook/
Feito!
Nenhum comentário:
Postar um comentário