O Kubernetes está deixando de oferecer suporte ao Docker. Agora, todo o trabalho árduo que você dedica ao aprendizado mudará muito. Mesmo desde o início, usar o Kubernetes não será o mesmo.
Estou falando sobre como instalar a própria ferramenta de gerenciamento de contêiner. Obviamente, você não pode implantar o Kubernetes da mesma maneira que fazia antes - com o Docker instalado como seu tempo de execução.
Juntos, agora tentaremos instalar o Kubernetes no Ubuntu Server 20.04 sem Docker.
O que você precisa
- Usuário com privilégios sudo
- Instância do Ubuntu Server 20.04 (servirá como o Controlador - você precisará de outras instâncias para rodar como nós, mas irei apenas demonstrar no Controlador, já que a configuração será a mesma em todas as máquinas)
Como instalar o tempo de execução containerd
A primeira coisa que faremos é instalar o tempo de execução do containerd, que substituirá o Docker. Faça login em sua instância do Ubuntu Server e certifique-se de atualizar o apt usando o comando:
sudo apt-get update
Depois disso, você deve iniciar a atualização com o comando:
sudo apt-get upgrade -y
Se o kernel estiver sendo atualizado, você precisará reiniciar o servidor (a menos que tenha o Live Patch instalado e em execução).
Instale o containerd usando o comando:
sudo apt-get install containerd -y
Configure o containerd e inicie o serviço usando os comandos:
sudo mkdir -p /etc/containerd sudo su - containerd config default /etc/containerd/config.toml
Como instalar o Kubernetes
Em seguida, instalaremos o Kubernetes. Primeiro você precisa adicionar a chave GPG do repositório usando o comando:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
Adicione o repositório Kubernetes usando o comando:
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
Agora você pode instalar todos os componentes necessários do Kubernetes usando o comando:
sudo apt-get install kubeadm kubelet kubectl –y
Como resolver vários problemas de container
É aqui que as coisas ficam um pouco complicadas. O Docker resolveu muitas coisas internas. Quando você vai para containerd, você precisa fazer algumas mudanças manuais na configuração.
A primeira mudança é adicionar uma linha a /etc/sysctl.conf. Abra o arquivo com o comando:
sudo nano /etc/sysctl.conf
Com este arquivo aberto, adicione o seguinte:
net.bridge.bridge-nf-call-iptables = 1
Salve e feche o arquivo.
Em seguida, digite os comandos:
sudo -s sudo echo '1' > /proc/sys/net/ipv4/ip_forward exit
Recarregue as configurações com o comando:
sudo sysctl --system
Você também precisará carregar alguns módulos obrigatórios usando os comandos:
sudo modprobe overlay sudo modprobe br_netfilter
Depois de cuidar disso, você pode inicializar o Kubernetes.
Como completar a configuração
Você precisará listar todos os seus hosts em / etc / hosts. Certifique-se de que a tela esteja no formato:
IP Address hostname
A próxima etapa é definir o nome do host do seu controlador (certifique-se de que corresponda ao nome do host usado em / etc / hosts) usando o comando:
sudo hostnamectl set-hostname HOSTNAME
Onde HOSTNAME é o nome do host que você deseja usar.
Desative a troca abrindo o arquivo fstab para edição com o comando:
sudo nano /etc/fstab
Neste arquivo, comente (adicionando um # no início da linha) a entrada que começa com:
/swap.img
Esta linha agora começará com:
# / swap.img
Salve e feche o arquivo.
Desative a troca com o comando:
sudo swapoff -a
Extraia os contêineres necessários com o comando:
sudo kubeadm config images pull
No controlador, inicialize o Kubernetes usando o comando:
sudo kubeadm init --pod-network-cidr=IPADDRESS/24
Onde IPADDRESS é o endereço IP do seu controlador.
Eventualmente, você retornará ao comando de que precisa para executar em seus nós para que eles possam se conectar ao cluster. Copie este comando.
Antes de juntar os nós ao cluster, você precisa cuidar de mais alguns bits no cluster.
No controlador, crie o diretório do cluster usando o comando:
mkdir -p $ HOME / .kube
Copie o arquivo de configuração para este diretório usando o comando:
sudo cp -i /etc/kubernetes/admin.conf $ HOME / .kube / config
Dê ao arquivo de configuração as permissões apropriadas com o comando:
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Implante uma rede de contêiner (neste caso, usaremos weave-net) no cluster usando o comando:
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
Agora você pode executar um comando de conexão em cada um dos nós para encerrar o cluster.
O processo não é tão simples como costumava ser. Esperançosamente, no futuro, implantar um cluster Kubernetes será tão fácil quanto usar o Docker.