GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar un clúster de Kubernetes en CentOS 7

Introducción

Pequeños entornos virtuales, llamados contenedores , se han vuelto indispensables para desarrollar y administrar aplicaciones.

Trabajar en aplicaciones dentro de un contenedor aislado no afecta el sistema operativo host. Los contenedores son más eficientes que las máquinas virtuales ya que no necesitan su sistema operativo.

Kubernetes es una plataforma de código abierto que lo ayuda a implementar, escalar y administrar recursos en varios contenedores.

Siga este tutorial y aprenda a instalar Kubernetes en un sistema CentOS 7.

Requisitos previos

  • Múltiples servidores Linux que ejecutan CentOS 7 (1 nodo principal, múltiples nodos de trabajo)
  • Una cuenta de usuario en cada sistema con sudo o privilegios de root
  • El mmm administrador de paquetes, incluido por defecto
  • Línea de comando/ventana de terminal

Pasos para instalar Kubernetes en CentOS 7

Para usar Kubernetes, debe instalar un motor de contenedorización . Actualmente, la solución de contenedor más popular es Docker . Docker debe instalarse en CentOS, ambos en el Nodo Maestro y los Nodos Trabajadores.

Paso 1:configurar el repositorio de Kubernetes

Los paquetes de Kubernetes no están disponibles en los repositorios oficiales de CentOS 7. Este paso debe realizarse en el nodo maestro y en cada nodo trabajador que planee utilizar para la configuración de su contenedor. Ingrese el siguiente comando para recuperar los repositorios de Kubernetes.

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF

Paso 2:Instalar kubelet , kubeadm y kubectl

Estos 3 paquetes básicos son necesarios para poder usar Kubernetes. Instale los siguientes paquetes en cada nodo:

sudo yum install -y kubelet kubeadm kubectl
systemctl enable kubelet
systemctl start kubelet

Ahora ha instalado correctamente Kubernetes, incluidas sus herramientas y paquetes básicos.

Antes de implementar un clúster, asegúrese de establecer nombres de host, configurar el firewall y la configuración del kernel.

Paso 3:establecer el nombre de host en los nodos

Para dar un nombre de host único a cada uno de sus nodos, use este comando:

sudo hostnamectl set-hostname master-node

o

sudo hostnamectl set-hostname worker-node1

En este ejemplo, el nodo maestro ahora se llama nodo maestro, mientras que un nodo trabajador se llama nodo trabajador 1.

Cree una entrada de host o un registro DNS para resolver el nombre de host de todos los nodos:

sudo vi /etc/hosts

Con la entrada:

192.168.1.10 master.phoenixnap.com master-node
192.168.1.20 node1. phoenixnap.com node1 worker-node

Paso 4:configurar el cortafuegos

Los nodos, contenedores y pods deben poder comunicarse a través del clúster para realizar sus funciones. Firewalld está habilitado en CentOS de forma predeterminada en el front-end. Agregue los siguientes puertos ingresando los comandos enumerados.

En el nodo maestro ingrese:

sudo firewall-cmd --permanent --add-port=6443/tcp
sudo firewall-cmd --permanent --add-port=2379-2380/tcp
sudo firewall-cmd --permanent --add-port=10250/tcp
sudo firewall-cmd --permanent --add-port=10251/tcp
sudo firewall-cmd --permanent --add-port=10252/tcp
sudo firewall-cmd --permanent --add-port=10255/tcp
sudo firewall-cmd --reload

Cada vez que se agrega un puerto, el sistema lo confirma con un mensaje de "éxito".

Introduzca los siguientes comandos en cada nodo trabajador:

sudo firewall-cmd --permanent --add-port=10251/tcp
sudo firewall-cmd --permanent --add-port=10255/tcp
firewall-cmd --reload

Paso 5:actualice la configuración de Iptables

Configure net.bridge.bridge-nf-call-iptables a '1' en su archivo de configuración sysctl. Esto garantiza que las tablas de IP procesen correctamente los paquetes durante el filtrado y el reenvío de puertos.

cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

Paso 6:Deshabilitar SELinux

Los contenedores necesitan acceder al sistema de archivos del host. SELinux debe configurarse en modo permisivo, lo que deshabilita efectivamente sus funciones de seguridad.

Use los siguientes comandos para deshabilitar SELinux:

sudo setenforce 0
sudo sed -i ‘s/^SELINUX=enforcing$/SELINUX=permissive/’ /etc/selinux/config

Paso 7:deshabilitar SWAP

Por último, debemos deshabilitar SWAP para permitir que el kubelet funcione correctamente:

sudo sed -i '/swap/d' /etc/fstab
sudo swapoff -a

Cómo implementar un clúster de Kubernetes

Paso 1:crear un clúster con kubeadm

Inicialice un clúster ejecutando el siguiente comando:

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

El proceso puede tardar varios minutos en completarse según la velocidad de la red. Una vez que finaliza este comando, muestra un mensaje de unión de kubeadm. Tome nota de la entrada y utilícela para unir nodos trabajadores al clúster en una etapa posterior.

Paso 2:Administrar el clúster como usuario normal

Para comenzar a usar el clúster, debe ejecutarlo como un usuario normal escribiendo:

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

Paso 3:configurar la red de pods

Una red de pods permite que los nodos dentro del clúster se comuniquen. Hay varias opciones de red de Kubernetes disponibles. Utilice el siguiente comando para instalar la franela Complemento de red de pod:

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

Si decide usar flannel, edite las reglas de su cortafuegos para permitir el tráfico para el puerto predeterminado de flannel 8285 .

Paso 4:Comprobar el estado del clúster

Verifique el estado de los nodos ingresando el siguiente comando en el servidor maestro:

sudo kubectl get nodes

Una vez que se ha instalado una red de pod, puede confirmar que funciona comprobando que el pod de CoreDNS se está ejecutando escribiendo:

sudo kubectl get pods --all-namespaces

Paso 5:unir el nodo trabajador al clúster

Como se indica en el Paso 1 , puede usar kubeadm join comando en cada nodo trabajador para conectarlo al clúster.

kubeadm join --discovery-token cfgrty.1234567890jyrfgd --discovery-token-ca-cert-hash sha256:1234..cdef 1.2.3.4:6443

Reemplace los códigos con los de su servidor maestro. Repita esta acción para cada nodo trabajador en su clúster.


Cent OS
  1. Cómo instalar Vagrant en CentOS 7

  2. Cómo instalar Gitea en CentOS 8

  3. Cómo instalar Memcached en CentOS 8

  4. Cómo instalar Nginx en CentOS 7

  5. Cómo instalar ownCloud en CentOS 8

Cómo instalar un clúster Docker de Kubernetes en CentOS 7

Cómo instalar Zoom en CentOS 8

Cómo instalar Nethogs en CentOS

Cómo instalar Yourls en CentOS 8

Cómo instalar Kubernetes en CentOS 8

Cómo instalar el clúster de Kubernetes en CentOS 8