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.CLI リファレンス
OpenShift CLI の使用方法について
概要
oc
) のインストール、設定、および使用について説明します。また、CLI コマンドの参照情報およびそれらの使用方法についての例も記載しています。
第1章 CLI の使用方法 リンクのコピーリンクがクリップボードにコピーされました!
1.1. CLI について リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform のコマンドラインインターフェース (CLI) を使用すると、ターミナルからアプリケーションを作成し、OpenShift Container Platform プロジェクトを管理できます。CLI の使用は、以下の場合に適しています。
- プロジェクトのソースコードを直接使用している。
- OpenShift Container Platform の操作をスクリプト化する。
- 帯域幅リソースの制限下にあり、Web コンソールを使用できない。
1.2. CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェースを使用して OpenShift Container Platform と対話するために CLI をインストールすることができます。
手順
- Red Hat OpenShift Cluster Manager サイトの Infrastructure Provider ページから、選択するインストールタイプのページに移動し、Download Command-line Tools をクリックします。
- オペレーティングシステムおよびアーキテクチャーのフォルダーをクリックしてから、圧縮されたファイルをクリックします。
- ファイルをファイルシステムに保存します。
- 圧縮ファイルを展開します。
-
これを
PATH
にあるディレクトリーに配置します。
CLI のインストール後は、oc
コマンドを使用して利用できます。
oc <command>
$ oc <command>
1.3. CLI へのログイン リンクのコピーリンクがクリップボードにコピーされました!
oc
CLI にログインしてクラスターにアクセスし、これを管理できます。
前提条件
- OpenShift Container Platform クラスターへのアクセスがあること。
- CLI をインストールしていること。
手順
oc login
コマンドを使用して CLI にログインし、プロンプトが出されたら必要な情報を入力します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
これで、プロジェクトを作成でき、クラスターを管理するための他のコマンドを実行することができます。
1.4. CLI の使用 リンクのコピーリンクがクリップボードにコピーされました!
以下のセクションで、CLI を使用して一般的なタスクを実行する方法を確認します。
1.4.1. プロジェクトの作成 リンクのコピーリンクがクリップボードにコピーされました!
新規プロジェクトを作成するには、oc new-project
コマンドを使用します。
oc new-project my-project
$ oc new-project my-project
Now using project "my-project" on server "https://openshift.example.com:6443".
1.4.2. 新しいアプリケーションの作成 リンクのコピーリンクがクリップボードにコピーされました!
新規アプリケーションを作成するには、oc new-app
コマンドを使用します。
1.4.3. Pod の表示 リンクのコピーリンクがクリップボードにコピーされました!
現在のプロジェクトの Pod を表示するには、oc get pods
コマンドを使用します。
oc get pods -o wide
$ oc get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE
cakephp-ex-1-build 0/1 Completed 0 5m45s 10.131.0.10 ip-10-0-141-74.ec2.internal <none>
cakephp-ex-1-deploy 0/1 Completed 0 3m44s 10.129.2.9 ip-10-0-147-65.ec2.internal <none>
cakephp-ex-1-ktz97 1/1 Running 0 3m33s 10.128.2.11 ip-10-0-168-105.ec2.internal <none>
1.4.4. Pod ログの表示 リンクのコピーリンクがクリップボードにコピーされました!
特定の Pod のログを表示するには、oc logs
コマンドを使用します。
oc logs cakephp-ex-1-deploy
$ oc logs cakephp-ex-1-deploy
--> Scaling cakephp-ex-1 to 1
--> Success
1.4.5. 現在のプロジェクトの表示 リンクのコピーリンクがクリップボードにコピーされました!
現在のプロジェクトを表示するには、oc project
コマンドを使用します。
oc project
$ oc project
Using project "my-project" on server "https://openshift.example.com:6443".
1.4.6. 現在のプロジェクトのステータスの表示 リンクのコピーリンクがクリップボードにコピーされました!
サービス、DeploymentConfig、および BuildConfig などの現在のプロジェクトについての情報を表示するには、oc status
コマンドを使用します。
1.4.7. サポートされる API のリソースの一覧表示 リンクのコピーリンクがクリップボードにコピーされました!
サーバー上でサポートされる API リソースの一覧を表示するには、oc api-resources
コマンドを使用します。
1.5. ヘルプの表示 リンクのコピーリンクがクリップボードにコピーされました!
CLI コマンドおよび OpenShift Container Platform リソースに関するヘルプを以下の方法で表示することができます。
利用可能なすべての CLI コマンドの一覧および説明を表示するには、
oc help
を使用します。例: CLI についての一般的なヘルプの表示
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 特定の CLI コマンドについてのヘルプを表示するには、
--help
フラグを使用します。例:
oc create
コマンドについてのヘルプの表示Copy to Clipboard Copied! Toggle word wrap Toggle overflow 特定リソースについての説明およびフィールドを表示するには、
oc explain
コマンドを使用します。例: Pod リソースのドキュメントの表示
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6. CLI からのログアウト リンクのコピーリンクがクリップボードにコピーされました!
CLI からログアウトし、現在のセッションを終了することができます。
oc logout
コマンドを使用します。oc logout
$ oc logout Logged "user1" out on "https://openshift.example.com"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
これにより、サーバーから保存された認証トークンが削除され、設定ファイルから除去されます。
第2章 CLI の設定 リンクのコピーリンクがクリップボードにコピーされました!
2.1. タブ補完の有効化 リンクのコピーリンクがクリップボードにコピーされました!
oc
CLI ツールをインストールした後に、タブ補完を有効にして oc
コマンドの自動補完を実行するか、または Tab キーを押す際にオプションの提案が表示されるようにできます。
前提条件
-
oc
CLI ツールをインストールしていること。
手順
以下の手順では、Bash のタブ補完を有効にします。
Bash 補完コードをファイルに保存します。
oc completion bash > oc_bash_completion
$ oc completion bash > oc_bash_completion
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルを
/etc/bash_completion.d/
にコピーします。sudo cp oc_bash_completion /etc/bash_completion.d/
$ sudo cp oc_bash_completion /etc/bash_completion.d/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow さらにファイルをローカルディレクトリーに保存した後に、これを
.bashrc
ファイルから取得できるようにすることができます。
タブ補完は、新規ターミナルを開くと有効にされます。
第3章 プラグインによる CLI の拡張 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトの oc
コマンドを拡張するためにプラグインを作成およびインストールし、これを使用して OpenShift Container Platform CLI で新規および追加の複雑なタスクを実行できます。
3.1. CLI プラグインの作成 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインのコマンドを作成できる任意のプログラミング言語またはスクリプトで、OpenShift Container Platform CLI のプラグインを作成できます。既存の oc
コマンドを上書きするプラグインを使用することはできない点に注意してください。
現時点で OpenShift CLI プラグインはテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。これらの機能は、近々発表予定の製品機能をリリースに先駆けてご提供することにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。
詳細は、「テクノロジープレビュー機能のサポート範囲」を参照してください。
手順
以下の手順では、oc foo
コマンドの実行時にターミナルにメッセージを出力する単純な Bash プラグインを作成します。
oc-foo
というファイルを作成します。プラグインファイルの名前を付ける際には、以下の点に留意してください。
-
プログインとして認識されるように、ファイルの名前は
oc-
またはkubectl-
で開始する必要があります。 -
ファイル名は、プラグインを起動するコマンドを判別するものとなります。たとえば、ファイル名が
oc-foo-bar
のプラグインは、oc foo bar
のコマンドで起動します。また、コマンドにダッシュを含める必要がある場合には、アンダースコアを使用することもできます。たとえば、ファイル名がoc-foo_bar
のプラグインはoc foo-bar
のコマンドで起動できます。
-
プログインとして認識されるように、ファイルの名前は
以下の内容をファイルに追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift Container Platform CLI のこのプラグインをインストールした後に、oc foo
コマンドを使用してこれを起動できます。
追加リソース
- Go で作成されたプラグインの例については、 サンプルのプラグインリポジトリーを参照してください。
- Go でのプラグインの作成を支援する一連のユーティリティーについては、CLI ランタイムリポジトリーを参照してください。
3.2. CLI プラグインのインストールおよび使用 リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform CLI のカスタムプラグインの作成後に、これが提供する機能を使用できるようインストールする必要があります。
現時点で OpenShift CLI プラグインはテクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。これらの機能は、近々発表予定の製品機能をリリースに先駆けてご提供することにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。
詳細は、「テクノロジープレビュー機能のサポート範囲」を参照してください。
前提条件
-
oc
CLI ツールをインストールしていること。 -
oc-
またはkubectl-
で始まる CLI プラグインファイルがあること。
手順
必要に応じて、プラグインファイルを実行可能な状態になるように更新します。
chmod +x <plugin_file>
$ chmod +x <plugin_file>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルを
PATH
の任意の場所に置きます (例:/usr/local/bin/
)。sudo mv <plugin_file> /usr/local/bin/.
$ sudo mv <plugin_file> /usr/local/bin/.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc plugin list
を実行し、プラグインが一覧表示されることを確認します。oc plugin list
$ oc plugin list The following compatible plugins are available: /usr/local/bin/<plugin_file>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow プラグインがここに一覧表示されていない場合、ファイルが
oc-
またはkubectl-
で開始されるものであり、実行可能な状態でPATH
上にあることを確認します。プラグインによって導入される新規コマンドまたはオプションを起動します。
たとえば、
kubectl-ns
プラグインをサンプルのプラグインリポジトリーからビルドし、インストールしている場合、以下のコマンドを使用して現在の namespace を表示できます。oc ns
$ oc ns
Copy to Clipboard Copied! Toggle word wrap Toggle overflow プラグインを起動するためのコマンドはプラグインファイル名によって異なることに注意してください。たとえば、ファイル名が
oc-foo-bar
のプラグインはoc foo bar
コマンドによって起動します。
第4章 開発者の CLI コマンド リンクのコピーリンクがクリップボードにコピーされました!
4.1. 基本的な CLI コマンド リンクのコピーリンクがクリップボードにコピーされました!
4.1.1. explain リンクのコピーリンクがクリップボードにコピーされました!
特定リソースのドキュメントを表示します。
例: Pod のドキュメントの表示
oc explain pods
$ oc explain pods
4.1.2. login リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform サーバーにログインし、後続の使用のためにログイン情報を保存します。
例: 対話型ログイン
oc login
$ oc login
例: ユーザー名を指定したログイン
oc login -u user1
$ oc login -u user1
4.1.3. new-app リンクのコピーリンクがクリップボードにコピーされました!
ソースコード、テンプレート、またはイメージを指定して新規アプリケーションを作成します。
例: ローカル Git リポジトリーからの新規アプリケーションの作成
oc new-app .
$ oc new-app .
例: リモート Git リポジトリーからの新規アプリケーションの作成
oc new-app https://github.com/sclorg/cakephp-ex
$ oc new-app https://github.com/sclorg/cakephp-ex
例: プライベートリモートリポジトリーからの新規アプリケーションの作成
oc new-app https://github.com/youruser/yourprivaterepo --source-secret=yoursecret
$ oc new-app https://github.com/youruser/yourprivaterepo --source-secret=yoursecret
4.1.4. new-project リンクのコピーリンクがクリップボードにコピーされました!
新規プロジェクトを作成し、設定のデフォルトのプロジェクトとしてこれに切り替えます。
例: 新規プロジェクトの作成
oc new-project myproject
$ oc new-project myproject
4.1.5. project リンクのコピーリンクがクリップボードにコピーされました!
別のプロジェクトに切り替えて、これを設定でデフォルトにします。
例: 別のプロジェクトへの切り替え
oc project test-project
$ oc project test-project
4.1.6. projects リンクのコピーリンクがクリップボードにコピーされました!
現在のアクティブなプロジェクトおよびサーバー上の既存プロジェクトについての情報を表示します。
例: すべてのプロジェクトの一覧表示
oc projects
$ oc projects
4.1.7. status リンクのコピーリンクがクリップボードにコピーされました!
現在のプロジェクトのハイレベルの概要を表示します。
例: 現在のプロジェクトのステータスの表示
oc status
$ oc status
4.2. CLI コマンドのビルドおよびデプロイ リンクのコピーリンクがクリップボードにコピーされました!
4.2.1. cancel-build リンクのコピーリンクがクリップボードにコピーされました!
実行中、保留中、または新規のビルドを取り消します。
例:ビルドの取り消し
oc cancel-build python-1
$ oc cancel-build python-1
例: python
BuildConfig からの保留中のすべてのビルドの取り消し
oc cancel-build buildconfig/python --state=pending
$ oc cancel-build buildconfig/python --state=pending
4.2.2. import-image リンクのコピーリンクがクリップボードにコピーされました!
イメージリポジトリーから最新のタグおよびイメージ情報をインポートします。
例: 最新のイメージ情報のインポート
oc import-image my-ruby
$ oc import-image my-ruby
4.2.3. new-build リンクのコピーリンクがクリップボードにコピーされました!
ソースコードから新規の BuildConfig
を作成します。
例: ローカル Git リポジトリーからの BuildConfig の作成
oc new-build .
$ oc new-build .
例: リモート Git リポジトリーからの BuildConfig の作成
oc new-build https://github.com/sclorg/cakephp-ex
$ oc new-build https://github.com/sclorg/cakephp-ex
4.2.4. rollback リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションを以前のデプロイメントに戻します。
例: 最後に成功したデプロイメントへのロールバック
oc rollback php
$ oc rollback php
例: 特定バージョンへのロールバック
oc rollback php --to-version=3
$ oc rollback php --to-version=3
4.2.5. rollout リンクのコピーリンクがクリップボードにコピーされました!
新規ロールアウトを開始し、そのステータスまたは履歴を表示するか、またはアプリケーションの以前のバージョンにロールバックします。
例: 最後に成功したデプロイメントへのロールバック
oc rollout undo deploymentconfig/php
$ oc rollout undo deploymentconfig/php
例: 最新状態の DeploymentConfig の新規ロールアウトの開始
oc rollout latest deploymentconfig/php
$ oc rollout latest deploymentconfig/php
4.2.6. start-build リンクのコピーリンクがクリップボードにコピーされました!
BuildConfig
からビルドを開始するか、または既存ビルドをコピーします。
例: 指定された BuildConfig からのビルドの開始
oc start-build python
$ oc start-build python
例: 以前のビルドからのビルドの開始
oc start-build --from-build=python-1
$ oc start-build --from-build=python-1
例: 現在のビルドに使用する環境変数の設定
oc start-build python --env=mykey=myvalue
$ oc start-build python --env=mykey=myvalue
4.2.7. tag リンクのコピーリンクがクリップボードにコピーされました!
既存のイメージをイメージストリームにタグ付けします。
例: ruby
イメージの latest
タグを 2.0
タグのイメージを参照するように設定する
oc tag ruby:latest ruby:2.0
$ oc tag ruby:latest ruby:2.0
4.3. アプリケーション管理 CLI コマンド リンクのコピーリンクがクリップボードにコピーされました!
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="192.168.1.10"
例: ルートからのアノテーションの削除
oc annotate route/test-route haproxy.router.openshift.io/ip_whitelist-
$ oc annotate route/test-route haproxy.router.openshift.io/ip_whitelist-
4.3.2. apply リンクのコピーリンクがクリップボードにコピーされました!
JSON または YAML 形式のファイル名または標準入力 (stdin) 別に設定をリソースに適用します。
例: pod.json
の設定の Pod への適用
oc apply -f pod.json
$ oc apply -f pod.json
4.3.3. autoscale リンクのコピーリンクがクリップボードにコピーされました!
DeploymentConfig または ReplicationController の自動スケーリングを実行します。
例: 最小の 2 つおよび最大の 5 つの Pod への自動スケーリング
oc autoscale deploymentconfig/parksmap-katacoda --min=2 --max=5
$ oc autoscale deploymentconfig/parksmap-katacoda --min=2 --max=5
4.3.4. create リンクのコピーリンクがクリップボードにコピーされました!
JSON または YAML 形式のファイル名または標準入力 (stdin) 別にリソースを作成します。
例: pod.json
の内容を使用した Pod の作成
oc create -f pod.json
$ oc create -f pod.json
4.3.5. delete リンクのコピーリンクがクリップボードにコピーされました!
リソースを削除します。
例: parksmap-katacoda-1-qfqz4
という名前の Pod の削除
oc delete pod/parksmap-katacoda-1-qfqz4
$ oc delete pod/parksmap-katacoda-1-qfqz4
例: app=parksmap-katacoda
ラベルの付いたすべての Pod の削除
oc delete pods -l app=parksmap-katacoda
$ oc delete pods -l app=parksmap-katacoda
4.3.6. describe リンクのコピーリンクがクリップボードにコピーされました!
特定のオブジェクトに関する詳細情報を返します。
例: example
という名前のデプロイメントの記述
oc describe deployment/example
$ oc describe deployment/example
例: すべての Pod の記述
oc describe pods
$ oc describe pods
4.3.7. edit リンクのコピーリンクがクリップボードにコピーされました!
リソースを編集します。
例: デフォルトエディターを使用した DeploymentConfig の編集
oc edit deploymentconfig/parksmap-katacoda
$ oc edit deploymentconfig/parksmap-katacoda
例: 異なるエディターを使用した DeploymentConfig の編集
OC_EDITOR="nano" oc edit deploymentconfig/parksmap-katacoda
$ OC_EDITOR="nano" oc edit deploymentconfig/parksmap-katacoda
例: JSON 形式の DeploymentConfig の編集
oc edit deploymentconfig/parksmap-katacoda -o json
$ oc edit deploymentconfig/parksmap-katacoda -o json
4.3.8. expose リンクのコピーリンクがクリップボードにコピーされました!
ルートとしてサービスを外部に公開します。
例: サービスの公開
oc expose service/parksmap-katacoda
$ oc expose service/parksmap-katacoda
例: サービスの公開およびホスト名の指定
oc expose service/parksmap-katacoda --hostname=www.my-host.com
$ oc expose service/parksmap-katacoda --hostname=www.my-host.com
4.3.9. get リンクのコピーリンクがクリップボードにコピーされました!
1 つ以上のリソースを表示します。
例: default
namespace の Pod の一覧表示
oc get pods -n default
$ oc get pods -n default
例: JSON 形式の python
DeploymentConfig についての詳細の取得
oc get deploymentconfig/python -o json
$ oc get deploymentconfig/python -o json
4.3.10. label リンクのコピーリンクがクリップボードにコピーされました!
1 つ以上のリソースでアノテーションを更新します。
例: python-1-mz2rf
Pod の unhealthy
に設定されたラベル status
での更新
oc label pod/python-1-mz2rf status=unhealthy
$ oc label pod/python-1-mz2rf status=unhealthy
4.3.11. scale リンクのコピーリンクがクリップボードにコピーされました!
ReplicationController または DeploymentConfig の必要なレプリカ数を設定します。
例: ruby-app
DeploymentConfig の 3 つの Pod へのスケーリング
oc scale deploymentconfig/ruby-app --replicas=3
$ oc scale deploymentconfig/ruby-app --replicas=3
4.3.12. secrets リンクのコピーリンクがクリップボードにコピーされました!
プロジェクトのシークレットを管理します。
例: my-pull-secret
の、default
サービスアカウントによるイメージプルシークレットとしての使用を許可
oc secrets link default my-pull-secret --for=pull
$ oc secrets link default my-pull-secret --for=pull
4.3.13. serviceaccounts リンクのコピーリンクがクリップボードにコピーされました!
サービスアカウントに割り当てられたトークンを取得するか、またはサービスアカウントの新規トークンまたは kubeconfig
ファイルを作成します。
例: default
サービスアカウントに割り当てられたトークンの取得
oc serviceaccounts get-token default
$ oc serviceaccounts get-token default
4.3.14. set リンクのコピーリンクがクリップボードにコピーされました!
既存のアプリケーションリソースを設定します。
例: BuildConfig でのシークレットの名前の設定
oc set build-secret --source buildconfig/mybc mysecret
$ oc set build-secret --source buildconfig/mybc mysecret
4.4. CLI コマンドのトラブルシューティングおよびデバッグ リンクのコピーリンクがクリップボードにコピーされました!
4.4.1. attach リンクのコピーリンクがクリップボードにコピーされました!
実行中のコンテナーにシェルを割り当てます。
例: Pod python-1-mz2rf
の python
コンテナーからの出力の取得
oc attach python-1-mz2rf -c python
$ oc attach python-1-mz2rf -c python
4.4.2. cp リンクのコピーリンクがクリップボードにコピーされました!
ファイルおよびディレクトリーのコンテナーへの/からのコピーを実行します。
例: python-1-mz2rf
Pod からローカルファイルシステムへのファイルのコピー
oc cp default/python-1-mz2rf:/opt/app-root/src/README.md ~/mydirectory/.
$ oc cp default/python-1-mz2rf:/opt/app-root/src/README.md ~/mydirectory/.
4.4.3. debug リンクのコピーリンクがクリップボードにコピーされました!
コマンドシェルを起動して、実行中のアプリケーションをデバッグします。
例: python
デプロイメントのデバッグ
oc debug deploymentconfig/python
$ oc debug deploymentconfig/python
4.4.4. exec リンクのコピーリンクがクリップボードにコピーされました!
コンテナーでコマンドを実行します。
例: ls
コマンドの Pod python-1-mz2rf
の python
コンテナーでの実行
oc exec python-1-mz2rf -c python ls
$ oc exec python-1-mz2rf -c python ls
4.4.5. logs リンクのコピーリンクがクリップボードにコピーされました!
特定のビルド、BuildConfig、DeploymentConfig、または Pod のログ出力を取得します。
例: python
DeploymentConfig からの最新ログのストリーミング
oc logs -f deploymentconfig/python
$ oc logs -f deploymentconfig/python
4.4.6. port-forward リンクのコピーリンクがクリップボードにコピーされました!
1 つ以上のポートを Pod に転送します。
例: ポート 8888
でのローカルのリッスンおよび Pod のポート 5000
への転送
oc port-forward python-1-mz2rf 8888:5000
$ oc port-forward python-1-mz2rf 8888:5000
4.4.7. proxy リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes API サーバーに対してプロキシーを実行します。
例: ./local/www/
から静的コンテンツを提供するポート 8011
の API サーバーに対するプロキシーの実行
oc proxy --port=8011 --www=./local/www/
$ oc proxy --port=8011 --www=./local/www/
4.4.8. rsh リンクのコピーリンクがクリップボードにコピーされました!
コンテナーへのリモートシェルセッションを開きます。
例: python-1-mz2rf
Pod の最初のコンテナーでシェルセッションを開く
oc rsh python-1-mz2rf
$ oc rsh python-1-mz2rf
4.4.9. rsync リンクのコピーリンクがクリップボードにコピーされました!
ディレクトリーの内容の実行中の Pod コンテナーへの/からのコピーを実行します。変更されたファイルのみが、オペレーティングシステムから rsync
コマンドを使用してコピーされます。
例: ローカルディレクトリーのファイルの Pod ディレクトリーとの同期
oc rsync ~/mydirectory/ python-1-mz2rf:/opt/app-root/src/
$ oc rsync ~/mydirectory/ python-1-mz2rf:/opt/app-root/src/
4.4.10. run リンクのコピーリンクがクリップボードにコピーされました!
特定のイメージを作成し、実行します。デフォルトでは、これにより作成されたコンテナーを管理するための DeploymentConfig が作成されます。
例: 3 つのレプリカを持つ perl
イメージのインスタンスの開始
oc run my-test --image=perl --replicas=3
$ oc run my-test --image=perl --replicas=3
4.4.11. wait リンクのコピーリンクがクリップボードにコピーされました!
1 つ以上のリソースの特定の条件を待機します。
例: python-1-mz2rf
Pod の削除の待機
oc wait --for=delete pod/python-1-mz2rf
$ oc wait --for=delete pod/python-1-mz2rf
4.5. 上級開発者の CLI コマンド リンクのコピーリンクがクリップボードにコピーされました!
4.5.1. api-resources リンクのコピーリンクがクリップボードにコピーされました!
サーバーがサポートする API リソースの詳細の一覧を表示します。
例: サポートされている API リソースの一覧表示
oc api-resources
$ oc api-resources
4.5.2. api-versions リンクのコピーリンクがクリップボードにコピーされました!
サーバーがサポートする API バージョンの詳細の一覧を表示します。
例: サポートされている API バージョンの一覧表示
oc api-versions
$ oc api-versions
4.5.3. auth リンクのコピーリンクがクリップボードにコピーされました!
パーミッションを検査し、RBAC ロールを調整します。
例: 現行ユーザーが Pod ログを読み取ることができるかどうかのチェック
oc auth can-i get pods --subresource=log
$ oc auth can-i get pods --subresource=log
例: ファイルの RBAC ロールおよびパーミッションの調整
oc auth reconcile -f policy.json
$ oc auth reconcile -f policy.json
4.5.4. cluster-info リンクのコピーリンクがクリップボードにコピーされました!
マスターおよびクラスターサービスのアドレスを表示します。
例: クラスター情報の表示
oc cluster-info
$ oc cluster-info
4.5.5. convert リンクのコピーリンクがクリップボードにコピーされました!
YAML または JSON 設定ファイルを異なる API バージョンに変換し、標準出力 (stdout) に出力します。
例: pod.yaml
の最新バージョンへの変換
oc convert -f pod.yaml
$ oc convert -f pod.yaml
4.5.6. extract リンクのコピーリンクがクリップボードにコピーされました!
ConfigMap またはシークレットの内容を抽出します。ConfigMap またはシークレットのそれぞれのキーがキーの名前を持つ別個のファイルとして作成されます。
例: ruby-1-ca
ConfigMap の内容の現行ディレクトリーへのダウンロード
oc extract configmap/ruby-1-ca
$ oc extract configmap/ruby-1-ca
例: ruby-1-ca
ConfigMap の内容の標準出力 (stdout) への出力
oc extract configmap/ruby-1-ca --to=-
$ oc extract configmap/ruby-1-ca --to=-
4.5.7. idle リンクのコピーリンクがクリップボードにコピーされました!
スケーラブルなリソースをアイドリングします。アイドリングされたサービスは、トラフィックを受信するとアイドリング解除されます。 これは oc scale
コマンドを使用して手動でアイドリング解除することもできます。
例: ruby-app
サービスのアイドリング
oc idle ruby-app
$ oc idle ruby-app
4.5.8. image リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform クラスターでイメージを管理します。
例: イメージの別のタグへのコピー
oc image mirror myregistry.com/myimage:latest myregistry.com/myimage:stable
$ oc image mirror myregistry.com/myimage:latest myregistry.com/myimage:stable
4.5.9. observe リンクのコピーリンクがクリップボードにコピーされました!
リソースの変更を監視し、それらの変更に対するアクションを取ります。
例: サービスへの変更の監視
oc observe services
$ oc observe services
4.5.10. patch リンクのコピーリンクがクリップボードにコピーされました!
JSON または YAML 形式のストテラテジーに基づくマージパッチを使用してオブジェクトの 1 つ以上のフィールドを更新します。
例: ノード node1
の spec.unschedulable
フィールドの true
への更新
oc patch node/node1 -p '{"spec":{"unschedulable":true}}'
$ oc patch node/node1 -p '{"spec":{"unschedulable":true}}'
カスタムリソース定義 (Custom Resource Definition) のパッチを適用する必要がある場合、コマンドに --type merge
オプションを含める必要があります。
4.5.11. policy リンクのコピーリンクがクリップボードにコピーされました!
認可ポリシーを管理します。
例: edit
ロールの現在のプロジェクトの user1
への追加
oc policy add-role-to-user edit user1
$ oc policy add-role-to-user edit user1
4.5.12. process リンクのコピーリンクがクリップボードにコピーされました!
リソースの一覧に対してテンプレートを処理します。
例: template.json
をリソース一覧に変換し、 oc create
に渡す
oc process -f template.json | oc create -f -
$ oc process -f template.json | oc create -f -
4.5.13. レジストリー リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform で統合レジストリーを管理します。
例: 統合レジストリーについての情報の表示
oc registry info
$ oc registry info
4.5.14. replace リンクのコピーリンクがクリップボードにコピーされました!
指定された設定ファイルに基づいて既存オブジェクトを変更します。
例: pod.json
の内容を使用した Pod の更新
oc replace -f pod.json
$ oc replace -f pod.json
4.6. CLI コマンドの設定 リンクのコピーリンクがクリップボードにコピーされました!
4.6.1. completion リンクのコピーリンクがクリップボードにコピーされました!
指定されたシェルのシェル補完コードを出力します。
例: Bash の補完コードの表示
oc completion bash
$ oc completion bash
4.6.2. config リンクのコピーリンクがクリップボードにコピーされました!
クライアント設定ファイルを管理します。
例: 現在の設定の表示
oc config view
$ oc config view
例: 別のコンテキストへの切り替え
oc config use-context test-context
$ oc config use-context test-context
4.6.3. logout リンクのコピーリンクがクリップボードにコピーされました!
現行のセッションからログアウトします。
例: 現行セッションの終了
oc logout
$ oc logout
4.6.4. whoami リンクのコピーリンクがクリップボードにコピーされました!
現行セッションに関する情報を表示します。
例: 現行の認証ユーザーの表示
oc whoami
$ oc whoami
4.7. 他の開発者 CLI コマンド リンクのコピーリンクがクリップボードにコピーされました!
4.7.1. help リンクのコピーリンクがクリップボードにコピーされました!
CLI の一般的なヘルプ情報および利用可能なコマンドの一覧を表示します。
例: 利用可能なコマンドの表示
oc help
$ oc help
例: new-project
コマンドのヘルプの表示
oc help new-project
$ oc help new-project
4.7.2. plugin リンクのコピーリンクがクリップボードにコピーされました!
ユーザーの PATH
に利用可能なプラグインを一覧表示します。
例: 利用可能なプラグインの一覧表示
oc plugin list
$ oc plugin list
4.7.3. version リンクのコピーリンクがクリップボードにコピーされました!
oc
クライアントおよびサーバーのバージョンを表示します。
例: バージョン情報の表示
oc version
$ oc version
第5章 管理者 CLI コマンド リンクのコピーリンクがクリップボードにコピーされました!
5.1. クラスター管理 CLI コマンド リンクのコピーリンクがクリップボードにコピーされました!
5.1.1. must-gather リンクのコピーリンクがクリップボードにコピーされました!
問題のデバッグに必要なクラスターの現在の状態についてのデータを一括収集します。
例: デバッグ情報の収集
oc adm must-gather
$ oc adm must-gather
5.1.2. top リンクのコピーリンクがクリップボードにコピーされました!
サーバー上のリソースの使用状況についての統計を表示します。
例: Pod の CPU およびメモリーの使用状況の表示
oc adm top pods
$ oc adm top pods
例: イメージの使用状況の統計の表示
oc adm top images
$ oc adm top images
5.2. ノード管理 CLI コマンド リンクのコピーリンクがクリップボードにコピーされました!
5.2.1. cordon リンクのコピーリンクがクリップボードにコピーされました!
ノードにスケジュール対象外 (unschedulable) のマークを付けます。ノードにスケジュール対象外のマークを手動で付けると、いずれの新規 Pod もノードでスケジュールされなくなりますが、ノード上の既存の Pod にはこれによる影響がありません。
例: node1
にスケジュール対象外のマークを付ける
oc adm cordon node1
$ oc adm cordon node1
5.2.2. drain リンクのコピーリンクがクリップボードにコピーされました!
メンテナンスの準備のためにノードをドレイン (解放) します。
例: node1
のドレイン (解放)
oc adm drain node1
$ oc adm drain node1
5.2.3. node-logs リンクのコピーリンクがクリップボードにコピーされました!
ノードのログを表示し、フィルターします。
例: NetworkManager のログの取得
oc adm node-logs --role master -u NetworkManager.service
$ oc adm node-logs --role master -u NetworkManager.service
5.2.4. taint リンクのコピーリンクがクリップボードにコピーされました!
1 つ以上のノードでテイントを更新します。
例: ユーザーのセットに対してノードを専用に割り当てるためのテイントの追加
oc adm taint nodes node1 dedicated=groupName:NoSchedule
$ oc adm taint nodes node1 dedicated=groupName:NoSchedule
例: ノード node1
からキー dedicated
のあるテイントを削除する
oc adm taint nodes node1 dedicated-
$ oc adm taint nodes node1 dedicated-
5.2.5. uncordon リンクのコピーリンクがクリップボードにコピーされました!
ノードにスケジュール対象 (schedulable) のマークを付けます。
例: node1
にスケジュール対象のマークを付ける
oc adm uncordon node1
$ oc adm uncordon node1
5.3. セキュリティーおよびポリシー CLI コマンド リンクのコピーリンクがクリップボードにコピーされました!
5.3.1. certificate リンクのコピーリンクがクリップボードにコピーされました!
証明書署名要求 (CSR) を承認するか、または拒否します。
例: CSR の承認
oc adm certificate approve csr-sqgzp
$ oc adm certificate approve csr-sqgzp
5.3.2. groups リンクのコピーリンクがクリップボードにコピーされました!
クラスター内のグループを管理します。
例: 新規グループの作成
oc adm groups new my-group
$ oc adm groups new my-group
5.3.3. new-project リンクのコピーリンクがクリップボードにコピーされました!
新規プロジェクトを作成し、管理オプションを指定します。
例: ノードセレクターを使用した新規プロジェクトの作成
oc adm new-project myproject --node-selector='type=user-node,region=east'
$ oc adm new-project myproject --node-selector='type=user-node,region=east'
5.3.4. pod-network リンクのコピーリンクがクリップボードにコピーされました!
クラスター内の Pod ネットワークを管理します。
例: project1 および project2 を他の非グローバルプロジェクトから分離する
oc adm pod-network isolate-projects project1 project2
$ oc adm pod-network isolate-projects project1 project2
5.3.5. policy リンクのコピーリンクがクリップボードにコピーされました!
クラスター上のロールおよびポリシーを管理します。
例: すべてのプロジェクトについて edit
ロールを user1
に追加する
oc adm policy add-cluster-role-to-user edit user1
$ oc adm policy add-cluster-role-to-user edit user1
例: privileged
SCC (security context constraint) のサービスアカウントへの追加
oc adm policy add-scc-to-user privileged -z myserviceaccount
$ oc adm policy add-scc-to-user privileged -z myserviceaccount
5.4. メンテナンス CLI コマンド リンクのコピーリンクがクリップボードにコピーされました!
5.4.1. migrate リンクのコピーリンクがクリップボードにコピーされました!
使用されるサブコマンドに応じて、クラスターのリソースを新規バージョンまたはフォーマットに移行します。
例: 保存されたすべてのオブジェクトの更新の実行
oc adm migrate storage
$ oc adm migrate storage
例: Pod のみの更新の実行
oc adm migrate storage --include=pods
$ oc adm migrate storage --include=pods
5.4.2. prune リンクのコピーリンクがクリップボードにコピーされました!
サーバーから古いバージョンのリソースを削除します。
例: BuildConfigs がすでに存在しないビルドを含む、古いビルドのプルーニング
oc adm prune builds --orphans
$ oc adm prune builds --orphans
5.5. 設定 CLI コマンド リンクのコピーリンクがクリップボードにコピーされました!
5.5.1. create-api-client-config リンクのコピーリンクがクリップボードにコピーされました!
サーバーに接続するためのクライアント接続を作成します。これにより、指定されたユーザーとしてマスターに接続するためのクライアント証明書、クライアントキー、サーバーの認証局、および kubeconfig
ファイルが含まれるフォルダーが作成されます。
例: プロキシーのクライアント証明書の生成
5.5.2. create-bootstrap-policy-file リンクのコピーリンクがクリップボードにコピーされました!
デフォルトのブートストラップポリシーを作成します。
例: デフォルトブートストラップポリシーでの policy.json
ファイルの作成
oc adm create-bootstrap-policy-file --filename=policy.json
$ oc adm create-bootstrap-policy-file --filename=policy.json
5.5.3. create-bootstrap-project-template リンクのコピーリンクがクリップボードにコピーされました!
ブートストラッププロジェクトテンプレートを作成します。
例: YAML 形式でのブートストラッププロジェクトテンプレートの標準出力 (stdout) への出力
oc adm create-bootstrap-project-template -o yaml
$ oc adm create-bootstrap-project-template -o yaml
5.5.4. create-error-template リンクのコピーリンクがクリップボードにコピーされました!
エラーページをカスタマイズするためのテンプレートを作成します。
例: エラーページのテンプレートの標準出力 (stdout) への出力
oc adm create-error-template
$ oc adm create-error-template
5.5.5. create-kubeconfig リンクのコピーリンクがクリップボードにコピーされました!
クライアント証明書から基本的な .kubeconfig
ファイルを作成します。
例: 提供されるクライアント証明書を使用した .kubeconfig
ファイルの作成
oc adm create-kubeconfig \ --client-certificate=/path/to/client.crt \ --client-key=/path/to/client.key \ --certificate-authority=/path/to/ca.crt
$ oc adm create-kubeconfig \
--client-certificate=/path/to/client.crt \
--client-key=/path/to/client.key \
--certificate-authority=/path/to/ca.crt
5.5.6. create-login-template リンクのコピーリンクがクリップボードにコピーされました!
ログインページをカスタマイズするためのテンプレートを作成します。
例: ログインページのテンプレートの標準出力 (stdout) への出力
oc adm create-login-template
$ oc adm create-login-template
5.5.7. create-provider-selection-template リンクのコピーリンクがクリップボードにコピーされました!
プロバイダー選択ページをカスタマイズするためのテンプレートを作成します。
例: プロバイダー選択ページのテンプレートの標準出力 (stdout) への出力
oc adm create-provider-selection-template
$ oc adm create-provider-selection-template
5.6. 他の管理者 CLI コマンド リンクのコピーリンクがクリップボードにコピーされました!
5.6.1. build-chain リンクのコピーリンクがクリップボードにコピーされました!
ビルドの入力と依存関係を出力します。
例: perl
イメージストリームの依存関係の出力
oc adm build-chain perl
$ oc adm build-chain perl
5.6.2. completion リンクのコピーリンクがクリップボードにコピーされました!
指定されたシェルについての oc adm
コマンドのシェル補完コードを出力します。
例: Bash の oc adm
補完コードの表示
oc adm completion bash
$ oc adm completion bash
5.6.3. config リンクのコピーリンクがクリップボードにコピーされました!
クライアント設定ファイルを管理します。このコマンドは、oc config
コマンドと同じ動作を実行します。
例: 現在の設定の表示
oc adm config view
$ oc adm config view
例: 別のコンテキストへの切り替え
oc adm config use-context test-context
$ oc adm config use-context test-context
5.6.4. release リンクのコピーリンクがクリップボードにコピーされました!
リリースについての情報の表示、またはリリースの内容の検査などの OpenShift Container Platform リリースプロセスの様々な側面を管理します。
例: 2 つのリリース間の変更ログの生成および changelog.md
への保存
oc adm release info --changelog=/tmp/git \ quay.io/openshift-release-dev/ocp-release:4.1.0-rc.7 \ quay.io/openshift-release-dev/ocp-release:4.1.0 \ > changelog.md
$ oc adm release info --changelog=/tmp/git \
quay.io/openshift-release-dev/ocp-release:4.1.0-rc.7 \
quay.io/openshift-release-dev/ocp-release:4.1.0 \
> changelog.md
5.6.5. verify-image-signature リンクのコピーリンクがクリップボードにコピーされました!
ローカルのパブリック GPG キーを使用して内部レジストリーにインポートされたイメージのイメージ署名を検証します。
例: nodejs
イメージ署名の検証
oc adm verify-image-signature \ sha256:2bba968aedb7dd2aafe5fa8c7453f5ac36a0b9639f1bf5b03f95de325238b288 \ --expected-identity 172.30.1.1:5000/openshift/nodejs:latest \ --public-key /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release \ --save
$ oc adm verify-image-signature \
sha256:2bba968aedb7dd2aafe5fa8c7453f5ac36a0b9639f1bf5b03f95de325238b288 \
--expected-identity 172.30.1.1:5000/openshift/nodejs:latest \
--public-key /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release \
--save
第6章 oc および kubectl コマンドの使用 リンクのコピーリンクがクリップボードにコピーされました!
Kubernetes のコマンドラインインターフェース (CLI) kubectl
は、Kubernetes クラスターに対してコマンドを実行するために使用されます。OpenShift Container Platform は認定 Kubernetes ディストリビューションであるため、OpenShift Container Platform に同梱されるサポート対象の kubectl
バイナリーを使用するか、または oc
バイナリーを使用して拡張された機能を取得できます。
6.1. oc バイナリー リンクのコピーリンクがクリップボードにコピーされました!
oc
バイナリーは kubectl
バイナリーと同じ機能を提供しますが、これは、以下を含む OpenShift Container Platform 機能をネイティブにサポートするように拡張されています。
OpenShift Container Platform リソースの完全サポート
DeploymentConfigs、BuildConfigs、Routes、ImageStreams、および ImageStreamTags などのリソースは OpenShift Container Platform ディストリビューションに固有のリソースであり、標準の Kubernetes プリミティブにビルドされます。
認証
oc
バイナリーは、認証を可能にするビルトインのlogin
コマンドを提供し、Kubernetes namespace を認証ユーザーにマップする OpenShift Container Platform プロジェクトを使って作業できるようにします。詳細は、「Understanding authentication」を参照してください。追加コマンド
追加コマンドの
oc new-app
などは、既存のソースコードまたは事前にビルドされたイメージを使用して新規アプリケーションを起動することを容易にします。同様に、追加コマンドのoc new-project
により、デフォルトとして切り替えることができるプロジェクトを簡単に開始できるようになります。
6.2. kubectl バイナリー リンクのコピーリンクがクリップボードにコピーされました!
kubectl
バイナリーは、標準の Kubernetes 環境を使用する新規 OpenShift Container Platform ユーザー、または kubectl
CLI を優先的に使用するユーザーの既存ワークフローおよびスクリプトをサポートする手段として提供されます。kubectl
の既存ユーザーは引き続きバイナリーを使用し、OpenShift Container Platform クラスターに必要な変更なしに Kubernetes のプリミティブと対話できます。
詳細は kubectl ドキュメントを参照してください。
Legal Notice
リンクのコピーリンクがクリップボードにコピーされました!
Copyright © 2025 Red Hat
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.