Kubernetes, también conocido como k8s o simplemente como kubees una plataforma de orquestación de contenedores de código abierto que se utiliza para escalar e implementar la automatización de contenedores. minicubo es una herramienta multiplataforma y de código abierto que le permite implementar un solo nodo Kubernetes grupo 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,
[[email protected] ~]# dnf update -y
Luego, ejecute los siguientes comandos para deshabilitar SELinux,
[[email protected] ~]# setenforce 0 [[email protected] ~]# sed -i --follow-symlinks 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
Paso 2) Instale Docker y habilite 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.repo Adding repo from: https://download.docker.com/linux/centos/docker-ce.repo [[email protected] ~]# [[email protected] ~]# 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 usando el comando firewall-cmd,
[[email protected] ~]# firewall-cmd --zone=public --add-masquerade --permanent [[email protected] ~]# firewall-cmd --reload
Instalar en pc «controlar” paquete usando el siguiente comando, conntrack es la dependencia para la configuración de minikube,
[[email protected] ~]# dnf install conntrack -y
Nota: Kubernetes que usa MiniKube se puede instalar en una máquina o servidor local, pero para eso se requiere un hipervisor como KVM o VirtualBox.
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 [[email protected] ~]# chmod +x ./kubectl [[email protected] ~]# mv ./kubectl /usr/local/bin/kubectl [[email protected] ~]# kubectl version --client
La salida de los comandos anteriores sería algo 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 [[email protected] ~]# mkdir -p /usr/local/bin/ [[email protected] ~]# install minikube /usr/local/bin/
Para iniciar Minikube ejecute 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 status host: Running kubelet: Running apiserver: Running kubeconfig: Configured [[email protected] ~]# minikube ip 192.168.29.216 [[email protected] ~]#
Para detener un clúster de Kubernetes, ejecute,
[[email protected] ~]# minikube stop
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 nodes NAME STATUS ROLES AGE VERSION minikube-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 utilizando 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.10 deployment.apps/test-minikube created [[email protected]e-centos8 ~]#
Para acceder a la implementación de test-minikube, expóngalo como servicio, ejecute el siguiente comando,
[[email protected] ~]# kubectl expose deployment test-minikube --type=NodePort --port=8080 service/test-minikube exposed [[email protected] ~]#
Ejecute debajo del comando kubectl para obtener información del pod para la implementación creada anteriormente,
[[email protected] ~]# kubectl get pod NAME READY STATUS RESTARTS AGE test-minikube-f4df69575-fkxdh 1/1 Running 0 3m29s [[email protected] ~]#
Para acceder al servicio, obtenga su URL ejecutando el siguiente comando.
[[email protected] ~]# minikube service test-minikube --url http://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) Habilite y acceda 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] ~]# minikube addons list
Para activar el tablero 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 con éxito Kubernetes con Minikube en CentOS 8. Le invitamos a compartir sus opiniones y comentarios.
Leer también : Cómo configurar un volumen persistente basado en NFS en Kubernetes