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-mz2rfpython コンテナーからの出力の取得

$ 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-mz2rfpython コンテナーでの実行

$ 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 つ以上のフィールドを更新します。

例: ノード node1spec.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 サーバーバージョンも表示されます。