1.4. 開発者の CLI コマンド
1.4.1. 基本的な CLI コマンド
1.4.1.1. explain
特定リソースのドキュメントを表示します。
例: Pod のドキュメントの表示
$ oc explain pods
1.4.1.2. login
OpenShift Container Platform サーバーにログインし、後続の使用のためにログイン情報を保存します。
例: 対話型ログイン
$ oc login
例: ユーザー名を指定したログイン
$ oc login -u user1
1.4.1.3. new-app
ソースコード、テンプレート、またはイメージを指定して新規アプリケーションを作成します。
例: ローカル Git リポジトリーからの新規アプリケーションの作成
$ oc new-app .
例: リモート Git リポジトリーからの新規アプリケーションの作成
$ oc new-app https://github.com/sclorg/cakephp-ex
例: プライベートリモートリポジトリーからの新規アプリケーションの作成
$ oc new-app https://github.com/youruser/yourprivaterepo --source-secret=yoursecret
1.4.1.4. new-project
新規プロジェクトを作成し、設定のデフォルトのプロジェクトとしてこれに切り替えます。
例: 新規プロジェクトの作成
$ oc new-project myproject
1.4.1.5. project
別のプロジェクトに切り替えて、これを設定でデフォルトにします。
例: 別のプロジェクトへの切り替え
$ oc project test-project
1.4.1.6. projects
現在のアクティブなプロジェクトおよびサーバー上の既存プロジェクトについての情報を表示します。
例: すべてのプロジェクトの一覧表示
$ oc projects
1.4.1.7. status
現在のプロジェクトのハイレベルの概要を表示します。
例: 現在のプロジェクトのステータスの表示
$ oc status
1.4.2. CLI コマンドのビルドおよびデプロイ
1.4.2.1. cancel-build
実行中、保留中、または新規のビルドを取り消します。
例:ビルドの取り消し
$ oc cancel-build python-1
例: python
BuildConfig からの保留中のすべてのビルドの取り消し
$ oc cancel-build buildconfig/python --state=pending
1.4.2.2. import-image
イメージリポジトリーから最新のタグおよびイメージ情報をインポートします。
例: 最新のイメージ情報のインポート
$ oc import-image my-ruby
1.4.2.3. new-build
ソースコードから新規の BuildConfig
を作成します。
例: ローカル Git リポジトリーからの BuildConfig の作成
$ oc new-build .
例: リモート Git リポジトリーからの BuildConfig の作成
$ oc new-build https://github.com/sclorg/cakephp-ex
1.4.2.4. rollback
アプリケーションを以前のデプロイメントに戻します。
例: 最後に成功したデプロイメントへのロールバック
$ oc rollback php
例: 特定バージョンへのロールバック
$ oc rollback php --to-version=3
1.4.2.5. rollout
新規ロールアウトを開始し、そのステータスまたは履歴を表示するか、またはアプリケーションの以前のバージョンにロールバックします。
例: 最後に成功したデプロイメントへのロールバック
$ oc rollout undo deploymentconfig/php
例: 最新状態の DeploymentConfig の新規ロールアウトの開始
$ oc rollout latest deploymentconfig/php
1.4.2.6. start-build
BuildConfig
からビルドを開始するか、または既存ビルドをコピーします。
例: 指定された BuildConfig からのビルドの開始
$ oc start-build python
例: 以前のビルドからのビルドの開始
$ oc start-build --from-build=python-1
例: 現在のビルドに使用する環境変数の設定
$ oc start-build python --env=mykey=myvalue
1.4.2.7. tag
既存のイメージをイメージストリームにタグ付けします。
例: ruby
イメージの latest
タグを 2.0
タグのイメージを参照するように設定する
$ oc tag ruby:latest ruby:2.0
1.4.3. アプリケーション管理 CLI コマンド
1.4.3.1. annotate
1 つ以上のリソースでアノテーションを更新します。
例: アノテーションのルートへの追加
$ oc annotate route/test-route haproxy.router.openshift.io/ip_whitelist="192.168.1.10"
例: ルートからのアノテーションの削除
$ oc annotate route/test-route haproxy.router.openshift.io/ip_whitelist-
1.4.3.2. apply
JSON または YAML 形式のファイル名または標準入力 (stdin) 別に設定をリソースに適用します。
例: pod.json
の設定の Pod への適用
$ oc apply -f pod.json
1.4.3.3. autoscale
DeploymentConfig または ReplicationController の自動スケーリングを実行します。
例: 最小の 2 つおよび最大の 5 つの Pod への自動スケーリング
$ oc autoscale deploymentconfig/parksmap-katacoda --min=2 --max=5
1.4.3.4. create
JSON または YAML 形式のファイル名または標準入力 (stdin) 別にリソースを作成します。
例: pod.json
の内容を使用した Pod の作成
$ oc create -f pod.json
1.4.3.5. delete
リソースを削除します。
例: parksmap-katacoda-1-qfqz4
という名前の Pod の削除
$ oc delete pod/parksmap-katacoda-1-qfqz4
例: app=parksmap-katacoda
ラベルの付いたすべての Pod の削除
$ oc delete pods -l app=parksmap-katacoda
1.4.3.6. describe
特定のオブジェクトに関する詳細情報を返します。
例: example
という名前のデプロイメントの記述
$ oc describe deployment/example
例: すべての Pod の記述
$ oc describe pods
1.4.3.7. edit
リソースを編集します。
例: デフォルトエディターを使用した DeploymentConfig の編集
$ oc edit deploymentconfig/parksmap-katacoda
例: 異なるエディターを使用した DeploymentConfig の編集
$ OC_EDITOR="nano" oc edit deploymentconfig/parksmap-katacoda
例: JSON 形式の DeploymentConfig の編集
$ oc edit deploymentconfig/parksmap-katacoda -o json
1.4.3.8. expose
ルートとしてサービスを外部に公開します。
例: サービスの公開
$ oc expose service/parksmap-katacoda
例: サービスの公開およびホスト名の指定
$ oc expose service/parksmap-katacoda --hostname=www.my-host.com
1.4.3.9. get
1 つ以上のリソースを表示します。
例: default
namespace の Pod の一覧表示
$ oc get pods -n default
例: JSON 形式の python
DeploymentConfig についての詳細の取得
$ oc get deploymentconfig/python -o json
1.4.3.10. label
1 つ以上のリソースでラベルを更新します。
例: python-1-mz2rf
Pod の unhealthy
に設定されたラベル status
での更新
$ oc label pod/python-1-mz2rf status=unhealthy
1.4.3.11. scale
ReplicationController または DeploymentConfig の必要なレプリカ数を設定します。
例: ruby-app
DeploymentConfig の 3 つの Pod へのスケーリング
$ oc scale deploymentconfig/ruby-app --replicas=3
1.4.3.12. secrets
プロジェクトのシークレットを管理します。
例: my-pull-secret
の、default
サービスアカウントによるイメージプルシークレットとしての使用を許可
$ oc secrets link default my-pull-secret --for=pull
1.4.3.13. serviceaccounts
サービスアカウントに割り当てられたトークンを取得するか、またはサービスアカウントの新規トークンまたは kubeconfig
ファイルを作成します。
例: default
サービスアカウントに割り当てられたトークンの取得
$ oc serviceaccounts get-token default
1.4.3.14. set
既存のアプリケーションリソースを設定します。
例: BuildConfig でのシークレットの名前の設定
$ oc set build-secret --source buildconfig/mybc mysecret
1.4.4. CLI コマンドのトラブルシューティングおよびデバッグ
1.4.4.1. attach
実行中のコンテナーにシェルを割り当てます。
例: Pod python-1-mz2rf
の python
コンテナーからの出力の取得
$ oc attach python-1-mz2rf -c python
1.4.4.2. cp
ファイルおよびディレクトリーのコンテナーへの/からのコピーを実行します。
例: python-1-mz2rf
Pod からローカルファイルシステムへのファイルのコピー
$ oc cp default/python-1-mz2rf:/opt/app-root/src/README.md ~/mydirectory/.
1.4.4.3. debug
コマンドシェルを起動して、実行中のアプリケーションをデバッグします。
例: python
デプロイメントのデバッグ
$ oc debug deploymentconfig/python
1.4.4.4. exec
コンテナーでコマンドを実行します。
例: ls
コマンドの Pod python-1-mz2rf
の python
コンテナーでの実行
$ oc exec python-1-mz2rf -c python ls
1.4.4.5. logs
特定のビルド、BuildConfig、DeploymentConfig、または Pod のログ出力を取得します。
例: python
DeploymentConfig からの最新ログのストリーミング
$ oc logs -f deploymentconfig/python
1.4.4.6. port-forward
1 つ以上のポートを Pod に転送します。
例: ポート 8888
でのローカルのリッスンおよび Pod のポート 5000
への転送
$ oc port-forward python-1-mz2rf 8888:5000
1.4.4.7. proxy
Kubernetes API サーバーに対してプロキシーを実行します。
例: ./local/www/
から静的コンテンツを提供するポート 8011
の API サーバーに対するプロキシーの実行
$ oc proxy --port=8011 --www=./local/www/
1.4.4.8. rsh
コンテナーへのリモートシェルセッションを開きます。
例: python-1-mz2rf
Pod の最初のコンテナーでシェルセッションを開く
$ oc rsh python-1-mz2rf
1.4.4.9. rsync
ディレクトリーの内容の実行中の Pod コンテナーへの/からのコピーを実行します。変更されたファイルのみが、オペレーティングシステムから rsync
コマンドを使用してコピーされます。
例: ローカルディレクトリーのファイルの Pod ディレクトリーとの同期
$ oc rsync ~/mydirectory/ python-1-mz2rf:/opt/app-root/src/
1.4.4.10. run
特定のイメージを作成し、実行します。デフォルトでは、これにより作成されたコンテナーを管理するための DeploymentConfig が作成されます。
例: 3 つのレプリカを持つ perl
イメージのインスタンスの開始
$ oc run my-test --image=perl --replicas=3
1.4.4.11. wait
1 つ以上のリソースの特定の条件を待機します。
このコマンドは実験的なもので、通知なしに変更される可能性があります。
例: python-1-mz2rf
Pod の削除の待機
$ oc wait --for=delete pod/python-1-mz2rf
1.4.5. 上級開発者の CLI コマンド
1.4.5.1. api-resources
サーバーがサポートする API リソースの詳細の一覧を表示します。
例: サポートされている API リソースの一覧表示
$ oc api-resources
1.4.5.2. api-versions
サーバーがサポートする API バージョンの詳細の一覧を表示します。
例: サポートされている API バージョンの一覧表示
$ oc api-versions
1.4.5.3. auth
パーミッションを検査し、RBAC ロールを調整します。
例: 現行ユーザーが Pod ログを読み取ることができるかどうかのチェック
$ oc auth can-i get pods --subresource=log
例: ファイルの RBAC ロールおよびパーミッションの調整
$ oc auth reconcile -f policy.json
1.4.5.4. cluster-info
マスターおよびクラスターサービスのアドレスを表示します。
例: クラスター情報の表示
$ oc cluster-info
1.4.5.5. convert
YAML または JSON 設定ファイルを異なる API バージョンに変換し、標準出力 (stdout) に出力します。
例: pod.yaml
の最新バージョンへの変換
$ oc convert -f pod.yaml
1.4.5.6. extract
ConfigMap またはシークレットの内容を抽出します。ConfigMap またはシークレットのそれぞれのキーがキーの名前を持つ別個のファイルとして作成されます。
例: ruby-1-ca
ConfigMap の内容の現行ディレクトリーへのダウンロード
$ oc extract configmap/ruby-1-ca
例: ruby-1-ca
ConfigMap の内容の標準出力 (stdout) への出力
$ oc extract configmap/ruby-1-ca --to=-
1.4.5.7. idle
スケーラブルなリソースをアイドリングします。アイドリングされたサービスは、トラフィックを受信するとアイドリング解除されます。 これは oc scale
コマンドを使用して手動でアイドリング解除することもできます。
例: ruby-app
サービスのアイドリング
$ oc idle ruby-app
1.4.5.8. image
OpenShift Container Platform クラスターでイメージを管理します。
例: イメージの別のタグへのコピー
$ oc image mirror myregistry.com/myimage:latest myregistry.com/myimage:stable
1.4.5.9. observe
リソースの変更を監視し、それらの変更に対するアクションを取ります。
例: サービスへの変更の監視
$ oc observe services
1.4.5.10. patch
JSON または YAML 形式のストテラテジーに基づくマージパッチを使用してオブジェクトの 1 つ以上のフィールドを更新します。
例: ノード node1
の spec.unschedulable
フィールドの true
への更新
$ oc patch node/node1 -p '{"spec":{"unschedulable":true}}'
カスタムリソース定義 (Custom Resource Definition) のパッチを適用する必要がある場合、コマンドに --type merge
オプションを含める必要があります。
1.4.5.11. policy
認可ポリシーを管理します。
例: edit
ロールの現在のプロジェクトの user1
への追加
$ oc policy add-role-to-user edit user1
1.4.5.12. process
リソースの一覧に対してテンプレートを処理します。
例: template.json
をリソース一覧に変換し、 oc create
に渡す
$ oc process -f template.json | oc create -f -
1.4.5.13. レジストリー
OpenShift Container Platform で統合レジストリーを管理します。
例: 統合レジストリーについての情報の表示
$ oc registry info
1.4.5.14. replace
指定された設定ファイルに基づいて既存オブジェクトを変更します。
例: pod.json
の内容を使用した Pod の更新
$ oc replace -f pod.json
1.4.6. CLI コマンドの設定
1.4.6.1. completion
指定されたシェルのシェル補完コードを出力します。
例: Bash の補完コードの表示
$ oc completion bash
1.4.6.2. config
クライアント設定ファイルを管理します。
例: 現在の設定の表示
$ oc config view
例: 別のコンテキストへの切り替え
$ oc config use-context test-context
1.4.6.3. logout
現行のセッションからログアウトします。
例: 現行セッションの終了
$ oc logout
1.4.6.4. whoami
現行セッションに関する情報を表示します。
例: 現行の認証ユーザーの表示
$ oc whoami
1.4.7. 他の開発者 CLI コマンド
1.4.7.1. help
CLI の一般的なヘルプ情報および利用可能なコマンドの一覧を表示します。
例: 利用可能なコマンドの表示
$ oc help
例: new-project
コマンドのヘルプの表示
$ oc help new-project
1.4.7.2. plugin
ユーザーの PATH
に利用可能なプラグインを一覧表示します。
例: 利用可能なプラグインの一覧表示
$ oc plugin list
1.4.7.3. version
oc
クライアントおよびサーバーのバージョンを表示します。
例: バージョン情報の表示
$ oc version
クラスター管理者の場合、OpenShift Container Platform サーバーバージョンも表示されます。