Você está na página 1de 5

5/14/22, 11:45 AM Instalação | Kubernetes

Instalação
1: Instalando a ferramenta kubeadm

Essa seção lista as diferentes formas de instalar e executar o Kubernetes. Quando você
realiza a instalação de um cluster Kubernetes, deve decidir o tipo de instalação baseado em
critérios como facilidade de manutenção, segurança, controle, quantidade de recursos
disponíveis e a experiência necessária para gerenciar e operar o cluster.

Você pode criar um cluster Kubernetes em uma máquina local, na nuvem, em um datacenter
on-premises ou ainda escolher uma oferta de um cluster Kubernetes gerenciado pelo seu
provedor de computação em nuvem.

Existem ainda diversos outros tipos de soluções customizadas, que você pode se deparar ao
buscar formas de instalação e gerenciamento de seu cluster.

Ambientes de aprendizado
Se você está aprendendo ou pretende aprender mais sobre o Kubernetes, use ferramentas
suportadas pela comunidade, ou ferramentas no ecossistema que te permitam criar um
cluster Kubernetes em sua máquina virtual.

Temos como exemplo aqui o Minikube e o KinD

Ambientes de produção
Ao analisar uma solução para um ambiente de produção, devem ser considerados quais
aspectos de operação de um cluster Kubernetes você deseja gerenciar, ou então delegar ao
seu provedor.

Temos diversas opções para esse provisionamento, desde o uso de uma ferramenta de
deployment de um cluster tal qual o Kubeadm ou o Kubespray quando se trata de um cluster
local, ou ainda o uso de um cluster gerenciado por seu provedor de nuvem.

Para a escolha do melhor ambiente e da melhor forma para fazer essa instalação, você deve
considerar:

Se você deseja se preocupar com a gestão de backup da sua estrutura do ambiente de


gerenciamento
Se você deseja ter um cluster mais atualizado, com novas funcionalidades, ou se deseja
seguir a versão suportada pelo fornecedor
Se você deseja ter um cluster com um alto nível de serviço, ou com auto
provisionamento de alta disponibilidade
Quanto você deseja pagar por essa produção

https://kubernetes.io/pt-br/docs/setup/_print/ 1/5
5/14/22, 11:45 AM Instalação | Kubernetes

1 - Instalando a ferramenta kubeadm


Essa página mostra o processo de instalação do conjunto de ferramentas
kubeadm .
Para mais informações sobre como criar um cluster com o
kubeadm após efetuar a instalação, veja a página Utilizando kubeadm
para criar um cluster.

Antes de você começar


Uma máquina com sistema operacional Linux compatível. O projeto Kubernetes provê
instruções para distribuições Linux baseadas em Debian e Red Hat, bem como para
distribuições sem um gerenciador de pacotes.
2 GB ou mais de RAM por máquina (menos que isso deixará pouca memória para as
suas aplicações).
2 CPUs ou mais.
Conexão de rede entre todas as máquinas no cluster. Seja essa pública ou privada.
Nome da máquina na rede, endereço MAC e producy_uuid únicos para cada nó. Mais
detalhes podem ser lidos aqui.
Portas específicas abertas nas suas máquinas. Você poderá ler quais são aqui.
Swap desabilitado. Você precisa desabilitar a funcionalidade de swap para que o kubelet
funcione de forma correta.

Verificando se o endereço MAC e o


product_uiid são únicos para cada nó
Você pode verificar o endereço MAC da interface de rede utilizando o comando ip
link ou o comando ipconfig -a .

O product_uuid pode ser verificado utilizando o comando sudo cat


/sys/class/dmi/id/product_uuid .

É provável que dispositivos físicos possuam endereços únicos. No entanto, é possível que
algumas máquinas virtuais possuam endereços iguais. O Kubernetes utiliza esses valores
para identificar unicamente os nós em um cluster. Se esses valores não forem únicos para
cada nó, o processo de instalação pode falhar.

Verificando os adaptadores de rede


Se você possuir mais de um adaptador de rede, e seus componentes Kubernetes não forem
acessíveis através da rota padrão, recomendamos adicionar o IP das rotas para que os
endereços do cluster Kubernetes passem pelo adaptador correto.

Fazendo com que o iptables enxergue o


tráfego agregado
Assegure-se de que o módulo br_netfilter está carregado. Isso pode ser feito executando
o comando lsmod | grep br_netfilter . Para carrega-lo explicitamente execute sudo
modprobe br_netfilter .

Como um requisito para que seus nós Linux enxerguem corretamente o tráfego agregado de
rede, você deve garantir que a configuração net.bridge.bridge-nf-call-iptables do seu
sysctl está configurada com valor 1. Como no exemplo abaixo:

https://kubernetes.io/pt-br/docs/setup/_print/ 2/5
5/14/22, 11:45 AM Instalação | Kubernetes

cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf

br_netfilter

EOF

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

sudo sysctl --system

Para mais detalhes veja a página Requisitos do plugin de rede.

Verificando as portas necessárias


As portas listadas aqui precisam estar abertas para que os componentes do Kubernetes se
comuniquem uns com os outros.

O plugin de rede dos pods que você utiliza também pode requer que algumas portas estejam
abertas. Dito que essas portas podem diferir dependendo do plugin, por favor leia a
documentação dos plugins sobre quais portas serão necessárias abrir.

Instalando o agente de execução de


contêineres
Para executar os contêineres nos Pods, o Kubernetes utiliza um
agente de execução.

Nós Linux Outros sistemas operacionais

Por padrão, o Kubernetes utiliza a interface do agente de execução (CRI) para interagir
com o seu agente de execução de contêiner escolhido.

Se você não especificar nenhum agente de execução, o kubeadm irá tentar identifica-lo
automaticamente através de uma lista dos sockets Unix mais utilizados. A tabela a seguir
lista os agentes de execução e os caminhos dos sockets a eles associados.

Agente de execução Caminho do socket Unix


Docker /var/run/dockershim.sock
containerd /run/containerd/containerd.sock
CRI-O /var/run/crio/crio.sock

Se tanto o Docker quanto o containerd forem detectados no sistema, o Docker terá


precedência. Isso acontece porque o Docker, desde a versão 18.09, já incluí o containerd
e ambos são detectaveis mesmo que você só tenha instalado o Docker. Se outros dois ou
mais agentes de execução forem detectados, o kubeadm é encerrado com um erro.

O kubelet se integra com o Docker através da implementação CRI dockershim já inclusa.

Veja a página dos agentes de execução


para mais detalhes.

Instalando o kubeadm, kubelet e o kubectl


Você instalará esses pacotes em todas as suas máquinas:

kubeadm : o comando para criar o cluster.

kubelet : o componente que executa em todas as máquinas no seu cluster e cuida de


tarefas como a inicialização de pods e contêineres.

https://kubernetes.io/pt-br/docs/setup/_print/ 3/5
5/14/22, 11:45 AM Instalação | Kubernetes

kubectl : a ferramenta de linha de comando para interação com o cluster.

O kubeadm não irá instalar ou gerenciar o kubelet ou o kubectl para você, então você
precisará garantir que as versões deles são as mesmas da versão da camada de
gerenciamento do Kubernetes
que você quer que o kubeadm instale. Caso isso não seja feito,
surge o risco de que uma diferença nas versões
leve a bugs e comportamentos inesperados.
Dito isso, uma diferença de menor grandeza nas versões entre o kubelet e a
camada de
gerenciamento é suportada, mas a versão do kubelet nunca poderá ser superior à versão do
servidor da API.
Por exemplo, um kubelet com a versão 1.7.0 será totalmente compatível com
a versão 1.8.0 do servidor da API, mas o contrário não será verdadeiro.

Para mais informações acerca da instalação do kubectl , veja Instale e configure o kubectl.

Aviso: Essas instruções removem todos os pacotes Kubernetes de quaisquer


atualizações de sistema.
Isso ocorre porque o kubeadm e o Kubernetes requerem alguns
cuidados especiais para serem atualizados.

Para mais detalhes sobre compatibilidade entre as versões, veja:

Políticas de versão e compatibilidade entre versões do Kubernetes.


Compatibilidade entre versões do Kubeadm.

Distribuições Debian Distribuições Red Hat Sem um gerenciador de pacotes

1. Atualize o índice de pacotes apt e instale os pacotes necessários para utilizar o


repositório apt do Kubernetes:

sudo apt-get update

sudo apt-get install -y apt-transport-https ca-certificates curl

2. Faça o download da chave de assinatura pública da Google Cloud:

sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg http

3. Adicione o repositório apt do Kubernetes:

echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg]

4. Atualize o índice de pacotes apt , instale o kubelet, o kubeadm e o kubectl, e fixe


suas versões:

sudo apt-get update

sudo apt-get install -y kubelet kubeadm kubectl

sudo apt-mark hold kubelet kubeadm kubectl

O kubelet agora ficará reiniciando de alguns em alguns segundos, enquanto espera por
instruções vindas do kubeadm.

Configurando um driver cgroup


Tanto o agente de execução quanto o kubelet possuem uma propriedade chamada
"driver
cgroup", que é importante
para o gerenciamento dos cgroups em máquinas Linux.

Aviso:
A compatibilidade entre os drivers cgroup e o agente de execução é necessária. Sem ela
o processo do kubelet irá falhar.

https://kubernetes.io/pt-br/docs/setup/_print/ 4/5
5/14/22, 11:45 AM Instalação | Kubernetes

Veja configurando um driver cgroup para mais detalhes.

Solucionando problemas
Se você encontrar problemas com o kubeadm, por favor consulte a nossa documentação de
solução de problemas.

Próximos passos
Utilizando o kubeadm para criar um cluster.

https://kubernetes.io/pt-br/docs/setup/_print/ 5/5

Você também pode gostar