Cómo instalar Kubernetes localmente usando Vagrant / Minikube
Kubernetes es una plataforma extensa para administrar clústeres de contenedores, proveniente de Google. Como la mayoría del software de servidor de Google, Kubernetes sobresale en escalabilidad, pero puede ser un desafío usarlo para implementación local en una computadora portátil.
Entonces, para este ejemplo, usaré mi computadora portátil que ejecuta Fedora, pero puede usar cualquier distribución de Linux ya que los contenedores reales se ejecutan en VirtualBox.
Vamos a utilizar dos métodos para instalar Kubernetes, el método vagabundo obsoleto y el método Minikube recomendado. Para ambos métodos, usaremos VirtualBox, pero para Vagrant también es posible implementar en bare metal simplemente cambiando de proveedor de «virtualbox» para decir «ubuntu» o «centos».
Método vagabundo
Requisitos previos:
- Necesita una distribución de Linux con Virtual box instalado. (5.1 aún no es compatible, tuve que degradar a 5.0)
- También necesita Vagrant instalado, sudo dnf install vagrant lo hará en fedora.
Después de configurar los requisitos previos, ejecutamos el script para instalar Kubernetes dentro de VirtualBox.
export KUBERNETES_PROVIDER=vagrant; wget -q -O - https://get.k8s.io | bash
Este script descargará todo lo necesario y creará un clúster predeterminado para usted.
Puede que dure un poco más, así que tenga paciencia. Una vez hecho esto, mostrará un mensaje largo con las direcciones IP de los contenedores que creó. Inicie sesión en el maestro siguiendo el comando
ssh vagrant@127.0.0.1 -p 2222
la contraseña es «vagabundo», por supuesto sin comillas. La contraseña de root también es vagabunda. Entonces, ahora tiene un clúster de Kubernetes completamente funcional en su máquina local. Cuando apaga el clúster y desea realizar una copia de seguridad, primero ingresa al directorio ~ / kubernetes en su / home, y luego, mientras está dentro, ejecuta los siguientes comandos:
export KUBERNETES_PROVIDER=vagrant export VAGRANT_DEFAULT_PROVIDER=providername ./cluster/kube-up.sh
Y su clúster volverá a estar activo.
Este método es bastante fácil, pero el problema es que está obsoleto. Es posible que el soporte para Virtual Box 5.1 nunca llegue, por lo que también haremos otro método con minikube
Método Minikube
Requerimientos:
- Necesitas caja virtual
- Necesita instalar kubectl en su máquina host
Suponemos que ya sabe cómo instalar la caja virtual, así que aquí se explica cómo instalar kubectl
curl -Lo kubectl http://storage.googleapis.com/kubernetes-release/release/v1.3.6/bin/linux/amd64/kubectl && chmod +x kubectl && sudo mv kubectl /usr/local/bin/
Luego instale minikube:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.8.0/minikube-linux-amd64 && chmod +x minikube && sudo mv minikube /usr/local/bin/
Luego iniciamos el clúster:
minikube start
Después de eso, tiene un inicio maestro de minikube y puede usar los comandos kubectl y minikube para administrar su clúster de minikube.
[miki@x550jk ~]$ kubectl get nodes NAME STATUS AGE minikubevm Ready 12m
Si desea acceder al panel de Kubernetes, simplemente escriba
minikube dashboard
Abrirá el panel en una pestaña del navegador.
Lo mejor de minikube es que no necesita ssh en su VM maestra, solo emite comandos kubectl desde su host. El kubectl se puede utilizar para administrar tanto la instalación local de minikube como el clúster remoto que quizás desee crear después de familiarizarse con Kubernetes en su máquina. Entonces, para cambiar entre clústeres administrados, existe el concepto de contextos. Por ahora, el contexto se establece automáticamente en el minikube local, pero si necesita volver a cambiarlo a minikube después de usarlo con alguna otra instalación (vagabundo, su servidor remoto, etc.) use este comando:
kubectl config use-context minikube
Si necesita ssh en vm por alguna razón, puede hacerlo con
minikube ssh
Conclusión
Aquí tenemos dos métodos para hacer que Kubernetes se ejecute localmente, con fines de aprendizaje, desarrollo y pruebas. Una vez que se familiarice con Kubernetes, querrá ejecutarlo en servidores remotos, por lo que hablaremos de eso en algunos de los artículos futuros. Gracias por leer, eso es todo por este artículo.