1.5. 管理者 CLI コマンド

1.5.1. クラスター管理 CLI コマンド

1.5.1.1. must-gather

問題のデバッグに必要なクラスターの現在の状態についてのデータを一括収集します。

例: デバッグ情報の収集

$ oc adm must-gather

1.5.1.2. top

サーバー上のリソースの使用状況についての統計を表示します。

例: Pod の CPU およびメモリーの使用状況の表示

$ oc adm top pods

例: イメージの使用状況の統計の表示

$ oc adm top images

1.5.2. ノード管理 CLI コマンド

1.5.2.1. cordon

ノードにスケジュール対象外 (unschedulable) のマークを付けます。ノードにスケジュール対象外のマークを手動で付けると、いずれの新規 Pod もノードでスケジュールされなくなりますが、ノード上の既存の Pod にはこれによる影響がありません。

例: node1 にスケジュール対象外のマークを付ける

$ oc adm cordon node1

1.5.2.2. drain

メンテナンスの準備のためにノードをドレイン (解放) します。

例: node1 のドレイン (解放)

$ oc adm drain node1

1.5.2.3. node-logs

ノードのログを表示し、フィルターします。

例: NetworkManager のログの取得

$ oc adm node-logs --role master -u NetworkManager.service

1.5.2.4. taint

1 つ以上のノードでテイントを更新します。

例: ユーザーのセットに対してノードを専用に割り当てるためのテイントの追加

$ oc adm taint nodes node1 dedicated=groupName:NoSchedule

例: ノード node1 からキー dedicated のあるテイントを削除する

$ oc adm taint nodes node1 dedicated-

1.5.2.5. uncordon

ノードにスケジュール対象 (schedulable) のマークを付けます。

例: node1 にスケジュール対象のマークを付ける

$ oc adm uncordon node1

1.5.3. セキュリティーおよびポリシー CLI コマンド

1.5.3.1. certificate

証明書署名要求 (CSR) を承認するか、または拒否します。

例: CSR の承認

$ oc adm certificate approve csr-sqgzp

1.5.3.2. groups

クラスター内のグループを管理します。

例: 新規グループの作成

$ oc adm groups new my-group

1.5.3.3. new-project

新規プロジェクトを作成し、管理オプションを指定します。

例: ノードセレクターを使用した新規プロジェクトの作成

$ oc adm new-project myproject --node-selector='type=user-node,region=east'

1.5.3.4. pod-network

クラスター内の Pod ネットワークを管理します。

例: project1 および project2 を他の非グローバルプロジェクトから分離する

$ oc adm pod-network isolate-projects project1 project2

1.5.3.5. policy

クラスター上のロールおよびポリシーを管理します。

例: すべてのプロジェクトについて 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

1.5.4. メンテナンス CLI コマンド

1.5.4.1. migrate

使用されるサブコマンドに応じて、クラスターのリソースを新規バージョンまたはフォーマットに移行します。

例: 保存されたすべてのオブジェクトの更新の実行

$ oc adm migrate storage

例: Pod のみの更新の実行

$ oc adm migrate storage --include=pods

1.5.4.2. prune

サーバーから古いバージョンのリソースを削除します。

例: BuildConfigs がすでに存在しないビルドを含む、古いビルドのプルーニング

$ oc adm prune builds --orphans

1.5.5. 設定 CLI コマンド

1.5.5.1. create-api-client-config

サーバーに接続するためのクライアント接続を作成します。これにより、指定されたユーザーとしてマスターに接続するためのクライアント証明書、クライアントキー、サーバーの認証局、および kubeconfig ファイルが含まれるフォルダーが作成されます。

例: プロキシーのクライアント証明書の生成

$ oc adm create-api-client-config \
  --certificate-authority='/etc/origin/master/proxyca.crt' \
  --client-dir='/etc/origin/master/proxy' \
  --signer-cert='/etc/origin/master/proxyca.crt' \
  --signer-key='/etc/origin/master/proxyca.key' \
  --signer-serial='/etc/origin/master/proxyca.serial.txt' \
  --user='system:proxy'

1.5.5.2. create-bootstrap-policy-file

デフォルトのブートストラップポリシーを作成します。

例: デフォルトブートストラップポリシーでの policy.json ファイルの作成

$ oc adm create-bootstrap-policy-file --filename=policy.json

1.5.5.3. create-bootstrap-project-template

ブートストラッププロジェクトテンプレートを作成します。

例: YAML 形式でのブートストラッププロジェクトテンプレートの標準出力 (stdout) への出力

$ oc adm create-bootstrap-project-template -o yaml

1.5.5.4. create-error-template

エラーページをカスタマイズするためのテンプレートを作成します。

例: エラーページのテンプレートの標準出力 (stdout) への出力

$ oc adm create-error-template

1.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

1.5.5.6. create-login-template

ログインページをカスタマイズするためのテンプレートを作成します。

例: ログインページのテンプレートの標準出力 (stdout) への出力

$ oc adm create-login-template

1.5.5.7. create-provider-selection-template

プロバイダー選択ページをカスタマイズするためのテンプレートを作成します。

例: プロバイダー選択ページのテンプレートの標準出力 (stdout) への出力

$ oc adm create-provider-selection-template

1.5.6. 他の管理者 CLI コマンド

1.5.6.1. build-chain

ビルドの入力と依存関係を出力します。

例: perl イメージストリームの依存関係の出力

$ oc adm build-chain perl

1.5.6.2. completion

指定されたシェルについての oc adm コマンドのシェル補完コードを出力します。

例: Bash の oc adm 補完コードの表示

$ oc adm completion bash

1.5.6.3. config

クライアント設定ファイルを管理します。このコマンドは、oc config コマンドと同じ動作を実行します。

例: 現在の設定の表示

$ oc adm config view

例: 別のコンテキストへの切り替え

$ oc adm config use-context test-context

1.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.2.0-rc.7 \
    quay.io/openshift-release-dev/ocp-release:4.2.0 \
    > changelog.md

1.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