Instalacion de Kubernetes (Local) en Linux- Paso a Paso

Por Gino Luciano Rojo
- 11 agosto, 2021
8 minutos de lectura
0

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)

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

  1. 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

  1. 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.

  1. 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 DownloadLocationkubectl 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
  1. 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

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

https://translate.google.com/website?sl=en&tl=es&ajax=1&prev=search&se=1&u=https://storage.googleapis.com/minikube/releases/latest/minikube-installer.exe

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

bu

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.

Categoría
Artículo escrito por: Gino Luciano Rojo
[wp-reviews]