magicalyak.minishift_up
minishift-up
Instala el último binario de minishift y crea una instancia de minishift.
Realiza las siguientes tareas:
- Descarga e instala el último binario de minishift
- Copia el último binario de oc de ~/.minishift/cache/oc a un directorio en tu PATH
- Instala el controlador de Docker Machine
- Crea una instancia de minishift
- Otorga privilegios de administrador del clúster a la cuenta admin
Accediendo al registro
Después de que el rol se ejecute y minishift esté en funcionamiento, podrás acceder al registro interno después de configurar el comando de evaluación de minishift docker-env:
eval $(minishift docker-env)
docker login -u developer -p $(oc whoami -t)
Plataformas soportadas
- Debian
- Red Hat
- OSX
Requisitos previos
- Ansible 2.4+
- Antes de ejecutar el rol, limpia tu sesión de terminal de cualquier variable de entorno DOCKER*.
- Se requiere acceso sudo para instalar paquetes
- git (si usas complementos comunitarios)
- gnu tar (brew install gnu-tar)
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 configurando la variable de entorno XHYVE_VIRTIO_9P=true
.
Linux
- KVM instalado y funcionando. El rol instala el controlador de Docker Machine para KVM, pero asume que KVM ya está instalado y funcionando.
- Ansible 2.4+
Fedora
- Instala los paquetes python2-dnf y libselinux-python.
Problemas conocidos
Fedora
Antes de acceder al daemon de Docker en la instancia de Minishift, necesitarás modificar el script
/etc/sysconfig/docker
para evitar que sobrescriba la variable de entorno DOCKER_CERT_PATH. Edita el archivo y cambia la líneaDOCKER_CERT_PATH=/etc/docker
a lo siguiente:if [ -z "${DOCKER_CERT_PATH}" ]; then DOCKER_CERT_PATH=/etc/docker fi
Valores predeterminados
minishift_repo: minishift/minishift
Repositorio donde se puede encontrar el binario de minishift
minishift_github_url: https://api.github.com/repos
URL para acceder a la API de GitHub.
minishift_release_tag_name: ""
Por defecto, instala la última versión. Úsalo para instalar una versión específica de minishift.
minishift_dest: /usr/local/bin
Donde instalar el binario de minishift.
minishift_force_install: yes
Sobrescribir cualquier binario de minishift existente encontrado en {{ minishift_dest }}.
minishift_restart: yes
Detener y recrear la instancia de minishift existente.
minishift_delete: yes
Ejecutar
minishift delete
y eliminar~/.minishift
. Si estás actualizando, probablemente quieras hacer esto.
minishift_start_options: []
Proporciona una lista de opciones para pasar a
minishift start
. Por ejemplo:['--memory', '4GB', '--cpus', '4']
openshift_client_dest: /usr/local/bin
Donde instalar el binario del cliente OpenShift.
openshift_force_client_copy: yes
Sobrescribir cualquier binario del cliente OpenShift existente encontrado en {{ openshift_client_dest }}.
minishift_experimental: no
Habilitar características experimentales
minishift_service_catalog: no
Habilitar el componente del catálogo de servicios
use_hyperkit: no
Para MacOSX, puedes "intentar" usar hyperkit en lugar de xhyve configurando esto en yes.
minishift_addons_enable: no
Para usar complementos, configura en yes.
minishift_addons_community_enable: no
Para usar complementos comunitarios, configura en yes y establece la ruta.
minishift_addons_community_path: $HOME/Downloads/git
Establece esto en la ruta de los complementos comunitarios que vas a instalar (debe existir).
minishift_redhat_login: '123456|magicalyak' minishift_redhat_password: 'token_stuff_stuff_token'
Establece esto en el nombre de usuario y contraseña de la cuenta del servicio de contenedores de Red Hat.
Ejemplo de Playbook
A continuación se muestra un playbook de muestra que incluye todos los parámetros predeterminados. Encontrarás un ejemplo de esto en la raíz del árbol del proyecto.
---
- name: Instalar minishift
hosts: localhost
connection: local
gather_facts: yes
roles:
- role: magicalyak.minishift_nginx
minishift_repo: minishift/minishift
minishift_github_url: https://api.github.com/repos
minishift_release_tag_name: ""
minishift_dest: /usr/local/bin
minishift_force_install: yes
minishift_restart: yes
minishift_delete: yes
minishift_start_options: []
openshift_client_dest: /usr/local/bin
openshift_force_client_copy: yes
minishift_experimental: no
minishift_service_catalog: no
use_hyperkit: yes
minishift_addons_enable: no
minishift_addons:
minishift_addons:
anyuid: no
registry_route: no
admissions_webhook: no
htpasswd_identity_provider: no
xpaas: no
redhat_registry_logon: no
che: no
prometheus: no
admin_user: yes
minishift_addons_community_enable: no
minishift_addons_community_path: $HOME/Downloads/git
minishift_addons_community:
ansible_service_broker: no
dotnet: no
example: no
grafana: no
helm: no
istio: no
management_infra: no
workshop: no
eap_cd: no
Después de que instales el rol, copia minishift-nginx.yml a tu directorio de proyecto y ejecútalo con la opción --ask-become-pass
. Por ejemplo:
# Instalar el rol
$ ansible-galaxy install magicalyak.minishift_up
# Copiar el playbook de tu ruta de roles al directorio de trabajo actual
$ cp ${ANSIBLE_ROLES_PATH}/magicalyak.minishift_up/minishift-up.yml .
# Crear un archivo de inventario para localhost
$ echo "localhost">./inventory
# Ejecutar el playbook
$ ansible-playbook -i inventory --ask-become-pass minishift-up.yml
Dependencias
git (si usas complementos comunitarios)
gnu-tar (brew install gnu-tar)
Licencia
Apache v2
Autor
Créditos
Tomé la mayor parte de esto del rol de Chris Houseknecht minishift-up-role en ansible galaxy @chouseknecht
ansible-galaxy install magicalyak.minishift_up