magicalyak.minishift_up

minishift-up

最新のminishiftバイナリをインストールし、minishiftインスタンスを作成します。

以下の作業を行います:

  • 最新のminishiftバイナリをダウンロードしてインストール
  • ~/.minishift/cache/ocから最新のocバイナリをPATH内のディレクトリにコピー
  • Docker Machineドライバをインストール
  • minishiftインスタンスを作成
  • adminアカウントにクラスタ管理者権限を付与

レジストリへのアクセス

役割が実行された後、minishiftが動作している際に、次のコマンドを設定することで内部レジストリにアクセス可能になります:

    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をMinishift VMにマウントする

Minishift VMを起動すると、/UsersボリュームがVMにマウントされます。これは環境変数XHYVE_VIRTIO_9P=trueを設定することで行われます。

Linux

  • KVMがインストールされており、機能していること。役割はKVM用のDocker Machineドライバをインストールしますが、KVMがすでにインストールされていることを前提としています。
  • Ansible 2.4以上

Fedora

  • python2-dnfとlibselinux-pythonパッケージをインストール

既知の問題

Fedora

  • MinishiftインスタンスのDockerデーモンにアクセスする前に、/etc/sysconfig/dockerスクリプトを修正してDOCKER_CERT_PATH環境変数の上書きを防ぐ必要があります。ファイルを編集し、次のように変更します:

    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

GitHub APIにアクセスするためのURL。

minishift_release_tag_name: ""

最新リリースをインストールするためのデフォルト。特定のminishiftリリースをインストールするには使用。

minishift_dest: /usr/local/bin

minishiftバイナリをインストールする場所。

minishift_force_install: yes

{{ minishift_dest }}に存在するminishiftバイナリを上書きする。

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_client_dest }}に存在するOpenShiftクライアントバイナリを上書きする。

minishift_experimental: no

実験的な機能を有効にする

minishift_service_catalog: no

サービスカタログコンポーネントを有効にする

use_hyperkit: no

MacOSでは、これをyesに設定することでhyberkitを使用しようとしても良い。

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: Install 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

クレジット

このほとんどをChris Houseknechtの役割から取得しました
minishift-up-role on ansible galaxy
@chouseknecht

プロジェクトについて

Installs minishift

インストール
ansible-galaxy install magicalyak.minishift_up
ライセンス
apache-2.0
ダウンロード
97
所有者
Product Manager at Tigera for @tigera.io contributions. Contributions are my own for @gmail.com contributions.