Como instalar Kubernetes no Ubuntu 20.04 fossa focal linux

Como instalar Kubernetes no Ubuntu 20.04 fossa focal linux

Kubernetes está liderando software em orquestração de contêineres. Kubernetes funciona gerenciando clusters, o que é simplesmente um conjunto de hosts destinados a executar aplicativos de contêineres. Para ter um cluster de Kubernetes, você precisa de um mínimo de dois nós - um nó mestre e a Nó do trabalhador. Obviamente, você pode expandir o cluster adicionando quantos nós do trabalhador necessário.

Neste guia, vamos implantar um cluster Kubernetes composto por dois nós, ambos com o Ubuntu 20.04 Fossa focal. Ter dois nós em nosso cluster é a configuração mais básica possível, mas você poderá escalar essa configuração e adicionar mais nós, se desejar.

Neste tutorial, você aprenderá:

  • Como instalar o Docker
  • Como instalar Kubernetes
  • Como configurar um nó de mestre e trabalhador
  • Como ingressar em um nó de trabalhador para um cluster de Kubernetes
  • Como implantar o nginx (ou qualquer aplicativo de contêiner) em um cluster Kubernetes
Implantando Kubernetes no Ubuntu 20.04 Fossa focal Requisitos de software e convenções de linha de comando Linux
Categoria Requisitos, convenções ou versão de software usada
Sistema Ubuntu instalado 20.04 ou Ubuntu atualizado 20.04 Fossa focal
Programas Kubernetes
Outro Acesso privilegiado ao seu sistema Linux como raiz ou através do sudo comando.
Convenções # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando
$ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular

Cenário

Antes de mergulharmos, vamos estabelecer os detalhes do nosso cenário. Como mencionado acima, nosso cluster terá dois nós, e os dois nós estão executando o Ubuntu 20.04 Fossa focal. Um será o nó mestre e pode ser facilmente identificado com seu nome de host de Kubernetes-mestre. O segundo nó será nosso Nó do trabalhador e ter um nome de host de Kubernetes-trabalhador.

O nó mestre implantará um cluster de Kubernetes e o nó do trabalhador simplesmente se junta a ele. Como os clusters de Kubernetes são projetados para executar o software de contêiner, depois de colocar nosso cluster em funcionamento, vamos implantar um contêiner de servidor nginx como uma prova de conceito.



Instale o docker

Ambos os nós precisarão instalar o Docker, pois Kubernetes confia nele. Abra um terminal e digite os seguintes comandos no nó mestre e no trabalhador para instalar o Docker:

$ sudo apt update $ sudo apt install docker.io 

Depois que o Docker terminar de instalar, use os seguintes Commmands para iniciar o serviço e para garantir que ele comece automaticamente após cada reinicialização:

$ sudo systemctl start docker $ sudo systemctl docker 

Instale Kubernetes

Agora estamos prontos para instalar Kubernetes. Assim como todos os outros comandos até este ponto, verifique se você está fazendo isso nos dois nós. Em seu mestre e trabalhador Kubernetes, primeiro instale o apt-transport-https pacote, que nos permitirá usar o HTTP e o HTTPS nos repositórios do Ubuntu. Agora também é um bom momento para instalar ondulação já que precisaremos disso em um momento:

$ sudo apt install install-transport-https curl 

Em seguida, adicione a chave de assinatura do Kubernetes aos dois sistemas:

$ CURL -S https: // pacotes.nuvem.Google.com/apt/doc/apt-key.gpg | Sudo Apt-Key Add 

Em seguida, adicionaremos o Kubernetes Package Repository. Observe que no momento da redação deste artigo, Ubuntu 16.04 Xenial Xerus é o mais recente repositório Kubernetes disponível. Isso deve eventualmente ser substituído pelo Ubuntu 20.04 Fossa focal, e o seguinte comando pode ser atualizado a partir de acolhedor para focal.

$ sudo apt-add-repositor "Deb http: // apt.Kubernetes.io/ kubernetes-xenial Main " 

Agora podemos instalar o Kubernetes:

$ sudo apt install kubeadm kubelet kubectl kubernetes-cni 

Desative a memória de troca

Kubernetes se recusará a funcionar se o seu sistema estiver usando a memória de troca. Antes de prosseguir, verifique se o nó mestre e o trabalhador trocará a memória desativada com este comando:

$ sudo swapoff -a 

Esse comando desativará a memória Swap até que seus sistemas sejam reiniciados; portanto, para fazer essa mudança persistir, use o Nano ou seu editor de texto favorito para abrir este arquivo:

$ sudo nano /etc /fstab 

Dentro deste arquivo, comente o /swapfile alinhar precedindo -o com um # símbolo, como visto abaixo. Em seguida, feche este arquivo e salve as alterações.

Adicione # para comentar a linha de swapfile

Defina nomes de host

Em seguida, verifique se todos os seus nós têm um nome de host único. Em nosso cenário, estamos usando os nomes de hosts Kubernetes-mestre e Kubernetes-trabalhador para diferenciar facilmente nossos hosts e identificar seus papéis. Use o seguinte comando se precisar alterar seus nomes de host:

$ sudo hostnamectl set-hostname kubernetes-mestre 


E no nó do trabalhador:

$ sudo hostnamectl set-hostname kubernetes-worker 

Você não notará que o nome do host muda no terminal até abrir um novo. Por fim, verifique se todos os seus nós têm um tempo e data precisos, caso contrário, você terá problemas com certificados TLS inválidos.

Inicialize o servidor mestre de Kubernetes

Agora estamos prontos para inicializar o nó principal Kubernetes. Para fazer isso, insira o seguinte comando em seu nó mestre:

Kubernetes-mestre: ~ $ sudo kubeadm init 
Kubernetes no Ubuntu 20.04 O nó mestre agora é inicializado

O nó Kubernetes mestre foi inicializado agora. A saída nos dá um KUBEADM JONE comando que precisaremos usar mais tarde para se juntar aos nossos nó (s) trabalhadores ao (s) nó mestre. Então, tome nota deste comando para mais tarde.

A saída de cima também nos aconselha a executar vários comandos como usuário regular para começar a usar o cluster Kubernetes. Execute esses três comandos no nó principal:

Kubernetes -mestre: ~ $ mkdir -p $ home/.Kube Kubernetes -mestre: ~ $ sudo cp -i/etc/kubernetes/admin.conf $ home/.Kube/config Kubernetes -mestre: ~ $ sudo chown $ (id -u): $ (id -g) $ home/.kube/config 

Implantar uma rede de pod

O próximo passo é implantar uma rede de pod. A rede POD é usada para comunicação entre hosts e é necessária para o cluster Kubernetes funcionar corretamente. Para isso, usaremos a rede de pods de flanela. Emita os dois comandos a seguir no nó mestre:

Kubernetes -mestre: ~ $ kubectl Aplicar -f https: // RAW.GithubUserContent.com/coreos/flannel/mestre/documentação/kube-flanel.YML Kubernetes -mestre: ~ $ kubectl Aplicar -f https: // RAW.GithubUserContent.com/coreos/flannel/mestre/documentação/k8s-manifests/kube-flanel-rbac.yml 

Dependendo do seu ambiente, pode levar apenas alguns segundos ou um minuto para trazer toda a rede de flanela. Você pode usar o Kubectl comando para confirmar que tudo está pronto e pronto:

Kubernetes-mestre: ~ $ KUBECTL GET PODS-All-NamesPaces 
A rede de pods é implantada com sucesso

Quando toda a coluna de status mostra 'Running', é uma indicação de que tudo acabou de implantar e bom ir para.

Junte -se ao cluster Kubernetes

Agora nosso cluster está pronto para que os nós do trabalhador se juntem. Use o KUBEADM JONE Comando recuperado anteriormente da saída de inicialização do nó principal Kubernetes para se juntar ao seu cluster Kubernetes:

Kubernetes-Worker: ~ $ sudo kubeadm Junte-se 192.168.1.220: 6443 -TOKEN 1EXB8S.2T4K3B5SYFC3JFMO-Discovery-Token-CA-Cert-Hash SHA256: 72AD481CEE4918CF2314738419356C9A402FB609263ADADADAD48C13797D0CBBA2341 
Juntando -se ao nó do trabalhador ao cluster de Kubernetes

De volta ao seu nó principal Kubernetes, confirme que Kubernetes-trabalhador agora faz parte do nosso cluster Kubernetes com este comando:

Kubernetes-mestre: ~ $ kubectl Get nós 
Exibe quais nós estão atualmente no cluster de Kubernetes

Implantando um serviço no cluster Kubernetes

Agora estamos prontos para implantar um serviço no cluster Kubernetes. Em nosso exemplo, implantaremos um servidor nginx em nosso novo cluster como prova de conceito. Execute os dois comandos a seguir em seu nó mestre:

Kubernetes-mestre: ~ $ kubectl run --image = nginx nginx-server --port = 80 --env = "domain = cluster" kubernetes-mestre: ~ $ kubectl expõe implantação nginx-server --port = 80--name = nginx-http 


Agora você deve ver um novo contêiner Nginx Docker implantado no nó do trabalhador:

Kubernetes-Worker: ~ $ sudo Docker PS 
O novo contêiner do Docker Nginx está em funcionamento no nó do trabalhador Kubernetes

Você pode ver uma lista em execução de todos os serviços disponíveis em execução em seu cluster com o seguinte comando, emitido do nó Kubernetes Maser:

Kubernetes-mestre: ~ $ kubectl Get SVC 
Exibe o que os serviços de contêiner estão sendo executados no cluster Kubernetes

Conclusão

Neste artigo, aprendemos a configurar o Kubernetes para implantar aplicativos de contêiner no Ubuntu 20.04 Fossa focal. Configuramos um cluster básico composto por dois hosts, um mestre e um trabalhador, embora isso possa ser dimensionado para muitos mais nós do trabalhador, se necessário.

Vimos como configurar o Docker e outros pré-requisitos, além de implantar um servidor nginx em nosso novo cluster como uma prova de conceito. Obviamente, essa mesma configuração pode ser usada para implantar qualquer número de aplicativos de contêinerizados.

Tutoriais do Linux relacionados:

  • Como instalar Kubernetes no Ubuntu 22.04 Jellyfish…
  • Como criar um cluster Kubernetes
  • Coisas para instalar no Ubuntu 20.04
  • Comparando Linux Apache Prefork vs Worker MPMS
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Para que são usados ​​Kubernetes para?
  • Como gerenciar clusters de Kubernetes com Kubectl
  • Kubeadm vs minikube, prós e contras
  • Kubernetes vs Docker, qual é a diferença?
  • Como implantar o WordPress em um cluster Kubernetes