Editado 1 hace un día por ExtremeHow Equipo Editorial
KubernetesContenedoresDevOpsClústeresOrquestaciónGestión de AplicacionesEscalabilidadConfiguraciónImplementaciónGestión de servidores
Traducción actualizada 1 hace un día
Kubernetes, a menudo referido como K8s, es una plataforma de código abierto diseñada para automatizar el despliegue, escalado y operación de contenedores de aplicaciones. Proporciona un marco que le permite ejecutar sistemas distribuidos de manera flexible. Kubernetes gestiona el trabajo que realizan sus aplicaciones en función de los recursos disponibles en su clúster, distribuye la carga de manera óptima y gestiona la recuperación ante fallos.
Antes de comenzar la instalación de Kubernetes en Linux, asegúrese de tener los siguientes prerrequisitos:
Docker es el runtime que Kubernetes utiliza para gestionar contenedores. Forma la base sobre la cual trabaja Kubernetes. Siga estos pasos para instalar Docker en su sistema Linux:
sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/$(lsb_release -cs) stable"
sudo apt-get update sudo apt-get install docker-ce
sudo systemctl start docker sudo systemctl enable docker
Verifique la instalación de Docker comprobando su versión:
docker --version
Para instalar Kubernetes, necesita agregar su repositorio oficial a su gestor de paquetes:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
Los tres componentes fundamentales de Kubernetes son kubelet, kubeadm y kubectl. Aquí está cómo instalarlos:
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
Una vez que Kubernetes está instalado, es hora de configurar el sistema apropiadamente:
Kubernetes no funciona cuando la memoria swap está habilitada. Use lo siguiente para deshabilitar el swap en su sistema:
sudo swapoff -a
Para hacer permanente el cambio a través de reinicios, comente la línea de swap en /etc/fstab
.
Asegúrese de que estas configuraciones de red estén configuradas correctamente:
net.bridge.bridge-nf-call-iptables=1
:sudo sysctl net.bridge.bridge-nf-call-iptables=1
sysctl -p
.Usamos kubeadm
para configurar un nodo maestro - el plano de control para su clúster de Kubernetes:
sudo kubeadm init
kubectl
. Esto usualmente incluye:mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
root
, reemplace $HOME
con /root
o /home/<su-usuario>
.Instale el complemento de red de pods para permitir la comunicación entre los pods. Aquí hay un ejemplo usando Flannel:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Verifique el estado de sus nodos:
kubectl get nodes
Desplegar su primera aplicación es simple. Vamos a desplegar un servidor nginx simple:
kubectl run nginx --image=nginx --port=80
Para exponer el despliegue como un servicio accesible desde fuera del clúster:
kubectl expose deployment nginx --type=NodePort
Obtenga detalles sobre su despliegue y servicio:
kubectl get deployments kubectl get services
NodePort
del servicio le proporcionará un puerto para acceder al servidor nginx, al cual puede acceder usando la dirección IP de su servidor y el puerto dado.
Una de las ventajas significativas de Kubernetes es su capacidad para escalar aplicaciones fácilmente. Si su servidor nginx necesita manejar más carga, puede escalarlo:
kubectl scale deployment nginx --replicas=3
Verifique el estado:
kubectl get pods -o wide
Después de probar las características de Kubernetes, puede que quiera limpiar el entorno de demostración:
kubectl delete service nginx kubectl delete deployment nginx
Con esta guía, ha comenzado a instalar y usar Kubernetes en Linux. Esta configuración le da una comprensión básica de Kubernetes, centrándose en componentes esenciales como kubeadm, kubelet y la capacidad de desplegar y gestionar aplicaciones simples. Desde aquí, puede explorar conceptos más avanzados de Kubernetes, configuración y técnicas de gestión para aprovechar todo el poder de Kubernetes en su infraestructura.
Si encuentras algo incorrecto en el contenido del artículo, puedes