🔖

【OpenShift】ocコマンドチートシート

2024/07/07に公開

0.はじめに

  • ocコマンドはOpenShift Container PlatformのCLI(コマンドラインインターフェイス)です。
  • OpenShift利用者向けに、運用管理でよく使うocコマンドのチートシート的なものを作りました。
  • バージョンによっては異なる可能性があることをご了承ください。

1.ログイン管理

  • CLIへのログイン(カレントプロジェクトをPROJとしてUSERでログイン)
$ oc login -u USER -n PROJ
  • ログイン中のユーザーを表示
$ oc whoami
  • CLIからのログアウト
$ oc logout

2.プロジェクト管理

  • カレントプロジェクトの確認
$ oc project
  • 新規プロジェクトの作成(PROJを新規に作成)
$ oc new-project PROJ
  • プロジェクトの一覧を出力
$ oc projects
  • プロジェクトの変更(カレントプロジェクトをPROJに変更)
$ oc project PROJ
  • カレントプロジェクトの状態を出力
$ oc status
  • プロジェクトで起こるイベントを継続的に出力
$ oc get events -w

3.アプリケーション管理

  • Pod、Service、Deployment、ReplicaSetなどの一覧を出力
$ oc get all
  • Podの一覧表示
$ oc get pods
  • Pod一覧にラベル情報も付加して出力
$ oc get pods --show-labels
  • 条件に合致するPod一覧を出力
$ oc get pods -l KEY=VALUE
  • RESOURCE(podsやnodes)についての説明とフィールドの表示
$ oc explain RESOURCE
  • PROJのPersistentVolumeClaim(PVC)の一覧を出力
$ oc get pvc -n PROJ
  • すべてのプロジェクトのDeploymentの一覧を出力
$ oc get deploy --all-namespaces
  • Nodeの一覧をより詳しく表形式で出力
$ oc get node -o wide
  • 特定のOBJECTに関する詳細情報を出力
$ oc describe OBJECT
  • MANIFESTファイル(yaml | json)で定義されたリソースを新規作成
$ oc create -f MANIFEST 
  • MANIFESTファイル(yaml | json)で定義されたリソースが存在しない場合は新規作成、存在する場合は更新を適用
$ oc apply -f MANIFEST 
  • DC(DeploymentConfig)の設定を変更(vi形式)
$ oc edit dc DC
  • DCにPATCH文字列(yaml | json)の内容に基づくバッチあててオブジェクトを更新する
$ oc patch dc DC -p PATCH
  • DCに環境変数を追加
$ oc set env dc/DC KEY=VALUE
  • PODを削除
$ oc delete pod POD
  • PODのファーストコンテナで対話的なbashを実行
$ oc exec POD bash -it
  • PODのCONTAINERでdateコマンドを実行(リモートコマンド)
$ oc exec POD date -c CONTAINER
  • PODのファーストコンテナでシェルセッションを開く
$ oc rsh POD

4.トラブルシューティングおよびデバッグ

  • DCのデバッグ用Podの立ち上げ
$ oc debug dc/DC
  • ローカルの8888ポートへのアクセスをSVCのhttpポートにポートフォワードする
$ oc port-forward svc/SVC 8888:http
  • PODのログを継続的に出力
$ oc logs POD -f
  • PODのCONTAINERのログを出力
$ oc logs POD -c CONTAINER

5.その他

  • CLI の一般的なヘルプ情報および利用可能なCOMMANDの一覧を表示
$ oc help
$ oc help COMMAND
  • クラスタ情報を出力
$ oc cluster-info
  • ClusterServiceVersion情報の出力
$ oc get csv
  • TEMPLATEファイル(yaml | json)をリソースリストに変換してcreate/applyコマンドにパイプラインで渡す
$ oc process -f TEMPLATE | oc apply -f

6.さいごに

今回は、OpenShiftの基本的なコマンドを紹介いたしました。

記載したコマンドはごく一部であり、上記以外にも豊富に用意されていますので公式ドキュメントもご活用ください。

おわりっ!

7.参考

RedHat:第1章 OpenShift CLI (oc)

Discussion