chouseknecht.minishift

ビルドステータス

minishift-up-role

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

以下のタスクを実行します:

  • 最新のminishiftバイナリをダウンロードしてインストールします
  • ~/.minishift/cache/ocから最新のocバイナリをPATHにあるディレクトリにコピーします
  • Docker Machineドライバーをインストールします
  • minishiftインスタンスを作成します
  • developerアカウントにクラスタ管理者権限を付与します
  • 内部レジストリへのルートを作成します
  • 内部レジストリにアクセスするためのホスト名を/etc/hostsに追加します

レジストリへのアクセス

ロールが実行された後、minishiftが実行されると、openshift_hostnameの値を使用して内部レジストリにアクセスできるようになります。デフォルト値はlocal.openshiftです。例えば、以下のコマンドを実行してログインします:

$ docker login -u developer -p $(oc whoami -t) https://local.openshift

サポートされているプラットフォーム:

  • Debian
  • Red Hat
  • OSX

前提条件

  • Ansible 2.4+
  • ロールを実行する前に、DOCKER*環境変数をターミナルセッションからクリアしてください。
  • パッケージをインストールするためにはsudoアクセスが必要です。

OSX

/UsersをMinishift VMにマウントする

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

Linux

  • KVMがインストールされ、動作していること。ロールはKVM用のDocker Machineドライバーをインストールしますが、KVMがすでにインストールされ、動作していることが前提です。
  • Ansible 2.2+

Fedora

  • python2-dnfとlibselinux-pythonパッケージをインストールしてください。

既知の問題

Fedora

  • MinishiftインスタンスのDockerデーモンにアクセスする前に、/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

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クライアントバイナリを上書きします。

openshift_hostname: local.openshift

イメージをプッシュする準備ができたときにローカルレジストリを参照するためのホスト名。/etc/hostsに追加されます。

サンプルプレイブック

以下は、すべてのデフォルトパラメータを含むサンプルプレイブックです。この正確な例はプロジェクトツリーのルートにあります。

---
- name: minishiftをインストール
  hosts: localhost
  connection: local
  gather_facts: yes
  roles:
    - role: chouseknecht.minishift
      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
      openshift_hostname: local.openshift

ロールをインストールした後、minishift-up.ymlをプロジェクトディレクトリにコピーし、--ask-become-passオプションを使用して実行します。例えば:

# ロールをインストール 
$ ansible-galaxy install chouseknecht.minishift-up-role

# ロールパスからプレイブックを現在の作業ディレクトリにコピーする 
$ cp ${ANSIBLE_ROLES_PATH}/chouseknecht.minishift-up-role/minishift-up.yml .

# localhostインベントリファイルを作成
$ echo "localhost">./inventory

# プレイブックを実行
$ ansible-playbook -i inventory --ask-become-pass minishift-up.yml

依存関係

なし

ライセンス

Apache v2

著者

@chouseknecht

プロジェクトについて

Run OpenShift locally using minishift

インストール
ansible-galaxy install chouseknecht.minishift
ライセンス
apache-2.0
ダウンロード
365
所有者
Ansible Galaxy Engineering Manager