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