Kubernetes é um sistema de gerenciamento de contêineres de código aberto e gratuito que fornece uma plataforma para automatizar a implantação, dimensionamento e operações de contêineres de aplicativos em grupos de computadores host.
Com o Kubernetes, eles podem aproveitar livremente a infraestrutura de nuvem local, pública e híbrida para executar as tarefas de implantação da organização.
Instalação do Kubernetes no Ubuntu e derivados
Para uma instalação prática, vamos usar um cluster de dois nós que formaremos neste artigo que consistirá em um nó mestre e um nó escravo.
Ambos os nós precisam ter o Kubernetes instalado neles. A primeira coisa que vamos fazer é instalar o docker em ambos, para isso só precisamos executar o seguinte comando neles:
sudo apt install docker.io
Para verificar se o docker está instalado, você pode executar o seguinte comando em ambos os nós:
docker --version
Agora vamos prosseguir para habilitar o docker em ambos os nós:
sudo systemctl enable docker
Agora, a próxima etapa é adicionar a chave Kubernetes a ambos os nós, fazemos isso com o seguinte comando:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
A próxima etapa é adicionar o seguinte repositório a ambos os sistemas:
sudo apt-add-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
A última etapa do processo de instalação é instalar o Kubeadm em ambos os nós por meio do seguinte comando:
sudo apt install kubeadm
Eles podem verificar o número da versão do Kubeadm e também verificar a instalação por meio do seguinte comando:
kubeadm version
Implantação do Kubernetes
Agora, para implementar a implantação do Kubernetes no sistema, devemos desativar a memória swap (se estiver em execução) em ambos os nós
Eles devem desabilitar a memória swap em ambos os nósjá que o Kubernetes não funciona corretamente em um sistema que usa memória swap.
Para fazer isso, basta executar:
sudo swapoff -a
Agora a próxima etapa é execute o seguinte comando no nó mestre para dar a ele um nome de host exclusivo:
sudo hostnamectl set-hostname master-node
Já para o nó escravo, devemos digitar:
sudo hostnamectl set-hostname slave-node
Feito isso agora vVamos prosseguir para inicializar o nó mestre com o seguinte comando:
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, então você deve anotar as informações na saída, pois contém o ip, token e outros.
Para começar a usar seu cluster, eles precisam executar o seguinte como um 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 eles podem se juntar a qualquer número de máquinas executando o seguinte em cada nó como usuários root:
kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
Onde eles irão substituir as informações de tutoken, tuip e seu hash pelas informações que foram ditas há alguns momentos e que eles escreverão.
Obtendo a lista de nós
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 interface de rede do contêiner está vazia.
Para ver a lista, só precisamos executar:
kubectl get nodes
Implantar uma rede pod por meio do nó mestre
Uma rede pod é um meio de comunicação entre os nós de uma rede. Neste tutorial, estamos implementando uma rede de pod de flanela em nosso cluster por meio do seguinte comando:
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Para saber o estado da rede, basta digitar:
kubectl get pods --all-namespaces sudo kubectl get nodes
Feito isso, agora é hora de adicionar o nó escravo à rede para formar um cluster, da mesma forma que devem complementar as informações como no nó mestre.
sudo kubeadm join tuip --token tutoken --discovery-token-ca-cert-hash sha256:tuhash
Agora, ao executar o seguinte comando no nó mestre, ele confirmará se dois nós, o nó mestre e os nós do servidor, estão sendo executados em seu sistema.
sudo kubectl get nodes
Isso mostra que o cluster de dois nós agora está ativo e em execução por meio do sistema de gerenciamento de contêiner Kubernetes.