Pesquisa de site

Instale e implante o Kubernetes no Ubuntu 18.04 LTS


O que é Kubernetes?

Kubernetes é um sistema de gerenciamento de contêineres gratuito e de código aberto que fornece uma plataforma para automação de implantação, dimensionamento e operações de contêineres de aplicativos em clusters de computadores host. Com o Kubernetes, você pode usar livremente a infraestrutura de nuvem híbrida, local e pública para executar tarefas de implantação de sua organização.

Neste tutorial, explicaremos como instalar o Kubernetes em um sistema Ubuntu e também implantar o Kubernetes em um cluster Ubuntu de dois nós.

Os comandos e procedimentos mencionados neste artigo foram executados em um sistema Ubuntu 18.04 LTS. Como usaremos a linha de comando do Ubuntu, o Terminal, para executar todos os comandos, você pode abri-lo através do Dash do sistema ou do atalho Ctrl+Alt+T.

Instalação do Kubernetes

O cluster de dois nós que formaremos neste artigo consistirá em um nó mestre e um nó escravo. Ambos os nós precisam ter o Kubernetes instalado. Portanto, siga as etapas descritas abaixo para instalar o Kubernetes em ambos os nós do Ubuntu.

Etapa 1: instale o Docker em ambos os nós

Instale o utilitário Docker em ambos os nós executando o seguinte comando como sudo no Terminal de cada nó:

sudo apt install docker.io

Você será solicitado com uma opção S/n para prosseguir com a instalação. Digite Y e pressione Enter para continuar. O Docker será então instalado em seu sistema. Você pode verificar a instalação e também verificar o número da versão do Docker através do seguinte comando:

docker --version

Etapa 2: habilite o Docker em ambos os nós

Habilite o utilitário Docker em ambos os nós executando o seguinte comando em cada um:

sudo systemctl enable docker

Etapa 3: adicione a chave de assinatura do Kubernetes em ambos os nós

Execute o seguinte comando para obter a chave de assinatura do Kubernetes:

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add

Se o Curl não estiver instalado em seu sistema, você pode instalá-lo através do seguinte comando como root:

sudo apt install curl

Você será solicitado com uma opção S/n para prosseguir com a instalação. Digite Y e pressione Enter para continuar. O utilitário Curl será então instalado em seu sistema.

Etapa 4: adicionar o repositório Xenial Kubernetes em ambos os nós

Execute o seguinte comando em ambos os nós para adicionar o repositório Xenial Kubernetes:

sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"

Etapa 5: instalar o Kubeadm

A etapa final do processo de instalação é instalar o Kubeadm em ambos os nós por meio do seguinte comando:

sudo apt install kubeadm

Você será solicitado com uma opção S/n para prosseguir com a instalação. Digite Y e pressione Enter para continuar. O Kubeadm será então instalado em seu sistema.

Você pode verificar o número da versão do Kubeadm e também verificar a instalação através do seguinte comando:

kubeadm version

Implantação do Kubernetes

Etapa 1: desative a memória swap (se estiver em execução) em ambos os nós

Você precisa desabilitar a memória swap em ambos os nós, pois o Kubernetes não funciona corretamente em um sistema que usa memória swap. Execute o seguinte comando em ambos os nós para desabilitar a memória swap

sudo swapoff -a

Etapa 2: forneça nomes de host exclusivos para cada nó

Execute o seguinte comando no nó mestre para atribuir a ele um nome de host exclusivo:

sudo hostnamectl set-hostname master-node

Execute o seguinte comando no nó escravo para atribuir a ele um nome de host exclusivo:

hostnamectl set-hostname slave-node

Etapa 3: inicializar o Kubernetes no nó mestre

Execute o seguinte comando como sudo no nó mestre:

sudo kubeadm init --pod-network-cidr=10.244.0.0/16

O processo pode demorar um minuto ou mais dependendo da sua conexão com a Internet. A saída deste comando é muito importante:

Anote as seguintes informações da saída:

Para começar a usar seu cluster, você precisa executar o seguinte como usuário regular:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Agora você pode ingressar em qualquer número de máquinas executando o seguinte em cada nó

como raiz:

kubeadm join 192.168.100.6:6443 --token 06tl4c.oqn35jzecidg0r0m --discovery-token-ca-cert-hash sha256:c40f5fa0aba6ba311efcdb0e8cb637ae0eb8ce27b7a03d47be6d966142f2204c

Agora execute os comandos sugeridos na saída para começar a usar o cluster:

Você pode verificar o status do nó mestre executando o seguinte comando:

kubectl get nodes

Você verá que o status do nó mestre ainda não está pronto. Isso ocorre porque nenhum pod ainda foi implantado no nó mestre e, portanto, a Container Networking Interface está vazia.

Etapa 4: implantar uma rede de pods por meio do nó mestre

Uma rede pod é um meio de comunicação entre os nós de uma rede. Neste tutorial, estamos implantando uma rede Flannel pod em nosso cluster por meio do seguinte comando:

sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

Use o seguinte comando para visualizar o status da rede:

kubectl get pods --all-namespaces

Agora, ao ver o status dos nós, você verá que o nó mestre está pronto:

sudo kubectl get nodes

Etapa 5: Adicione o nó escravo à rede para formar um cluster

No nó escravo, execute o seguinte comando gerado ao inicializar o Kubernetes no nó mestre:

sudo kubeadm join 192.168.100.6:6443 --token 06tl4c.oqn35jzecidg0r0m --discovery-token-ca-cert-hash sha256:c40f5fa0aba6ba311efcdb0e8cb637ae0eb8ce27b7a03d47be6d966142f2204c

Agora, quando você executar o seguinte comando no nó mestre, ele confirmará que dois nós, o nó mestre e os nós do servidor, estão em execução em seu sistema.

sudo kubectl get nodes

Isso mostra que o cluster de dois nós agora está funcionando por meio do sistema de gerenciamento de contêineres Kubernetes.

Neste artigo, explicamos a instalação do sistema de gerenciamento de contêineres Kubernetes em dois nós Ubuntu. Em seguida, formamos um cluster simples de dois nós e implantamos o Kubernetes nele. Agora você pode implantar e usar qualquer serviço, como o servidor Nginx ou o contêiner Apache, para usar essa rede em cluster.

Artigos relacionados: