minishift_up

Статус сборки

minishift-up

Устанавливает последнюю версию minishift и создает экземпляр minishift.

Выполняет следующие задачи:

  • Загружает и устанавливает последнюю версию minishift
  • Копирует последнюю версию oc из ~/.minishift/cache/oc в директорию в вашем PATH
  • Устанавливает драйвер Docker Machine
  • Создает экземпляр minishift
  • Предоставляет права администратора кластера учетной записи admin

Доступ к реестру

После выполнения роли и запуска minishift вы сможете получить доступ к внутреннему реестру, установив команду minishift docker-env eval:

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

Поддерживаемые платформы

  • Debian
  • Red Hat
  • OSX

Предварительные условия

  • Ansible 2.4+
  • Перед запуском роли очистите вашу терминальную сессию от любых переменных окружения DOCKER*
  • Для установки пакетов требуется доступ sudo
  • git (если используете общие дополнения)
  • gnu tar (установить с помощью brew install gnu-tar)

OSX

Подключение /Users к VM Minishift

Когда VM Minishift запущен, объем /Users будет подключен к VM. Это делается путем установки переменной окружения XHYVE_VIRTIO_9P=true.

Linux

  • Установлен и работает KVM. Роль устанавливает драйвер Docker Machine для KVM, но предполагает, что KVM уже установлен и работает.
  • Ansible 2.4+

Fedora

  • Установите пакеты python2-dnf и libselinux-python

Известные проблемы

Fedora

  • Прежде чем получить доступ к демоню Docker на экземпляре Minishift, вам нужно изменить скрипт /etc/sysconfig/docker, чтобы предотвратить переопределение переменной окружения DOCKER_CERT_PATH. Отредактируйте файл и измените строку DOCKER_CERT_PATH=/etc/docker на следующее:

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

По умолчанию

minishift_repo: minishift/minishift

Репозиторий, где можно найти бинарный файл minishift

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

URL для доступа к GitHub API.

minishift_release_tag_name: ""

По умолчанию устанавливается последняя версия. Используйте для установки конкретной версии minishift.

minishift_dest: /usr/local/bin**

Место для установки бинарного файла minishift.

minishift_force_install: yes

Перезаписать существующий бинарный файл minishift в {{ minishift_dest }}

minishift_restart: yes

Остановить и пересоздать существующий экземпляр minishift.

minishift_delete: yes

Выполнить minishift delete и удалить ~/.minishift. Если вы обновляетесь, вам, скорее всего, потребуется это сделать.

minishift_start_options: []

Предоставьте список опций для передачи команде minishift start. Например: ['--memory', '4GB', '--cpus', '4']

openshift_client_dest: /usr/local/bin

Место для установки бинарного файла клиента OpenShift.

openshift_force_client_copy: yes

Перезаписать существующий бинарный файл клиента OpenShift в {{ openshift_client_dest }}.

minishift_experimental: no

Включить экспериментальные функции

minishift_service_catalog: no

Включить компонент каталога сервисов

use_hyperkit: no

Для MaxOSX вы можете попробовать использовать hyperkit вместо xhyve, установив это значение в yes

minishift_addons_enable no

Чтобы использовать дополнения, установите в yes

minishift_addons_community_enable: no

Чтобы использовать общие дополнения, установите в yes и укажите путь

minishift_addons_community_path: $HOME\Downloads\git

Установите это значение в путь к общим дополнениям (должен существовать)

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

Установите это значение в имя пользователя и пароль учетной записи сервиса контейнеров Red Hat

Пример плейбука

Ниже приведен пример плейбука, который включает все параметры по умолчанию. Вы найдете пример этого в корне структуры проекта.

---
- name: Установить 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

После того как вы установите роль, скопируйте minishift-nginx.yml в свою проектную директорию и выполните его с опцией --ask-become-pass. Например:

# Установите роль
$ ansible-galaxy install magicalyak.minishift_up

# Скопируйте плейбук из вашего каталога ролей в текущую рабочую директорию
$ cp ${ANSIBLE_ROLES_PATH}/magicalyak.minishift_up/minishift-up.yml .

# Создайте файл инвентаризации для localhost
$ echo "localhost">./inventory

# Запустите плейбук
$ ansible-playbook -i inventory --ask-become-pass minishift-up.yml

Зависимости

git (если используете общие дополнения)
gnu-tar (установить с помощью brew install gnu-tar)

Лицензия

Apache v2

Автор

@magicalyak

Благодарности

Большая часть этого была взята из роли Криса Хаускнехта minishift-up-role на ansible galaxy @chouseknecht

Установить
ansible-galaxy install magicalyak/minishift-up
Лицензия
apache-2.0
Загрузки
84
Владелец
Product Manager at Tigera for @tigera.io contributions. Contributions are my own for @gmail.com contributions.