magicalyak.minishift_up

Estado de Construcción

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ínea DOCKER_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

@magicalyak

Créditos

Tomé la mayor parte de esto del rol de Chris Houseknecht minishift-up-role en ansible galaxy @chouseknecht

Instalar
ansible-galaxy install magicalyak.minishift_up
Licencia
apache-2.0
Descargas
97
Propietario
Product Manager at Tigera for @tigera.io contributions. Contributions are my own for @gmail.com contributions.