Kubernetes: Instalación Minishift
Muchas veces, cuando planteas entornos de Kubernetes, estás pensando en generar una infraestructura completa y compleja. Esto se debe a que Kubernetes está unido al concepto de clúster.
Como la mayoría de personas que empiezan en este mundillo, no tienes los recursos necesarios para montarlo, porque no tienes hardware suficiente.
Pero la realidad es que podemos montar nuestra infraestructura de forma local con varias tecnologías y hoy os vamos a enseñar una.
Instalación local de Kubernetes
De todas maneras, listamos las que conocemos ahora mismo. Así echando la vista en lo que existe actualmente podemos usar:
- Minikube: Es la forma más sencilla y usada entre los desarrolladores, de instalar una infraestructura Kubernetes. Lo que necesita es un host que pueda soportar:
- URL: https://minikube.sigs.k8s.io/docs/start/
- Virtualbox, KVM o similar
- 2 vCPUs
- 2 GB de RAM
- Y unos 20GB de disco
- Con el comando kubectl podrás trabajar y generar tus contenedores en local
- Kind: Con Kind lo que haremos es utilizar un container Docker para ejecutarlo.
- URL: https://kind.sigs.k8s.io/docs/user/quick-start/
- 2 vCPUs
- 8 GB de RAM
- Y unos 20GB de disco
- Kubeadm:
- URL: https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/
- 2 vCPUs
- 8 GB de RAM
- Y unos 20GB de disco
- Es lo que suelo utilizar yo en mis labs, ya que es la opción más cercana a un clúster real de Kubernetes. Se compone de un maestro y mínimo un nodo esclavo.
- Minishift: Es la opción que vamos a desarrollar hoy.
- URL: https://www.okd.io/minishift/
- 2 vCPUs
- 4 GB de RAM
- Y unos 20GB de disco
- Nos permite ejecutar un clúster OKD (Openshift Container) en un solo nodo dentro de una máquina virtual. Se puede hacer bajo Windows, Linux o MacOS, que es este último caso el que vamos a utilizar.
Instalar Minishift en MacOS
Para este ejemplo voy a utilizar mi MacBook Pro, que me va a permitir lanzar un clúster de Kubernetes en local. Espero que os parezca interesante, porque allá vamos…
Instalamos el gestor de paquetes brew:
1 |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" |
Lo primero que haremos es hacer una vez instalado es un update de brew:
1 |
brew update |
Instalaremos la última versión de hyperkit:
1 |
brew install hyperkit |
Luego instalaremos el siguiente driver:
1 |
brew install docker-machine-driver-hyperkit |
Si lo lanzas con un usuario que no sea root habrá que lanzar los siguientes comandos:
1 2 3 4 5 6 7 8 |
MacBook-Pro-de-Raul:~ raulunzue$ sudo curl -L https://github.com/machine-drivers/docker-machine-driver-hyperkit/releases/download/v1.0.0/docker-machine-driver-hyperkit -o /usr/local/bin/docker-machine-driver-hyperkit Password: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 656 100 656 0 0 1525 0 --:--:-- --:--:-- --:--:-- 1522 100 11.9M 100 11.9M 0 0 5112k 0 0:00:02 0:00:02 --:--:-- 10.7M MacBook-Pro-de-Raul:~ raulunzue$ sudo chown root:wheel /usr/local/bin/docker-machine-driver-hyperkit MacBook-Pro-de-Raul:~ raulunzue$ sudo chmod u+s,+x /usr/local/bin/docker-machine-driver-hyperkit |
Instalamos minishift:
1 |
brew cask install minishift |
Arrancamos minishift:
1 |
minishift start |
Puede que la seguridad de MacOS os juegue una mala pasada:
Desde Ajustes -> Seguridad deberéis darle permisos:
Y pulsamos Abrir:
Y podréis usar Minishift:
Si os da errores el driver revisar esto: https://github.com/moby/hyperkit
¿Ahora cómo lanzamos un container? Como lo haríamos normalmente:
1 |
kubectl create deployment hello-world --image=nginx |
Si queremos parar:
1 |
minishift stop |
Espero os parezca interesante…
¿Te ha gustado la entrada SÍGUENOS EN TWITTER?
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?