chilcano.minishift
Rol de Ansible: minishift
Un Rol de Ansible que crea un clúster de OpenShift localmente usando Minishift (https://www.openshift.org/minishift), al igual que Minikube lo hace con Kubernetes. Este Rol realiza las siguientes tareas:
- Descarga e instala la versión especificada o la más reciente del binario de Minishift y el controlador Docker Machine.
- Puede copiar a
$PATH
o usar el binariooc
más reciente de~/.minishift/cache/oc/<VERSION>/<OS>/
. - Crea una máquina virtual de Minishift con una instancia de clúster de OpenShift.
- Permite tener múltiples instancias de VM de Minishift corriendo en el mismo host (https://github.com/minishift/minishift/issues/1508 y https://github.com/minishift/minishift/issues/1843).
Requisitos previos
- Ansible 2.3 o superior
- Antes de ejecutar el rol, limpia tu sesión de terminal de cualquier variable de entorno DOCKER*.
- Se requiere acceso
sudo
en tu host para instalar paquetes.
Dependencias
Ninguna
OSX
Montando /Users en la VM de Minishift
Cuando se inicia la VM de Minishift, el volumen /Users
se montará en la VM. Esto se hace estableciendo la variable de entorno XHYVE_VIRTIO_9P=true
.
Linux
- KVM instalado y funcionando. El rol instala el controlador Docker Machine para KVM, pero asume que KVM ya está instalado y funcionando.
Fedora
- Instala los paquetes
python2-dnf
ylibselinux-python
.
Problemas conocidos
Consulta los problemas de Minishift para más información: https://github.com/minishift/minishift/issues
Variables predeterminadas del rol
Las variables predeterminadas están en defaults/main.yml
.
Ejemplo de Playbook
Consulta sample-1-minishift.yml
para instalar un OpenShift en una VM.
Usando el Rol de Ansible
Instala el rol:
$ sudo ansible-galaxy install chilcano.minishift
Copia el playbook desde la ruta de tus roles al directorio de trabajo actual:
$ cp ${ANSIBLE_ROLES_PATH}/chilcano.minishift/sample-1-minishift.yml .
Crea un archivo inventory
$ echo $(hostname) > ./inventory
Ejecuta el playbook:
$ ansible-playbook -i inventory --ask-become-pass sample-1-minishift.yml
Creando y ejecutando múltiples instancias de Minishift
Aunque Minishift es un proyecto activo, hay un gran esfuerzo para mejorar varias funcionalidades. Específicamente, para ejecutar múltiples instancias localmente se requieren seguir los siguientes pasos: https://github.com/minishift/minishift/issues/1843
Licencia
MIT / BSD
Información del autor
Este rol fue creado en 2017 por Roger Carhuatocto, autor del Blog HolisticSecurity.io. Se inspira en el Rol de Ansible minishift-up creado por @chouseknecht.
An Ansible Role that creates an OpenShift cluster locally using Minishift (https://www.openshift.org/minishift) like Minikube does with Kubernetes.
ansible-galaxy install chilcano.minishift