magicalyak.minishift_up

minishift-up

Installe le dernier binaire de minishift et crée une instance de minishift.

Effectue les tâches suivantes :

  • Télécharge et installe le dernier binaire de minishift
  • Copie le dernier binaire oc depuis ~/.minishift/cache/oc vers un répertoire dans votre PATH
  • Installe le pilote Docker Machine
  • Crée une instance de minishift
  • Accorde des permissions d'administrateur au compte admin

Accéder au registre

Après l'exécution du rôle et une fois minishift en cours d'exécution, vous pourrez accéder au registre interne après avoir configuré la commande d'évaluation de l'environnement Docker de minishift :

    eval $(minishift docker-env)
    docker login -u developer -p $(oc whoami -t)

Plateformes supportées

  • Debian
  • Red Hat
  • OSX

Prérequis

  • Ansible 2.4+
  • Avant de lancer le rôle, videz votre session de terminal de toutes les variables d'environnement DOCKER*
  • Des droits sudo sont nécessaires pour installer des paquets
  • git (si vous utilisez des addons communautaires)
  • gnu tar (brew install gnu-tar)

OSX

Monter /Users dans la VM Minishift

Lorsque la VM Minishift est démarrée, le volume /Users sera monté dans la VM. Ceci est réalisé en définissant la variable d'environnement XHYVE_VIRTIO_9P=true.

Linux

  • KVM installé et opérationnel. Le rôle installe le pilote Docker Machine pour KVM, mais il suppose que KVM est déjà installé et fonctionnel.
  • Ansible 2.4+

Fedora

  • Installez les paquets python2-dnf et libselinux-python.

Problèmes connus

Fedora

  • Avant d'accéder au démon Docker sur l'instance Minishift, vous devrez modifier le script /etc/sysconfig/docker pour éviter qu'il ne remplace la variable d'environnement DOCKER_CERT_PATH. Editez le fichier et changez la ligne DOCKER_CERT_PATH=/etc/docker comme suit :

    if [ -z "${DOCKER_CERT_PATH}" ]; then
        DOCKER_CERT_PATH=/etc/docker
    fi
    

Valeurs par défaut

minishift_repo: minishift/minishift

Répertoire où le binaire minishift peut être trouvé

minishift_github_url: https://api.github.com/repos

URL pour accéder à l'API GitHub.

minishift_release_tag_name: ""

Par défaut, installe la dernière version. Utilisez-le pour installer une version spécifique de minishift.

minishift_dest: /usr/local/bin

Où installer le binaire minishift.

minishift_force_install: yes

Écrasez tout binaire minishift existant trouvé à {{ minishift_dest }}.

minishift_restart: yes

Arrêtez et recréez l'instance minishift existante.

minishift_delete: yes

Effectuez minishift delete et supprimez ~/.minishift. Si vous mettez à jour, vous voudrez probablement faire cela.

minishift_start_options: []

Fournissez une liste d'options à passer à minishift start. Par exemple : ['--memory', '4GB', '--cpus', '4']

openshift_client_dest: /usr/local/bin

Où installer le binaire du client OpenShift.

openshift_force_client_copy: yes

Écrasez tout binaire client OpenShift existant trouvé à {{ openshift_client_dest }}.

minishift_experimental: no

Activez les fonctionnalités expérimentales

minishift_service_catalog: no

Activez le composant de catalogue de services

use_hyperkit: no

Pour MaxOSX, vous pouvez essayer d'utiliser hyperkit au lieu de xhyve en définissant ceci sur oui.

minishift_addons_enable: no

Pour utiliser les addons, définissez sur oui.

minishift_addons_community_enable: no

Pour utiliser des addons communautaires, définissez sur oui et indiquez le chemin.

minishift_addons_community_path: $HOME/Downloads/git

Indiquez ceci comme le chemin d'accès aux addons communautaires que vous allez installer (doit exister).

minishift_redhat_login: '123456|magicalyak' minishift_redhat_password: 'token_stuff_stuff_token'

Indiquez ceci comme le nom d'utilisateur et le mot de passe du compte de service de conteneur Red Hat.

Exemple de Playbook

Ci-dessous se trouve un exemple de playbook qui inclut tous les paramètres par défaut. Vous trouverez un exemple de cela dans la racine de l'arborescence du projet.

---
- name: Installer 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

Après avoir installé le rôle, copiez minishift-nginx.yml dans votre répertoire de projet et exécutez-le avec l'option --ask-become-pass. Par exemple :

# Installer le rôle
$ ansible-galaxy install magicalyak.minishift_up

# Copier le playbook depuis votre chemin de rôles vers le répertoire de travail actuel
$ cp ${ANSIBLE_ROLES_PATH}/magicalyak.minishift_up/minishift-up.yml .

# Créer un fichier d'inventaire pour localhost
$ echo "localhost">./inventory

# Exécuter le playbook
$ ansible-playbook -i inventory --ask-become-pass minishift-up.yml

Dépendances

git (si vous utilisez des addons communautaires) gnu-tar (brew install gnu-tar)

Licence

Apache v2

Auteur

@magicalyak

Crédits

J'ai principalement basé cela sur le rôle de Chris Houseknecht minishift-up-role sur Ansible Galaxy @chouseknecht

Installer
ansible-galaxy install magicalyak.minishift_up
Licence
apache-2.0
Téléchargements
97
Propriétaire
Product Manager at Tigera for @tigera.io contributions. Contributions are my own for @gmail.com contributions.