Kubernetes, también conocido como k8s o simplemente como Kube , es una plataforma de orquestación de contenedores de código abierto que se utiliza para escalar e implementar la automatización de contenedores. Minikube es una herramienta multiplataforma y de código abierto que le permite implementar un Kubernetes de un solo nodo clúster en su máquina local o dentro de una máquina virtual (vm). En este tema, aprenderá a instalar Kubernetes con Minikube en una máquina virtual CentOS 8.
Requisitos previos de MiniKube
- Una copia de la máquina virtual CentOS 8 (con GUI) recién instalada
- Mínimo de 2 GB de RAM y 2 vCPU
- 20 GB de espacio en disco duro
- Privilegios de raíz
- Una conexión a Internet estable
Con todos los requisitos previos cumplidos, es hora de arremangarse y ensuciarse las manos.
Paso 1) Instalar actualizaciones y deshabilitar SELinux
En primer lugar, vamos a instalar las últimas actualizaciones disponibles necesarias para que la instalación se realice sin problemas. Ejecute el siguiente comando dnf,
[[correo electrónico protegido] ~]# actualización dnf -y
Luego, ejecute los siguientes comandos para deshabilitar SELinux,
[[correo electrónico protegido] ~]# setenforce 0[[correo electrónico protegido] ~]# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
Paso 2) Instalar Docker y habilitar su servicio
Ya que vamos a implementar un clúster local de Kubernetes con MiniKube dentro de una VM. Entonces, instale Docker CE en su máquina virtual CentOS 8 usando los siguientes comandos,
[[email protected] ~]# dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repoAgregar repositorio desde:https://download.docker .com/linux/centos/docker-ce.repo[[correo electrónico protegido] ~]#[[correo electrónico protegido] ~]# dnf install docker-ce --nobest -y
Ejecute los siguientes comandos de systemctl para iniciar y habilitar el servicio docker,
[[email protected] ~]# systemctl start docker[[email protected] ~]# systemctl enable docker
Establezca las siguientes reglas de firewall mediante el comando firewall-cmd,
[[email protected] ~]# firewall-cmd --zone=public --add-masquerade --permanent[[email protected] ~]# firewall-cmd --reload
Instale “conntrack ” paquete usando el siguiente comando, conntrack es la dependencia para la configuración de minikube,
[[email protected] ~]# dnf install conntrack -y
Paso 3) Instalar Kubectl manualmente
Kubectl es una herramienta de línea de comandos que interactúa con el clúster de Kubernetes a través de las API. Usando kubectl implementamos nuestras aplicaciones como deployment. De forma predeterminada, kubectl no está incluido en los repositorios de paquetes de CentOS 8. Por lo tanto, vamos a instalarlo manualmente usando los comandos debajo,
[[email protected] ~]# curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/ stable.txt`/bin/linux/amd64/kubectl[[correo electrónico protegido] ~]# chmod +x ./kubectl[[correo electrónico protegido] ~]# mv ./kubectl /usr/local/bin/kubectl[[correo electrónico protegido ] ~]# versión de kubectl --cliente
La salida de los comandos anteriores sería algo así como a continuación,
Paso 4) Instalar e iniciar Minikube
Después de instalar kubectl, instalemos minikube usando los siguientes comandos,
[[email protected] ~]# curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64[[email protected] ~]# chmod +x minikube[[ correo electrónico protegido] ~]# mkdir -p /usr/local/bin/[[correo electrónico protegido] ~]# install minikube /usr/local/bin/
Para iniciar Minikube ejecuta el comando:
[[email protected] ~]# minikube start --driver=none
Como podemos ver en el resultado anterior, el comando minikube ha descargado e iniciado los contenedores acoplables para configurar el clúster de Kubernetes de un solo nodo.
Ejecute el siguiente comando minikube para verificar el estado de su clúster local de Kubernetes,
[[email protected] ~]# minikube statushost:Runningkubelet:Runningapiserver:Runningkubeconfig:Configured[[email protected] ~]# minikube ip192.168.29.216[[email protected] ~]#
Para detener un clúster de Kubernetes, ejecute,
[[email protected] ~]# parada minikube
Ejecute el comando "kubectl cluster-info" para ver la información del clúster,
[[email protected] ~]# kubectl cluster-info
Ejecute el siguiente comando para ver los nodos del clúster,
[[email protected] ~]# kubectl get nodesNAME STATUS ROLES AGE VERSIONminikube-centos8 Ready master 144m v1.18.0[[email protected] ~]#
Paso:6) Probar y verificar el clúster de Kubernetes
Para probar el clúster de Kubernetes, intente crear la implementación de k8s usando la imagen de echoserver, es equivalente al servidor web http y expóngalo como un servicio en el puerto 8080,
[[email protected] ~]# kubectl create deployment test-minikube --image=k8s.gcr.io/echoserver:1.10deployment.apps/test-minikube created[[email protected] ~]#
Para acceder a la implementación de test-minikube, expóngalo como servicio, ejecute el siguiente comando,
[[correo electrónico protegido] ~]# kubectl expone la implementación test-minikube --type=NodePort --port=8080service/test-minikube expuesto[[correo electrónico protegido] ~]#
Ejecute debajo del comando kubectl para obtener información del módulo para la implementación creada anteriormente,
[[email protected] ~]# kubectl get podNAME READY STATUS RESTARTS AGEtest-minikube-f4df69575-fkxdh 1/1 Running 0 3m29s[[email #proteted]Para acceder al servicio, obtenga su URL ejecutando el siguiente comando.
[[email protected] ~]# minikube service test-minikube --urlhttp://192.168.29.216:31356[[email protected] ~]#Ahora escriba la URL anterior en su navegador web,
Genial, significa que nuestro clúster de Kubernetes funciona bien. En el siguiente paso, intentemos implementar y acceder al panel de control de Kubernetes
Paso 7) Habilitar y acceder al panel de control de Kubernetes
Kubernetes se envía con un tablero que le permite administrar su clúster. En Minikube, el tablero se ha agregado como un complemento. Para ver todos los complementos que vienen con minikube, ejecute:
[[email protected] ~]# lista de complementos de minikube
Para activar el panel de control de Kubernetes, ejecute el siguiente comando,
[[email protected] ~]# minikube dashboard --url
Esto nos dará una URL del tablero, cópiela y péguela en el navegador web del sistema minikube.
Y eso es todo. Hemos logrado instalar correctamente Kubernetes con Minikube en CentOS 8. Le invitamos a compartir sus opiniones y comentarios.
Lea también :Cómo configurar un volumen persistente basado en NFS en Kubernetes