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)
Specs utilizados en la Guia :
Descargamos desde la siguiente url los instaladores de Kubernetes
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
kubectl
.3.
chmod +x ./kubectl
5.
sudo mv ./kubectl /usr/local/bin/kubectl
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
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.
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.
Si estás en Windows y utilizas el gestor de paquetes Powershell Gallery, puedes instalar y actualizar kubectl con Powershell.
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
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.
3.
kubectl version --client
5.
# Si estas usando cmd.exe, ejecuta: cd %USERPROFILE%
6.
cd
~
.kube
:8.
mkdir .kube
.kube
que acabas de crear:10.
cd
.kube
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
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
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
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
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
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
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.