This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.第2章 CLI ツール
2.1. 概要 リンクのコピーリンクがクリップボードにコピーされました!
apb
CLI ツールを使用する Ansible Playbook Bundle (APB) の作成者は、APB を作成し、ビルドしてこれをコンテナーレジストリーに公開できます。これにより、ベストプラクティスが実施され、詳細事項が処理されることでデプロイが容易になります。
2.2. ツールのインストール リンクのコピーリンクがクリップボードにコピーされました!
2.2.1. 要件 リンクのコピーリンクがクリップボードにコピーされました!
2.2.1.1. Docker デーモン リンクのコピーリンクがクリップボードにコピーされました!
docker
デーモンは正常にインストールされており、システム上で実行されている必要があります。
2.2.1.2. アクセスパーミッション リンクのコピーリンクがクリップボードにコピーされました!
apb
ツールは、ユーザーにトークンを使用するクラスターユーザーとしてログインすることを要求します。デフォルトの system:admin システムユーザーはツールの認証に使用できるトークンを持たないために適切ではありません。さらに、apb
ツールの機能全体を許可するには、数多くのローカルロール (プロジェクト単位) およびクラスターロール (クラスター全体) が存在している必要があります (「Cluster and Local RBAC」を参照してください)。
最も簡単なオプションとして、ユーザーに cluster-admin クラスターロールを持たせることができます。このロールを別のユーザーに追加するには、このパーミッションをすでに持つユーザー (system:admin デフォルトシステムユーザーなど) として以下を実行することができます。
これはクラスターの root であり、開発設定でのみ使用する必要があります。
oc adm policy add-cluster-role-to-user cluster-admin <user> oc login -u <user> <openshift_server>
$ oc adm policy add-cluster-role-to-user cluster-admin <user>
$ oc login -u <user> <openshift_server>
さらに厳密にパーミッションが設定された環境が必要な場合、デフォルトで提供される OpenShift テンプレートにより developer というユーザーのロールが付与されます。このテンプレートは、各種ロールを作成できるパーミッションのあるユーザーによって実行される必要があります。developer ユーザーにはこのようなパーミッションはありませんが、system:admin ユーザーにはこれを実行するためのパーミッションがあります。
テンプレートを実行するには、以下を実行します。
- openshift-permissions.template.yaml ファイルをローカルにダウンロードします。
以下のコマンドを実行します。
oc process -f openshift-permissions.template.yaml \ -p BROKER_NAMESPACE=openshift-ansible-service-broker \ [-p USER=<your_desired_user>] \ | oc create -f -
$ oc process -f openshift-permissions.template.yaml \ -p BROKER_NAMESPACE=openshift-ansible-service-broker \ [-p USER=<your_desired_user>] \
1 | oc create -f -
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- デフォルトで、テンプレートは developer ユーザーのロールを付与します。オプションで
-p
フラグを使用して、デフォルト値を必要なユーザーで上書きすることができます。
2.2.2. RPM でのインストール リンクのコピーリンクがクリップボードにコピーされました!
APB CLI ツールは apb パッケージによって提供されます。これは rhel-7-server-ose-3.7-rpms
チャンネルで利用できます。
sudo yum install apb
$ sudo yum install apb
2.2.3. インストールの検証 リンクのコピーリンクがクリップボードにコピーされました!
apb help
を実行して、ツールが適切にインストールされていることを確認します。
2.3. 通常のワークフロー リンクのコピーリンクがクリップボードにコピーされました!
2.3.1. ローカルレジストリー リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container レジストリーを使用して APB を調達するには、OpenShift Ansible Broker を local_openshift
タイプのレジストリーアダプターを使用するように設定する必要があります。詳細は、「config」のセクションを参照してください。
apb init my-new-apb cd my-new-apb apb build apb push apb list
$ apb init my-new-apb
$ cd my-new-apb
$ apb build
$ apb push
$ apb list
APB をホストするためにデフォルトの openshift
namespace 以外の namespace を使用する場合は、以下のコマンドを使用できます。
apb push --namespace <namespace>
$ apb push --namespace <namespace>
2.3.2. リモートレジストリー リンクのコピーリンクがクリップボードにコピーされました!
OAB は、docker.io/ansibleplaybookbundle または独自の個人アカウントなどの、リモートレジストリーや組織を使用するように設定することもできます。これを APB を開発するために使用するには、APB をビルドし、リモートレジストリーにプッシュしてから bootstrap
を実行して APB を再ロードできます。
2.4. APB 作成コマンド リンクのコピーリンクがクリップボードにコピーされました!
2.4.1. init リンクのコピーリンクがクリップボードにコピーされました!
説明
新規 APB のディレクトリー構造を初期化します。さらに、適切なデフォルト値が設定された新規 APB のサンプルファイルを作成します。
使用法
apb init [OPTIONS] NAME
$ apb init [OPTIONS] NAME
引数
NAME
: 作成される APB およびディレクトリーの名前です。
オプション
オプション (短縮形表記) | 説明 |
---|---|
|
ヘルプメッセージを表示します。 |
|
ディレクトリーの再初期化および上書きを強制的に実行します。 |
|
アプリケーションの非同期操作を指定します。通常は |
|
アプリケーションをバインド可能な設定で生成します。 |
|
プロビジョニング Playbook およびロールを生成しません。 |
|
プロビジョニング解除 Playbook およびロールを生成しません。 |
|
バインド Playbook およびロールを生成しません。 |
|
バインド解除 Playbook およびロールを生成しません。 |
|
ロールを生成しません。 |
非同期バインドおよびバインド解除は実験的な機能であり、デフォルトではサポートされておらず、有効にされていません。
例
ディレクトリー my-new-apb を作成します。
ディレクトリー my-new-apb を作成しますが、プロビジョニング解除 Playbook およびロールの生成を省略します。
ディレクトリー my-new-apb を作成し、古いバージョンを上書きします。APB はバインド可能になるように設定され、async をオプションに設定します。
2.4.2. prepare リンクのコピーリンクがクリップボードにコピーされました!
説明
APB を base64 エンコーディングでコンパイルし、これを Dockerfile のラベルとして作成します。
これにより、OAB はイメージをダウンロードせずにレジストリーから APB メタデータを読み取ることができます。このコマンドは APB ディレクトリー内から実行される必要があります。build
コマンドを実行すると、prepare も自動的に実行されます。つまり、通常は prepare
自体を実行する必要はありません。
使用法
apb prepare [OPTIONS]
$ apb prepare [OPTIONS]
オプション
オプション (短縮形表記) | 説明 |
---|---|
|
ヘルプメッセージを表示します。 |
|
APB 仕様を、Dockerfile という名前のファイルの代わりにターゲットファイル名に書き込みます。 |
例
Dockerfile に仕様フィールドのラベルを作成します。
apb prepare
$ apb prepare
Dockerfile-custom に仕様フィールドのラベルを作成します。
apb prepare --dockerfile Dockerfile-custom
$ apb prepare --dockerfile Dockerfile-custom
2.4.3. build リンクのコピーリンクがクリップボードにコピーされました!
説明
APB のイメージをビルドします。
タグを使って apb prepare
および docker build
を実行するのと同様です。
使用法
apb build [OPTIONS]
$ apb build [OPTIONS]
オプション
オプション (短縮形表記) | 説明 |
---|---|
|
ヘルプメッセージを表示します。 |
|
ビルドイメージのタグを |
|
イメージのタグのレジストリー部分です (例: |
|
イメージのタグのユーザーまたは組織の部分です。 |
例
イメージをビルドし、apb.yml の名前フィールドをタグとして使用します。
apb build
$ apb build
イメージをビルドし、タグ docker.io/my-org/my-new-apb
を使用します。
apb build --tag docker.io/my-org/my-new-apb
$ apb build --tag docker.io/my-org/my-new-apb
イメージをビルドし、タグ docker.io/my-org/<my-apb-name>
を使用します。
apb build --registry docker.io --org my-org
$ apb build --registry docker.io --org my-org
ファイル Dockerfile-custom を Dockerfile 定義として使用してイメージをビルドします。
apb build --dockerfile Dockerfile-custom
$ apb build --dockerfile Dockerfile-custom
2.4.4. push リンクのコピーリンクがクリップボードにコピーされました!
説明
APB を OpenShift Container レジストリーに、またはこれが OAB による読み取りが行われるブローカーのモックレジストリーにアップロードします。
ブローカーのモックレジストリーを使用する場合、仕様はアップロードされ、OpenShift Container Platform に表示されますが、通常 OpenShift Container Platform はイメージをレジストリーからプルします。このレジストリーは通常は oc cluster up
が実行されるレジストリーになります。
OpenShift Container レジストリーを使用する場合、イメージは OpenShift Container Platform に直接アップロードされます。
使用法
apb push [OPTIONS]
$ apb push [OPTIONS]
オプション
オプション (短縮形表記) | 説明 |
---|---|
|
ヘルプメッセージを表示します。 |
|
OAB へのルートです。 |
|
OpenShift Container レジストリーにプッシュする namespace です。 |
|
OpenShift Container レジストリーを使用します。 |
|
内部レジストリーイメージをビルドするための Dockerfile です。通常は |
|
OAB へのセキュアな接続を使用します。 |
|
ブローカーの通信で使用される基本認証ユーザー名です。 |
|
ブローカーの通信で使用される基本認証パスワードです。 |
|
APB のブローカーへのプッシュ後にカタログを再度一覧表示しません。 |
|
ServiceBroker Kubernetes リソースの名前です。 |
例
OAB 開発エンドポイントにプッシュします。
apb push
$ apb push
ローカルの OpenShift Container レジストリーにプッシュします。
apb push
$ apb push
namespace myproject
の下のローカルの OpenShift Container レジストリーにプッシュします。
apb push --namespace myproject
$ apb push --namespace myproject
2.4.5. test リンクのコピーリンクがクリップボードにコピーされました!
説明
APB 単体テストを実行します。
使用法
apb test [OPTIONS]
$ apb test [OPTIONS]
オプション
オプション (短縮形表記) | 説明 |
---|---|
|
ヘルプメッセージを表示します。 |
|
ビルドイメージのタグを |
例
テストを実行します。
apb test
$ apb test
テストを実行しますが、ビルドされたイメージの特定のタグを使用します。
apb test --tag docker.io/my-org/my-new-apb
$ apb test --tag docker.io/my-org/my-new-apb
2.5. ブローカーのユーティリティーコマンド リンクのコピーリンクがクリップボードにコピーされました!
2.5.1. list リンクのコピーリンクがクリップボードにコピーされました!
説明
ブローカーが読み込んだすべての APB を一覧表示します。
使用法
apb list [OPTIONS]
$ apb list [OPTIONS]
オプション
オプション (短縮形表記) | 説明 |
---|---|
|
ヘルプメッセージを表示します。 |
|
OAB へのルートです。 |
|
OAB へのセキュアな接続を使用します。 |
|
OAB から詳細な仕様情報を出力します。 |
|
詳細な出力形式を yaml (デフォルト) または json で指定します。 |
|
使用される基本認証ユーザー名を指定します。 |
|
使用される基本認証パスワードを指定します。 |
例
名前、ID および説明を含む APB の基本的な一覧です。
apb list
$ apb list
詳細な、読み取りが容易な仕様を一覧表示します。
apb list -v
$ apb list -v
すべての JSON 出力を一覧表示します。
apb list -v -o json
$ apb list -v -o json
2.5.2. bootstrap リンクのコピーリンクがクリップボードにコピーされました!
説明
OAB がすべての APB をレジストリーからリロードすることを要求します。
使用法
apb bootstrap [OPTIONS]
$ apb bootstrap [OPTIONS]
オプション
オプション (短縮形表記) | 説明 |
---|---|
|
ヘルプメッセージを表示します。 |
|
OAB へのルートです。 |
|
OAB へのセキュアな接続を使用します。 |
|
ブローカーのブートストラップにカタログを再度一覧表示しません。 |
|
使用される基本認証ユーザー名を指定します。 |
|
使用される基本認証パスワードを指定します。 |
|
ServiceBroker Kubernetes リソースの名前です。 |
例
APB の基本的なリロード:
apb bootstrap
$ apb bootstrap
2.5.3. remove リンクのコピーリンクがクリップボードにコピーされました!
説明
1 つ (またはすべての) APB を OAB から削除します。
使用法
apb remove [OPTIONS]
$ apb remove [OPTIONS]
オプション
オプション (短縮形表記) | 説明 |
---|---|
|
ヘルプメッセージを表示します。 |
|
OAB へのルートです。 |
|
OAB へのセキュアな接続を使用します。 |
|
すべての保存された APB を削除します。 |
|
削除する APB の ID です。 |
|
OAB へのセキュアな接続を使用します。 |
|
使用される基本認証ユーザー名を指定します。 |
|
使用される基本認証パスワードを指定します。 |
|
削除後にカタログを再度一覧表示しません。 |
例
ID を使用して APB を削除します。
apb remove --id ca91b61da8476984f18fc13883ae2fdb
$ apb remove --id ca91b61da8476984f18fc13883ae2fdb
APB の ID が必要な場合は、以下を使用します。
apb list
$ apb list
ID NAME DESCRIPTION
ca91b61da8476984f18fc13883ae2fdb dh-etherpad-apb Note taking web application
すべての APB を削除します。
apb remove --all
$ apb remove --all
2.5.4. relist リンクのコピーリンクがクリップボードにコピーされました!
説明
サービスカタログに対し、ブローカーに一致する提供されたサービスを再度一覧表示するよう強制します。
使用法
apb relist [OPTIONS]
$ apb relist [OPTIONS]
オプション
オプション (短縮形表記) | 説明 |
---|---|
|
ヘルプメッセージを表示します。 |
|
ServiceBroker Kubernetes リソースの名前です。 |
|
OAB へのセキュアな接続を使用します。 |
|
使用される基本認証ユーザー名を指定します。 |
|
使用される基本認証パスワードを指定します。 |
例
apb relist
$ apb relist
2.6. その他のコマンド リンクのコピーリンクがクリップボードにコピーされました!
2.6.1. help リンクのコピーリンクがクリップボードにコピーされました!
説明
ヘルプメッセージを表示します。
使用法
apb help
$ apb help
例
apb help
$ apb help
apb -h
$ apb -h