Editado 4 hace meses por ExtremeHow Equipo Editorial
FedoraKubernetesOrquestación de contenedoresInstalaciónSoftwareDesarrolloLínea de comandosTerminalAdministración de sistemasComputadoras
Traducción actualizada 4 hace meses
Kubernetes, a menudo abreviado como K8s, es una plataforma de código abierto utilizada para gestionar cargas de trabajo y servicios en contenedores. Ayuda a automatizar la implementación, escalado y operación de contenedores de aplicaciones a través del clúster de un host. Instalar Kubernetes en Fedora puede ser una experiencia gratificante, especialmente para los desarrolladores que desean experimentar con la orquestación de contenedores en sus sistemas locales. A continuación, te guiaremos paso a paso a través de un proceso detallado de instalación de Kubernetes en un sistema Fedora, con ejemplos y explicaciones para garantizar una configuración fluida.
Antes de comenzar con el proceso de instalación, hay algunos requisitos previos y cosas que considerar:
El primer paso es actualizar tu sistema Fedora para asegurarte de que todos los paquetes y dependencias estén actualizados. Usa el siguiente comando:
sudo dnf update -y
Este comando descargará e instalará las últimas actualizaciones, asegurándote de que tu sistema esté listo para Kubernetes.
Kubernetes requiere un runtime de contenedor, y Docker es una de las opciones más comúnmente utilizadas. Para instalar Docker en Fedora, sigue estos pasos:
sudo dnf config-manager --add-repo=https://download.docker.com/linux/fedora/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker sudo systemctl enable docker
Cuando Docker esté instalado, verifica la instalación comprobando su estado con sudo systemctl status docker
.
Security-Enhanced Linux (SELinux) es una característica de seguridad del núcleo de Linux que proporciona un mecanismo para soportar políticas de control de acceso. Kubernetes y los runtimes de contenedores a veces tienen problemas con SELinux, por lo que se recomienda configurarlo en modo permisivo.
sudo setenforce 0
Haz este cambio permanente editando el archivo de configuración de SELinux:
sudo vi /etc/selinux/config
Cambia la línea SELINUX=enforcing
a SELINUX=permissive
. Guarda y cierra el editor.
Ahora, necesitas agregar el repositorio de Kubernetes desde el cual instalarás los paquetes necesarios. Usa los siguientes pasos:
cat <<EOF | sudo tee /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/rpm-package-key.gpg https://packages.cloud.google.com/yum/doc/yum-key.gpg EOF
sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable kubelet
Estos son los componentes principales de Kubernetes. kubelet
es el agente que se ejecuta en cada nodo. kubeadm
es una herramienta para iniciar el clúster. kubectl
es la herramienta de línea de comandos para interactuar con el clúster.
Modifica la configuración del sistema para la red de Kubernetes. Abre el archivo de configuración sysctl y ajusta la configuración:
sudo vi /etc/sysctl.d/k8s.conf
Para asegurarte de que tus paquetes de red para tráfico puenteado se procesen correctamente, agrega las siguientes líneas:
net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1
Aplica estos cambios:
sudo sysctl --system
La memoria swap debe deshabilitarse para que Kubernetes funcione de manera óptima. Deshabilita el swap temporal y permanentemente con el siguiente comando:
Deshabilita temporalmente el swap:
sudo swapoff -a
Deshabilita permanentemente el swap: Edita el archivo /etc/fstab
y comenta las líneas que se refieran a particiones swap. Usa:
sudo vi /etc/fstab
Encuentra la línea que contiene la entrada del swap y agrega un #
al frente para comentarla.
Usarás kubeadm para inicializar tu nodo maestro de Kubernetes. Este paso también configura el plano de control requerido. Realiza la inicialización con:
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
El argumento --pod-network-cidr
especifica el rango de direcciones IP para la red de pods. Esto puede variar dependiendo de la solución de red que utilices.
Después de una inicialización exitosa, el comando te devolverá un comando kubeadm "join". Guarda esto para más tarde si deseas agregar nodos adicionales a tu clúster.
Para que la herramienta kubectl funcione correctamente como usuario que no sea root, configura un archivo kubeconfig local:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
Estos comandos crean un directorio de configuración y copian las credenciales de administración para que puedas usar kubectl sin tener que usar sudo cada vez.
Kubernetes requiere el complemento de red de Pod. La opción más popular es Flannel. Despliega Flannel en tu clúster con:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Esto configurará tus nodos de Kubernetes para comunicarse entre sí a través de la red virtual de Flannel.
Después de que todo esté configurado, verifica el estado de tus nodos del clúster usando lo siguiente:
kubectl get nodes
Deberías ver tu sistema listado con un estado de "Ready". Además, verifica todos los pods del sistema con lo siguiente:
kubectl get pods --all-namespaces
Felicitaciones, has instalado con éxito Kubernetes en Fedora. Una vez que tu clúster esté en funcionamiento, puedes comenzar a desplegar aplicaciones y gestionar eficientemente cargas de trabajo en contenedores. Este proceso de instalación, aunque detallado, cubre todos los pasos necesarios para configurar tu entorno para propósitos de aprendizaje y desarrollo. La administración futura puede incluir la gestión de permisos, escalado y el mantenimiento de la salud del clúster, asegurando que desarrolles una comprensión sólida de Kubernetes en sistemas Fedora.
Recuerda, Kubernetes es un sistema poderoso que puede llevar mucho tiempo aprender. Sin embargo, trabajar a través de la instalación y configuración manual, como se mencionó anteriormente, proporciona una experiencia práctica invaluable y profundiza tu comprensión de la orquestación de contenedores en escenarios del mundo real.
Si encuentras algo incorrecto en el contenido del artículo, puedes