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
作者
クレジット
このほとんどをChris Houseknechtの役割から取得しました
minishift-up-role on ansible galaxy
@chouseknecht
ansible-galaxy install magicalyak.minishift_up