Como instalar o Kubernetes em um servidor Ubuntu sem Docker

imagem



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. 



All Articles