O kind é uma ferramenta para executar localmente um cluster kubernetes usando o docker. Os comando do kind ficam dentro do arquivo kind, por isso é necessário primeiro o path depois os comandos que deseja.
-
Instalando o docker e dando a permisão de sudo para o usuário.
sudo apt install docker-ce sudo curl -L https://get.docker.com/ | bash sudo usermod -aG docker $USER
-
Baixando o kind e instalando.
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.8.1/kind-linux-amd64 sudo chmod +x ./kind && sudo mv ./kind /usr/local/bin/
-
Criando um cluster
./kind create cluster --nome clustername ./run/kind get clusters
O helm instala charts no kubernetes, criando um novo release para cada instalação e para encontrar novos charts você pode pesquisar por repositórios do helm chart que você deseja.
Chart
- Chart é um pacote helm, ele contém todas as definições de recursos necessárias para executar um aplicativo, ferramenta ou serviço dentro de um cluster Kubernetes.
Release
- O release é uma instância de um chart em execução em um cluster Kubernetes. Muitas vezes, um chart pode ser instalado várias vezes no mesmo cluster. E cada vez que ele é instalado, uma nova versão é criada. Considere um gráfico MySQL. Se você deseja dois bancos de dados em execução em seu cluster, pode instalar esse chart duas vezes. Cada um terá seu próprio release, que por sua vez terá seu próprio nome de release.
As informações acima foram retiradas da documentação do helm.
-
Como instalar o helm
curl https://baltocdn.com/helm/signing.asc | sudo apt-key add - sudo apt-get install apt-transport-https --yes echo "deb https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list sudo apt-get update sudo apt-get install helm
Um orquestrador de containers. É uma uma plataforma de código aberto usada para orquestrar e gerenciar clusters de contêineres, eliminando a maior parte dos processos manuais necessários para implantar e escalar os aplicativos em contêineres.
Linha de comando para interação com o kubernetes.
-
Instalando o kubectl
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 version --client kubectl get nodes
Pod
- É onde você pode guardar containers.
Statefulset
- Manter o estado de aplicativos além do ciclo de vida um pod individual, como o armazenamento
Deployment
- Representa uma serie de pods identicos com identidades unicas, um deployment roda multiplas replicas de uma aplicação e automaticamente replica uma instancia caso uma dessas replicas caia.
Service
- Um serviço permite que você acesse um grupo de replicas pods dinamicamente.
namespace
- Kubernetes suporta clusters virtuais multiplos apoiado pelo mesmo cluster fisico. Esses clusters virtuais são chamados de namespaces.
apply
- Aplica ou da update em recursos de um arquivo ou stdin.
get
- Utilizado para listar um ou mais recursos.
delete
- Excluir recursos de um arquivo, stdin ou especificando seletores de rótulo, nomes, seletores de recursos ou recursos.
Foi aplicado, e o nifi rodou normalmente no localhost. Serve para rodar no localhost qualquer serviço que esteja rodando já em um cluster. Literalmente joga o nifi do cluster para o localhost.
Exemplo do comando para rodar o nifi na porta 8080 direto no localhost.
-
pods: my-release-nifi-0
-
namespace: mundodocker
kubectl port-forward my-release-nifi-0 8080:8080 -n mundodocker
- https://medium.com/@maths.nunes/o-que-%C3%A9-o-helm-e-porque-voc%C3%AA-deve-us%C3%A1-lo-508b7350dcd
- https://github.com/cetic/helm-nifi
- O que é o kubernetes e a sua importância
- https://medium.com/pixelpoint/kubernetes-port-forwarding-simple-like-never-before-20a8ab16370f
- https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/
- https://docs.microsoft.com/pt-br/azure/aks/concepts-clusters-workloads
- https://kubernetes.io/docs/reference/kubectl/overview/
- https://kubernetes.io/docs/tasks/tools/install-kubectl/
- Explicação mais detalhada sobre pods
- Explicação masi detalhada sobre namespaces