第2章 CDK の使用
本セクションでは、minishift
コマンドラインインターフェース (CLI) を使用する方法を説明します。これは、基本的なコマンドと、プロファイル、イメージのキャッシュ、アドオン、ホストフォルダーなどの高度な機能を対象としています。
minishift
コマンドおよび oc
コマンドを使用して、ローカルの OpenShift クラスターを管理する方法は、3章Container Development Kit を使用した OpenShift との対話 を参照してください。
2.1. 基本的な使用方法
2.1.1. 概要
CDK を使用する場合は、以下のコンポーネントと対話します。
- CDK 仮想マシン (VM)
- 仮想マシンで実行している Docker デーモン
- Docker デーモンで実行している OpenShift クラスター
CDK アーキテクチャー の図では、これらのコンポーネントについて説明します。簡単な実行のために PATH
に配置される minishift
バイナリーは、CDK 仮想マシンを 起動
、停止
、および 削除
するために使用されます。仮想マシン自体は、Red Hat Enterprise Linux Live ISO からブートストラップされます。
docker-env
などの一部の CDK コマンドは Docker デーモンと対話し、他のものも OpenShift クラスター (openshift
コマンドなど) と通信します。
OpenShift クラスターが稼働したら、oc
バイナリーを使用して対話します。(デフォルトの ~/.minishift ごとに) CDK はこのバイナリーを $MINISHIFT_HOME
でキャッシュします。minishift oc-env
は、oc
バイナリーを PATH
に追加する簡単な方法です。
CDK を使用したローカル OpenShift クラスターの管理に関する詳細は、3章Container Development Kit を使用した OpenShift との対話 を参照してください。
図2.1 : CDK アーキテクチャー

2.1.2. CDK ライフサイクル
2.1.2.1. minishift setup-cdk コマンド
minishift setup-cdk
コマンドは、Red Hat Enterprise Linux ISO イメージを CDK キャッシュにコピーし、デフォルトの設定ファイルを作成し、デフォルトのアドオンをインストールして有効にし、コマンドが実行されていることを確認します。
また、このコマンドは oc バイナリーをホストにコピーし、oc
コマンドラインツールまたは Web コンソールを使用して OpenShift と対話できるようにします。これは、minishift start
コマンドの出力にある URL を使用してアクセスできます。
2.1.2.2. minishift start コマンド
minishift start
コマンドは CDK 仮想マシンを作成し、設定し、CDK 仮想マシン内にローカルで単一ノードの OpenShift クラスターをプロビジョニングします。
2.1.2.3. minishift stop コマンド
minishift stop
コマンドは OpenShift クラスターを停止し、CDK 仮想マシンをシャットダウンしますが、OpenShift クラスターの状態を保存します。
CDK を再起動すると、OpenShift クラスターが復元され、最後のセッションから作業を継続できます。ただし、元の start コマンドに使用したのと同じパラメーターを入力する必要があります。
CDK 設定の永続化方法の詳細は、「永続設定」セクションを参照してください。
2.1.2.4. minishift delete コマンド
minishift delete
コマンドは OpenShift クラスターを削除し、さらに CDK 仮想マシンもシャットダウンします。データや状態は保持されません。
2.1.3. ランタイムオプション
CDK のランタイム動作は、フラグ、環境変数、および永続的な設定オプションで制御できます。
CDK の動作を制御するには、以下の優先順位が適用されます。以下のリストの各アクションは、その下のアクションよりも優先されます。
2.1.3.1. フラグ
CDK でコマンドラインフラグを使用すると、オプションを指定し、その動作を指示できます。これが最も優先されます。ほとんどのコマンドにはフラグがありますが、コマンドによってはフラグが異なります。minishift start
コマンドの一般的なコマンドラインフラグの一部は、cpus
、memory
、または vm-driver
です。
2.1.3.2. 環境変数
CDK を使用すると、環境変数で一般的に使用するコマンドラインフラグを指定できます。これを行うには、環境変数として設定するフラグに以下のルールを適用します。
-
MINISHIFT_
を環境変数として設定するフラグの接頭辞として適用します。たとえば、minishift start
コマンドのvm-driver
フラグはMINISHIFT_vm-driver
になります。 -
フラグに大文字を使用すると、上記の例では
MINISHIFT_vm-driver
はMINISHIFT_VM-DRIVER
になります。 -
-
を_
に置き換えると、MINISHIFT_VM-DRIVER
はMINISHIFT_VM_DRIVER
になります。
環境変数を使用して、CDK コマンドのオプションを置き換えることができます。一般的な例は、使用する ISO の URL です。通常、minishift start
コマンドの iso-url
フラグで指定します。上記のルールを適用すると、環境変数を MINISHIFT_ISO_URL
として設定してこの URL を指定することもできます。
また、MINISHIFT_HOME
環境変数を使用して CDK 用の別のホームディレクトリーを選択することもできます。デフォルトでは、minishift
コマンドはすべてのランタイム状態を ~/.minishift に配置します。この環境変数は現在実験的であり、セマンティクスが今後のリリースで変更する可能性があります。
MINISHIFT_HOME
を使用するには、最初に CDK を設定する際に、新しいホームディレクトリーを設定する必要があります。たとえば、これにより、Linux システムの minishift
ホームディレクトリーが ~/.mynewdir に設定されます。
$ minishift setup-cdk --minishift-home ~/.mynewdir $ export MINISHIFT_HOME=~/.mynewdir $ echo 'export MINISHIFT_HOME=~/.mynewdir' >> ~/.bashrc
2.1.3.3. 永続設定
永続設定を使用すると、環境変数を使用する方法と同様に、実際のコマンドラインフラグを指定せずに CDK の動作を制御できます。--global
フラグを使用してグローバル設定を定義することもできます。グローバル設定は、すべてのプロファイルに適用できます。
CDK は設定ファイルを $MINISHIFT_HOME/config/config.json に保持します。このファイルは、各プロファイルに一般的に使用されるコマンドラインフラグを永続的に設定するために使用できます。グローバル設定ファイルは MINISHIFT_HOME/config/global.json で維持されます。
-
永続設定は、
minishift config
サブコマンドの概要に一覧表示される、サポートされる設定オプションのセットにのみ適用できます。これは、任意のコマンドのオプションを置き換えるために使用できる環境変数とは異なります。 -
デフォルトでは、
minishift
は、永続設定に起動フラグを永続的に維持します。この動作を無効にするには、minishift config set save-start-flags false
を使用します。
2.1.3.3.1. 永続設定値の設定
永続的な設定オプションを変更する最も簡単な方法は、minishift config set
サブコマンドを使用することです。以下に例を示します。
# Set default memory 4096 MB $ minishift config set memory 4096
すべてのプロファイルで永続的な設定オプションを設定する最も簡単な方法は、minishift config set --global
サブコマンドを使用することです。
たとえば、以下のように、プロファイルごとにデフォルトのメモリーを 8192 MB に設定できます。
$ minishift config set --global memory 8192
docker-env
、insecure-registry
などのコマンド呼び出しごとに複数回使用できるフラグは、config set
コマンドで使用する場合はコンマ区切りにする必要があります。たとえば、CLI から、以下のように insecure-registry
を使用できます。
$ minishift start --insecure-registry hub.foo.com --insecure-registry hub.bar.com
永続設定で同じレジストリーを設定するには、以下のコマンドを実行します。
$ minishift config set insecure-registry hub.foo.com,hub.bar.com
すべての永続的な設定値を表示するには、minishift config view
サブコマンドを使用できます。
$ minishift config view - memory: 4096
グローバル設定ファイルのすべての永続的な設定値を表示するには、minishift config view --global
サブコマンドを使用できます。
$ minishift config view --global - memory: 8192
minishift config get
サブコマンドを使用すると、値を 1 つ表示できます。
$ minishift config get memory 4096
2.1.3.3.2. 永続設定値の設定解除
永続的な設定オプションを削除するには、minishift config unset
サブコマンドを使用できます。以下に例を示します。
$ minishift config unset memory
ユーザー定義の値の優先度は以下のとおりです。
- コマンドラインフラグ
- 環境変数
- インスタンス固有の設定
- グローバル設定
2.1.4. 永続ボリューム
OpenShift クラスターのプロビジョニングの一環として、OpenShift クラスター用に 100 個の 永続ボリューム が作成されます。これにより、アプリケーションは 永続ボリューム要求 を作成できます。永続データの場所は、minishift start
コマンドの host-pv-dir
フラグで決定し、デフォルトでは CDK 仮想マシンの /var/lib/minishift/openshift.local.pv に設定されます。
2.1.5. HTTP/HTTPS プロキシー
HTTP/HTTPS プロキシーの背後にある場合は、Docker および OpenShift が適切に動作するようにプロキシーオプションを指定する必要があります。これには、minishift start
時に必要なフラグを渡します。
以下に例を示します。
$ minishift start --http-proxy http://YOURPROXY:PORT --https-proxy https://YOURPROXY:PORT
認証されたプロキシー環境では、proxy_user
および proxy_password
はプロキシー URI の一部である必要があります。
$ minishift start --http-proxy http://<proxy_username>:<proxy_password>@YOURPROXY:PORT \ --https-proxy https://<proxy_username>:<proxy_password>@YOURPROXY:PORT
--no-proxy
フラグを使用して、プロキシーを設定するべきでないホストをコンマ区切りリストで指定することもできます。
プロキシーオプションを使用すると、Docker デーモンと、指定されたプロキシーを使用するように OpenShift を透過的に設定します。
-
minishift start
は、環境変数HTTP_PROXY
、HTTPS_PROXY
、およびNO_PROXY
に従います。環境変数は小文字または大文字で指定できます。小文字の変数は大文字の変数よりも優先されます。これらの変数が設定されている場合は、対応するコマンドラインフラグで明示的に上書きしない限り、minishift start
時に暗黙的に使用されます。 - CDK は、プロキシーの環境変数の特殊文字をエスケープしません。特殊文字は手動でエスケープする必要があります。
-
minishift start --openshift-version
フラグを使用して、OpenShift Container Platform の特定のバージョンを要求します。minishift openshift version list
コマンドを使用して、CDK と互換性のある OpenShift Container Platform バージョンの一覧を表示できます。
2.1.6. ネットワーク
CDK 仮想マシンは、ホストのみの IP アドレスでホストシステムに公開されます。これは、minishift ip
コマンドで取得できます。
2.1.7. SSH を使用した CDK 仮想マシンへの接続
minishift ssh
コマンドを使用して、CDK 仮想マシンと対話できます。
サブコマンドを使用せずに minishift ssh
を実行して対話式シェルを開き、SSH を使用して任意のリモートマシンでコマンドを実行するのと同じ方法で CDK 仮想マシンでコマンドを実行できます。
サブコマンドで minishift ssh
を実行して、サブコマンドを CDK 仮想マシンに直接送信し、結果をローカルシェルに戻すこともできます。以下に例を示します。
$ minishift ssh -- docker ps CONTAINER IMAGE COMMAND CREATED STATUS NAMES 71fe8ff16548 openshift3/ose:v3.11.374 "/usr/bin/openshift s" 4 minutes ago Up 4 minutes origin