titulo | descrição | autor | data |
---|---|---|---|
Kubernetes básico |
Esse repositório tem algumas ferramentas para automátizar o processo de criação do cluster baremetal. |
cristian-trucco |
06/06/2018 |
Kubernetes básico
Este repositório é focado em Kubernetes - setups baseados em on premise (baremetal) ou seja em VMs tradicionais. Existem breves explicações de conceitos chaves do Kubernetes. Tambémm coloquei oustras ferramentas que vão auxiliar na criação do cluster, como playbooks ansible,vagrant para provisionamento de máquinas locais e Terraform para provisioar a infra em Prod.
Apresentação básica dos conceitos chaves e componentes do Kubernetes.
Rodar o Kubernetes localmente
http://play-with-k8s.com é possivél criar e gerênciar o cluster direto do navegador.
Rodar um cluster local é possível usando o Minikube é necessário o VirtualBox ou HiperV, ou no caso de não querer instalar nada na máquina pode rodar os labs noObs: Caso não conheça o play with k8s escrevi um artigo no Medium de como criar um cluster nessa plataforma, lá tem explicando tudo com detalhes você vai gastar menos de 10 minutos para ler o artigo e implementar o cluster.
Para Windows utilize meu artigo que mostra como rodar o Minikube no Windows usando o Chocolatey
- Deploy de serviço: Usar os exemplos desse repositório
Subir o Minikube na máquina
minikube start
Subir o Minikube modo RBAC e passando versão do Kubernetes desejada
minikube start --kubernetes-version v1.10.0 --vm-driver=virtualbox --extra-config='apiserver.Authorization.Mode=RBAC'
Acessar o Dashboard do Kubernetes
minikube dashboard
O Kubectl é a cli que usaremos para interagir com nosso cluster
Listar os nós do cluster
kubectl get nodes
Listar os pods
kubectl get pods
Rodando o primeiro exemplo
-
O POD é a menor unidade no cluster Kubernetes, é o objeto que faz a abstração dos containers, é nesse objeto onde nossas aplicações iram rodar. Para rodar um exemplo rápido para ver como o kubernetes funciona entre na pasta deploy-test/ que está na raiz do repositório e execute o comando para criar um pod usando o kubectl.
-
Os comandos a seguir serão executados para criar e expor uma aplicação no cluster Kubernetes.
cd deploy-test/
kubectl create -f aplicação.yaml
Deployments é o que garante o estados dos pods, é nele que defino a quantidades de pods que irei rodar
- Comando cria o objeto deployment abstraindo o pod
kubectl create -f deployment.yaml
Cria o serviço que será o ponto de entrada para meus pods
kubectl create -f servico-aplicacao.yaml
Pegar a url do meu serviço
minikube service servico-aplicacao --url
Listar todos os objetos criados no cluster
kubectl get deployment,svc,pods,pvc
Segunda alternativa para o comando acima
kubectl gel all