第2章 OpenShift CLI (oc)
2.1. OpenShift CLI のスタートガイド リンクのコピーリンクがクリップボードにコピーされました!
2.1.1. OpenShift CLI について リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc
) を使用すると、ターミナルからアプリケーションを作成し、OpenShift Container Platform プロジェクトを管理できます。OpenShift CLI は以下の状況に適しています。
- プロジェクトソースコードを直接使用している。
- OpenShift Container Platform 操作をスクリプト化する。
- 帯域幅リソースによる制限があり、Web コンソールが利用できない状況でのプロジェクトの管理
2.1.2. OpenShift CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI(oc
) をインストールするには、バイナリーをダウンロードするか、RPM を使用します。
2.1.2.1. バイナリーのダウンロードによる OpenShift CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインインターフェイスを使用して OpenShift Container Platform と対話するために CLI (oc
) をインストールすることができます。oc
は Linux、Windows、または macOS にインストールできます。
以前のバージョンの oc
をインストールしている場合、これを使用して OpenShift Container Platform 4.13 のすべてのコマンドを実行することはできません。新規バージョンの oc
をダウンロードし、インストールします。
Linux への OpenShift CLI のインストール
以下の手順を使用して、OpenShift CLI (oc
) バイナリーを Linux にインストールできます。
手順
- Red Hat カスタマーポータルの OpenShift Container Platform ダウンロードページ に移動します。
- Product Variant ドロップダウンリストからアーキテクチャーを選択します。
- バージョン ドロップダウンリストから適切なバージョンを選択します。
- OpenShift v4.13 Linux Client エントリーの横にある Download Now をクリックして、ファイルを保存します。
アーカイブを展開します。
tar xvf <file>
$ tar xvf <file>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc
バイナリーを、PATH
にあるディレクトリーに配置します。PATH
を確認するには、以下のコマンドを実行します。echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
OpenShift CLI のインストール後に、
oc
コマンドを使用して利用できます。oc <command>
$ oc <command>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Windows への OpenShift CLI のインストール
以下の手順を使用して、OpenShift CLI (oc
) バイナリーを Windows にインストールできます。
手順
- Red Hat カスタマーポータルの OpenShift Container Platform ダウンロードページ に移動します。
- バージョン ドロップダウンリストから適切なバージョンを選択します。
- OpenShift v4.13 Windows Client エントリーの横にある Download Now をクリックして、ファイルを保存します。
- ZIP プログラムでアーカイブを解凍します。
oc
バイナリーを、PATH
にあるディレクトリーに移動します。PATH
を確認するには、コマンドプロンプトを開いて以下のコマンドを実行します。path
C:\> path
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
OpenShift CLI のインストール後に、
oc
コマンドを使用して利用できます。oc <command>
C:\> oc <command>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
macOS への OpenShift CLI のインストール
以下の手順を使用して、OpenShift CLI (oc
) バイナリーを macOS にインストールできます。
手順
- Red Hat カスタマーポータルの OpenShift Container Platform ダウンロードページ に移動します。
- バージョン ドロップダウンリストから適切なバージョンを選択します。
OpenShift v4.13 macOS Client エントリーの横にある Download Now をクリックして、ファイルを保存します。
注記macOS arm64 の場合は、OpenShift v4.13 macOS arm64 Client エントリーを選択します。
- アーカイブを展開し、解凍します。
oc
バイナリーをパスにあるディレクトリーに移動します。PATH
を確認するには、ターミナルを開き、以下のコマンドを実行します。echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
OpenShift CLI のインストール後に、
oc
コマンドを使用して利用できます。oc <command>
$ oc <command>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.2.2. Web コンソールを使用した OpenShift CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI(oc
) をインストールして、Web コンソールから OpenShift Container Platform と対話できます。oc
は Linux、Windows、または macOS にインストールできます。
以前のバージョンの oc
をインストールしている場合、これを使用して OpenShift Container Platform 4.13 のすべてのコマンドを実行することはできません。新規バージョンの oc
をダウンロードし、インストールします。
2.1.2.2.1. Web コンソールを使用した Linux への OpenShift CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
以下の手順を使用して、OpenShift CLI (oc
) バイナリーを Linux にインストールできます。
手順
Web コンソールで ? をクリックします。
コマンドラインツール をクリックします。
-
Linux プラットフォームに適した
oc
binary を選択してから、Download oc for Linux をクリックします。 - ファイルを保存します。
アーカイブを展開します。
tar xvf <file>
$ tar xvf <file>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc
バイナリーを、PATH
にあるディレクトリーに移動します。PATH
を確認するには、以下のコマンドを実行します。echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift CLI のインストール後に、oc
コマンドを使用して利用できます。
oc <command>
$ oc <command>
2.1.2.2.2. Web コンソールを使用した Windows への OpenShift CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
以下の手順を使用して、OpenShift CLI (oc
) バイナリーを Windows にインストールできます。
手順
Web コンソールで ? をクリックします。
コマンドラインツール をクリックします。
-
Windows プラットフォームの
oc
バイナリーを選択してから、Download oc for Windows for x86_64 をクリックします。 - ファイルを保存します。
- ZIP プログラムでアーカイブを展開します。
oc
バイナリーを、PATH
にあるディレクトリーに移動します。PATH
を確認するには、コマンドプロンプトを開いて以下のコマンドを実行します。path
C:\> path
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift CLI のインストール後に、oc
コマンドを使用して利用できます。
oc <command>
C:\> oc <command>
2.1.2.2.3. Web コンソールを使用した macOS への OpenShift CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
以下の手順を使用して、OpenShift CLI (oc
) バイナリーを macOS にインストールできます。
手順
Web コンソールで ? をクリックします。
コマンドラインツール をクリックします。
macOS プラットフォームの
oc
バイナリーを選択し、Download oc for Mac for x86_64 をクリックします。注記macOS arm64 の場合は、Download oc for Mac for ARM 64 をクリックします。
- ファイルを保存します。
- アーカイブを展開し、解凍します。
oc
バイナリーをパスにあるディレクトリーに移動します。PATH
を確認するには、ターミナルを開き、以下のコマンドを実行します。echo $PATH
$ echo $PATH
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
OpenShift CLI のインストール後に、oc
コマンドを使用して利用できます。
oc <command>
$ oc <command>
2.1.2.3. RPM を使用した OpenShift CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Enterprise Linux (RHEL) の場合、Red Hat アカウントに有効な OpenShift Container Platform サブスクリプションがある場合は、OpenShift CLI (oc
) を RPM としてインストールできます。
OpenShift CLI (oc
) を Red Hat Enterprise Linux (RHEL) 9 の RPM としてインストールすることはできません。バイナリーをダウンロードし、RHEL 9 の OpenShift CLI をインストールする必要があります。
前提条件
- root または sudo の権限がある。
手順
Red Hat Subscription Manager に登録します。
subscription-manager register
# subscription-manager register
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 最新のサブスクリプションデータをプルします。
subscription-manager refresh
# subscription-manager refresh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 利用可能なサブスクリプションをリスト表示します。
subscription-manager list --available --matches '*OpenShift*'
# subscription-manager list --available --matches '*OpenShift*'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 直前のコマンドの出力で、OpenShift Container Platform サブスクリプションのプール ID を見つけ、これを登録されたシステムにアタッチします。
subscription-manager attach --pool=<pool_id>
# subscription-manager attach --pool=<pool_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform 4.13 で必要なリポジトリーを有効にします。
subscription-manager repos --enable="rhocp-4.13-for-rhel-8-x86_64-rpms"
# subscription-manager repos --enable="rhocp-4.13-for-rhel-8-x86_64-rpms"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openshift-clients
パッケージをインストールします。yum install openshift-clients
# yum install openshift-clients
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
CLI のインストール後は、oc
コマンドを使用して利用できます。
oc <command>
$ oc <command>
2.1.2.4. Homebrew を使用した OpenShift CLI のインストール リンクのコピーリンクがクリップボードにコピーされました!
macOS の場合は、Homebrew パッケージマネージャーを使用して OpenShift CLI (oc
) をインストールできます。
前提条件
-
Homebrew (
brew
) がインストールされている。
手順
以下のコマンドを実行して openshift-cli パッケージをインストールします。
brew install openshift-cli
$ brew install openshift-cli
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.3. OpenShift CLI へのログイン リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI (oc
) にログインしてクラスターにアクセスし、これを管理できます。
前提条件
- OpenShift Container Platform クラスターへのアクセス。
-
OpenShift CLI (
oc
) がインストールされている。
HTTP プロキシーサーバー上でのみアクセスできるクラスターにアクセスするには、HTTP_PROXY
、HTTPS_PROXY
および NO_PROXY
変数を設定できます。これらの環境変数は、クラスターとのすべての通信が HTTP プロキシーを経由するように oc
CLI で使用されます。
認証ヘッダーは、HTTPS トランスポートを使用する場合にのみ送信されます。
手順
oc login
コマンドを入力し、ユーザー名を渡します。oc login -u user1
$ oc login -u user1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow プロンプトが表示されたら、必要な情報を入力します。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Web コンソールにログインしている場合には、トークンおよびサーバー情報を含む oc login
コマンドを生成できます。このコマンドを使用して、対話プロンプトなしに OpenShift Container Platform CLI にログインできます。コマンドを生成するには、Web コンソールの右上にあるユーザー名のドロップダウンメニューから Copy login command を選択します。
これで、プロジェクトを作成でき、クラスターを管理するための他のコマンドを実行することができます。
2.1.4. Web ブラウザーを使用した OpenShift CLI へのログイン リンクのコピーリンクがクリップボードにコピーされました!
Web ブラウザーを使用して OpenShift CLI (oc
) にログインし、クラスターにアクセスして管理できます。これにより、ユーザーはアクセストークンをコマンドラインに挿入する必要がなくなります。
Web ブラウザー経由で CLI にログインすると、HTTPS ではなく HTTP を使用してローカルホスト上のサーバーが実行します。マルチユーザーワークステーションでは注意して使用してください。
前提条件
- OpenShift Container Platform クラスターへのアクセス。
-
OpenShift CLI (
oc
) がインストールされている。 - ブラウザーがインストールされている。
手順
--web
フラグを指定してoc login
コマンドを入力します。oc login <cluster_url> --web
$ oc login <cluster_url> --web
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- オプションで、サーバー URL とコールバックポートを指定できます。たとえば、
oc login <cluster_url> --web --callback-port 8280 localhost:8443
です。
Web ブラウザーが自動的に開きます。表示されない場合は、コマンド出力内のリンクをクリックします。OpenShift Container Platform サーバーを指定しない場合、
oc
は現在のoc
設定ファイルで指定されているクラスターの Web コンソールを開こうとします。oc
設定が存在しない場合、oc
はサーバー URL を対話的に要求します。出力例
Opening login URL in the default browser: https://openshift.example.com Opening in existing browser session.
Opening login URL in the default browser: https://openshift.example.com Opening in existing browser session.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 複数の認証プロバイダーが使用できる場合は、提供されるオプションから選択します。
-
ユーザー名とパスワードをブラウザーの対応するフィールドに入力します。ログインすると、ブラウザーには
access token received successfully; please return to your terminal
と表示されます。 CLI でログイン確認を確認します。
出力例
Login successful. You don't have any projects. You can try to create a new project, by running oc new-project <projectname>
Login successful. You don't have any projects. You can try to create a new project, by running oc new-project <projectname>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Web コンソールのデフォルトは、前のセッションで使用されたプロファイルになります。管理者プロファイルと開発者プロファイルを切り替えるには、OpenShift Container Platform Web コンソールからログアウトし、キャッシュをクリアします。
これで、プロジェクトを作成でき、クラスターを管理するための他のコマンドを実行することができます。
2.1.5. OpenShift CLI の使用 リンクのコピーリンクがクリップボードにコピーされました!
以下のセクションで、CLI を使用して一般的なタスクを実行する方法を確認します。
2.1.5.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".
Now using project "my-project" on server "https://openshift.example.com:6443".
2.1.5.2. 新しいアプリケーションの作成 リンクのコピーリンクがクリップボードにコピーされました!
新規アプリケーションを作成するには、oc new-app
コマンドを使用します。
oc new-app https://github.com/sclorg/cakephp-ex
$ oc new-app https://github.com/sclorg/cakephp-ex
出力例
--> Found image 40de956 (9 days old) in imagestream "openshift/php" under tag "7.2" for "php" ... Run 'oc status' to view your app.
--> Found image 40de956 (9 days old) in imagestream "openshift/php" under tag "7.2" for "php"
...
Run 'oc status' to view your app.
2.1.5.3. Pod の表示 リンクのコピーリンクがクリップボードにコピーされました!
現在のプロジェクトの Pod を表示するには、oc get pods
コマンドを使用します。
Pod 内で oc
を実行し、namespace を指定しない場合は、Pod の namespace がデフォルトで使用されます。
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>
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>
2.1.5.4. Pod ログの表示 リンクのコピーリンクがクリップボードにコピーされました!
特定の Pod のログを表示するには、oc logs
コマンドを使用します。
oc logs cakephp-ex-1-deploy
$ oc logs cakephp-ex-1-deploy
出力例
--> Scaling cakephp-ex-1 to 1 --> Success
--> Scaling cakephp-ex-1 to 1
--> Success
2.1.5.5. 現在のプロジェクトの表示 リンクのコピーリンクがクリップボードにコピーされました!
現在のプロジェクトを表示するには、oc project
コマンドを使用します。
oc project
$ oc project
出力例
Using project "my-project" on server "https://openshift.example.com:6443".
Using project "my-project" on server "https://openshift.example.com:6443".
2.1.5.6. 現在のプロジェクトのステータスの表示 リンクのコピーリンクがクリップボードにコピーされました!
サービス、デプロイメント、およびビルド設定などの現在のプロジェクトに関する情報を表示するには、oc status
コマンドを使用します。
oc status
$ oc status
出力例
2.1.5.7. サポートされる API のリソースのリスト表示 リンクのコピーリンクがクリップボードにコピーされました!
サーバー上でサポートされる API リソースのリストを表示するには、oc api-resources
コマンドを使用します。
oc api-resources
$ oc api-resources
出力例
NAME SHORTNAMES APIGROUP NAMESPACED KIND bindings true Binding componentstatuses cs false ComponentStatus configmaps cm true ConfigMap ...
NAME SHORTNAMES APIGROUP NAMESPACED KIND
bindings true Binding
componentstatuses cs false ComponentStatus
configmaps cm true ConfigMap
...
2.1.6. ヘルプの表示 リンクのコピーリンクがクリップボードにコピーされました!
CLI コマンドおよび OpenShift Container Platform リソースに関するヘルプを以下の方法で表示することができます。
利用可能なすべての CLI コマンドのリストおよび説明を表示するには、
oc help
を使用します。例: CLI に関する一般的なヘルプの表示
oc help
$ oc help
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 特定の CLI コマンドに関するヘルプを表示するには、
--help
フラグを使用します。例:
oc create
コマンドに関するヘルプの表示oc create --help
$ oc create --help
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 特定リソースに関する説明およびフィールドを表示するには、
oc explain
コマンドを使用します。例:
Pod
リソースのドキュメントの表示oc explain pods
$ oc explain pods
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.1.7. OpenShift CLI からのログアウト リンクのコピーリンクがクリップボードにコピーされました!
OpenShift CLI からログアウトし、現在のセッションを終了することができます。
oc logout
コマンドを使用します。oc logout
$ oc logout
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Logged "user1" out on "https://openshift.example.com"
Logged "user1" out on "https://openshift.example.com"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
これにより、サーバーから保存された認証トークンが削除され、設定ファイルから除去されます。