Guia de Instalacion de Kubernetes, Minikube con Virtual Box y Configuración con Exposición de Servicio en Linux
Buenos dias comunidad de EducacionIT, en esta ocasion quiero compartirles una guia de instalacion de Kubernetes, en su implementacion Local, con Minikube como «nodo» de administracion, este tipo de instalacion suele tener fines mas orientados a la pedagogia de la herramienta, es decir, a su aprendizaje, sin embargo, es extremadamente util.
No duden en consultar ante cualquier duda o falla
Esta guía ha sido desarrollada por Gino Luciano Rojo para EducacionIT (gino.luciano.rojo@educacionit.com)
- Twitter- recuerdo_el_mar
- Linkedin: https://www.linkedin.com/in/gino-luciano-rojo/
Specs utilizados en la Guia :
- Software :
- Kali Linux 20
- Urls de Instalación de Minikube y Kubernetes
- Aplicación desarrollada para el curso con el fin de exponer el servicio
Pasos de Instalación :
- Nos posicionamos en el directorio de Descargas o Downloands
- Nos elevamos los privilegios con sudo su
Descargamos desde la siguiente url los instaladores de Kubernetes
Instalar el binario de kubectl con curl en Linux
- Descargar la última entrega:
2.
curl -LO
https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
Para descargar una versión específica, remplaza el comando $(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)
con la versión específica.
Por ejemplo, para descarga la versión v1.21.0 en Linux, teclea:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.21.0/bin/linux/amd64/kubectl
- Habilita los permisos de ejecución del binario
kubectl
.
3.
chmod +x ./kubectl
- Mueve el binario dentro de tu PATH.
5.
sudo mv ./kubectl /usr/local/bin/kubectl
- Comprueba que la versión que se ha instalado es la más reciente.
kubectl version --client
También se lo puede instalar de la siguiente manera
sudo apt-get update && sudo apt-get install -y apt-transport-https gnupg2 curl
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 -a /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubectl
Y en el caso de Windows, se lo puede instalar de la siguiente manera
Instalar el binario de kubectl con curl en Windows
- Descargar la última entrega v1.21.0 de este link.
o si tiene curl
instalada, utiliza este comando:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.21.0/bin/windows/amd64/kubectl.exe
Para averiguar la última versión estable (por ejemplo, para secuencias de comandos), echa un vistazo a https://storage.googleapis.com/kubernetes-release/release/stable.txt.
- Añade el binario a tu PATH.
- Para asegurar que la versión utilizada sea la más actual, puedes ejecutar:
4.
kubectl version --client
Nota:
Docker Desktop para Windows añade su propia versión de
kubectl
a PATH.Si tienes Docker Desktop instalado, es posible que tengas que modificar tu PATH al PATH añadido por Docker Desktop o eliminar la versión de
kubectl
proporcionada por Docker Desktop.
Instalar con Powershell desde PSGallery
Si estás en Windows y utilizas el gestor de paquetes Powershell Gallery, puedes instalar y actualizar kubectl con Powershell.
- Ejecuta los comandos de instalación (asegurándote de especificar una
DownloadLocation
):
2.
Install-Script
-Name
'install-kubectl'
-Scope CurrentUser -Force
3.
install-kubectl
.ps1 [-DownloadLocation <path>]
Nota: Si no especificas una DownloadLocation
, kubectl
se instalará en el directorio temporal del usuario.
El instalador crea $HOME/.kube
y crea un archivo de configuración
- Para asegurar que la versión utilizada sea la más actual puedes probar:
5.
kubectl version --client
Nota: Actualizar la instalación se realiza mediante la re-ejecución de los dos comandos listados en el paso 1.
- Para asegurar que la versión utilizada sea la más actual puedes probar:
3.
kubectl version --client
- Navega a tu directorio de inicio:
5.
# Si estas usando cmd.exe, ejecuta: cd %USERPROFILE%
6.
cd
~
- Crea el directorio
.kube
:
8.
mkdir .kube
- Cambia al directorio
.kube
que acabas de crear:
10.
cd
.kube
- Configura kubectl para usar un clúster remoto de Kubernetes:
12.
New-Item
config -type file
Nota: Edita el fichero de configuración con un editor de texto de tu elección, como Notepad.
Una vez verificada la instalacion de Kubernetes, que se debe ver asi
Necesitamos desactivar los roles de Clusters de Kubernetes, para ello ejecutamos lo siguiente y se debe ver asi
kubectl delete clusterrolebinding kubernetes-dashboard
Por el momento lo dejaremos aqui
Descarga e Instalacion y configuracion de Minikube
Inicio de minikube
minikube es Kubernetes local y se centra en facilitar el aprendizaje y el desarrollo para Kubernetes.
Todo lo que necesita es un contenedor Docker (o similarmente compatible) o un entorno de máquina virtual, y Kubernetes está a un solo comando de distancia: minikube start
Lo que necesitarás
- 2 CPU o más
- 2GB de memoria libre
- 20 GB de espacio libre en disco
- conexión a Internet
- Administrador de contenedores o máquinas virtuales, como: Docker , Hyperkit , Hyper-V , KVM , Parallels , Podman , VirtualBox o VMWare
Instalación
Para instalar minikube en Windows x86-64 usando la descarga .exe :
Descargue y ejecute el instalador de Windows de minikube independiente .
Si usó una CLI para realizar la instalación, deberá cerrar esa CLI y abrir una nueva antes de continuar.
instalador de Windows de minikube
o
Para Linux, el cual , será nuestro ejemplo, descargamos con curl, el siguiente link
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
Debemos instalar Virtualbox y seleccionar con los siguientes comandos, en minikube, la necesidad de usar virtualbox como el driver por defecto, así evitamos que use Docker
Para instalar Virtualbox en Linux, seguimos el siguiente paso
Vamos a https://www.virtualbox.org/wiki/Downloads
Y descargamos el .deb desde
Una vez descargado, lo ejecutamos e instalamos VirtualBox
Inicie su clúster
Desde una terminal con acceso de administrador (pero que no haya iniciado sesión como root), ejecute:
minikube start –driver-virtualbox
Se debe ver asi
Podemos verificar la versión de minikube instalado
Con minikube version
NO DEBE SELECCIONAR EL DRIVER DE DOCKER
Ahora, iniciamos el dashboard de minikube con
Minikube dashboard
Una vez que se ejecuto minikube dashboard y nos brindo la URL, podemos verificar si el status esta correcto con
Minikube status
Por el momento estamos aquí, ahora, comenzemos a iniciar el panel de Kubernetes y acceder a el para ver los nodos, para ello, debemos
- Si minikube ya se encuentra instalado y ejecutado
- Ejecutamos Kubernetes con los comandos listados debajo y accedemos a la url que nos brindo minikube, es decir, el output de minikube dashboard –url, debemos ingresar a el para ver un panel como el siguiente
Ejecutando minikube dashboard –url
Y se vera así
Aquí, llevaremos adelante una practica simple, iniciaremos un nodo en Kubernetes, se vera como un servicio y lo expondremos para poder acceder a el mediante un navegador, para realizarlo, lo que haremos es lo siguiente
- Creamos un POD en Kubernetes con minikube ejecutando
Kubectl run elnombredetunodo –image=sotobotero/Udemy-devops:0.0.1 –port=80 80
Con el siguiente comando podemos conseguir información de nuestro nodo si , se ejecuto correctamente
Kubectl get pods
Y
Kubectl describe pod elnombredetupod
Veremos en el panel de Kubernetes en la web, que el POD se ha creado
También podemos verlo en la terminal ejecutando kubectl get pods
Sin embargo, como vemos no podemos navegar aun dentro de la aplicación que se encuentra dentro del POD, el cual creamos y funciona, pero la dirección IP no nos deja explorarla aun, como permitimos que se explore el pod? Debemos exponerlo, y para ello…
Ejecutando kubectl expose pod elnombredetuapp –ty pe”LoadBalancer” –port 8080 –target-port=80
Debería resultar en
Service/elnombredetuapp exposed
Y deberia verse tal cual las siguientes imagenes
Confirmamos con kubectl get services
Ahora, que fue expuesto correctamente el nodo, se ha generado un servicio de ese nodo, y ya podremos visitarlo correctamente, para visitar nuestra aplicación orquestada con Kubernetes y Minukube, debemos conocer la direccion IP del nodo expuesto, nos fijamos el resultado de
Minikube service elnombre de tu app, en el campo URL, y visitamos esa url en el navegador para ver..
Listo! Ahora nuestra aplicacion funciona!
Confirmamos con
kubectl get services
y para consultar el estado del servicio, ejecutamos
minikube service elnombredetuservicio que fue expuesto.
Al final reiniciamos VirtualBox así si minikube se inicio con Docker, lo cual hará que no funcione
Estimados, eso es todo por hoy, espero les agrade y nos vemos en otra publlicacion!
Gino, para EducacionIT.
- Crea tu Serie de Clusters con Google Kubernetes Engine en GCP – 11 septiembre, 2021
- Instalacion de Kubernetes (Local) en Linux- Paso a Paso – 11 agosto, 2021
- Series DevOps 101 – Herramientas de DevOps – Kubernetes 101 – Parte 1 – 22 julio, 2021
Deja una respuesta