type
status
date
slug
summary
tags
category
icon
password
书籍
目標: コマンドラインインターフェースを使用してコマンドを実行する。
目的:
- コマンドラインインターフェースを使用してOpenShiftリソースを構成する。
- 一般的な問題のトラブルシューティングを支援するコマンドを実行する。
セクション:
- CLIを使用したリソースの構成(およびガイド付き演習)
- トラブルシューティングコマンドの実行(およびガイド付き演習)
ラボ: コマンドの実行
CLIを使用したリソースの構成
目的
このセクションを完了すると、学生はOpenShiftコマンドラインインターフェースを使用してリソースを構成できるようになります。
管理されたOpenShiftインスタンスからリソースにアクセスする
OpenShift Container Platformは、OpenShiftクラスター内のエンティティをマスターノードによって管理されるオブジェクトとして整理します。これらは総称してリソースと呼ばれます。以前の章でいくつかのリソースに触れました:
- ノード
- サービス
- ポッド
- プロジェクト(名前空間)
- デプロイメント構成
- ユーザー
これらはOpenShiftユーザーが利用できるリソースの一部にすぎません。管理者が管理しているリソースに関係なく、OpenShiftコマンドラインツールはこれらのリソースを更新、変更、削除、問い合わせるための統一された一貫した方法を提供します。
Red Hat OpenShift Container Platformには、システム管理者と開発者がOpenShiftクラスターと連携できるコマンドラインツールが付属しています。このocコマンドラインツールは、ソフトウェア開発プロジェクトの配信ライフサイクル全体でリソースを修正および管理する能力を提供します。このツールで行う一般的な操作には、アプリケーションのデプロイ、アプリケーションのスケーリング、プロジェクトの状態確認、その他類似のタスクが含まれます。
ocコマンドラインツールのインストール
OpenShiftのインストールプロセス中に、ocコマンドラインツールはすべてのマスターおよびノードマシンにインストールされます。ocクライアントはOpenShiftクラスターの一部ではないシステム、例えば開発者のマシンにもインストールできます。インストールされると、ユーザー名とパスワードで任意のマスターノードに対して認証を行い、その後コマンドを発行できます。
ocコマンドラインツールをインストールする方法はいくつかあります。どのプラットフォームを使用しているかによって異なります:
- Red Hat Enterprise Linux (RHEL) システムの場合、適切なサブスクリプションを持っていれば、ツールはRPMファイルとして提供され、
yum install
コマンドでインストールできます。
- 他のLinuxディストリビューションや、Windows、macOSなどの他のオペレーティングシステム向けには、Red Hatカスタマーポータルからネイティブクライアントをダウンロードできます。このダウンロードには、OpenShiftのアクティブなサブスクリプションが必要です。これらのダウンロードは互換性の問題を減らすために静的にコンパイルされています。
OpenShiftリソースを管理するための便利なコマンド
oc CLIツールがインストールされた後、
oc help
コマンドを使用してヘルプ情報を表示できます。ocには、以下のようなタスク用のサブコマンドがあります:- OpenShiftクラスターへのログインおよびログアウト。
- プロジェクトの作成、変更、削除。
- プロジェクト内でのアプリケーションの作成。
- コンテナイメージからデプロイメント構成やビルド構成の作成、およびそれに関連するリソースの作成。
- プロジェクト内でのポッド、サービス、ルートなどの個々のリソースの作成、削除、検査、編集、エクスポート。
- アプリケーションのスケーリング。
- 新しいデプロイメントやビルドの開始。
- アプリケーションポッド、デプロイメント、ビルド操作のログの確認。
注記
OpenShiftクライアントパッケージをインストールすると、デフォルトではocコマンドのBash補完は有効になっていません。新しいターミナルウィンドウを開くか、
/etc/bash_completion.d/oc
ファイルをインストールしたターミナルウィンドウでソースしてください。oc login
コマンドを使ってインタラクティブにログインできます。これにより、サーバー名、ユーザー名、パスワードを求められますが、コマンドラインで必要な情報を指定することもできます。注記
上記のコマンドでのバックスラッシュ(
\
)はコマンド継続のための文字であり、コマンドを1行で入力しない場合にのみ使用すべきです。クライアントから認証に成功すると、OpenShiftはユーザーのホームフォルダに認証トークンを保存します。このトークンはその後のリクエストに使用され、再度資格情報やフルマスターURLを入力する必要はありません。
現在の資格情報を確認するには、
oc whoami
コマンドを実行します:このコマンドは、ログイン時に使用したユーザー名を表示します。
developer
新しいプロジェクトを作成するには、
oc new-project
コマンドを使用します:このコマンドを実行すると、新しいプロジェクト「working」が作成されます。
次に、プロジェクトのステータスを確認するために、以下のコマンドを実行します:
初期の出力は次のようになります:
このコマンドの出力は、新しいプロジェクトを作成し、リソースを追加すると変わります。
プロジェクトを削除するには、次のコマンドを実行します:
OpenShiftクラスターからログアウトするには、次のコマンドを使用します:
出力:
OpenShiftクラスター管理者としてログインすることも可能で、マスターノードにSSHで接続することで、パスワードなしでログインできます:
これにより、OpenShiftインスタンス内のすべての操作およびリソースに対する完全な権限が付与されますが、慎重に使用する必要があります。
通常、管理者として最も頻繁に使用されるコマンドは、
oc get
コマンドです。このコマンドは、クラスター内のリソースに関する情報を取得するために使用されます。一般的に、このコマンドはリソースの最も重要な特性を表示し、詳細情報は省略されます。RESOURCE_NAME
パラメータが省略された場合、指定されたRESOURCE_TYPE
のすべてのリソースが要約されて表示されます。例えば、以下はoc get pods
コマンドを実行した結果の一例です:以下は、
oc get all
コマンドの使用例とその説明です。oc get all
コマンドは、クラスター内の主要なリソースタイプの情報を集約して表示します。これにより、すべての重要なコンポーネントの概要が得られます。以下は、実行例です:oc get all コマンドを実行すると、クラスター内のリソースが要約された情報として表示されます。このコマンドは、ポッド、サービス、ルート、デプロイメント構成、レプリカセットなどの主要なリソースを表示します。
リアルタイムでの監視
w
オプションを使用すると、oc get
コマンドの結果をリアルタイムで監視できます。例えば、oc get pods
コマンドを継続的に監視したい場合に役立ちます。
oc describe コマンド
もし
oc get
コマンドの出力が不十分な場合、oc describe
コマンドを使用してリソースの詳細情報を取得できます。以下は、ポッドリソースの説明を取得する例です:oc export コマンド
oc export
コマンドを使用すると、リソースの定義をエクスポートできます。通常、バックアップを作成したり、定義を変更するために使用されます。デフォルトでは、YAML形式でオブジェクト表現が出力されますが、-o
オプションを指定することで、形式を変更することができます。oc create コマンド
oc create
コマンドは、リソース定義からリソースを作成します。通常、oc export
コマンドと組み合わせて、定義を編集した後にリソースを作成します。oc delete コマンド
oc delete
コマンドは、OpenShiftクラスターからリソースを削除します。管理されているリソース(例:ポッド)を削除すると、それらのリソースの新しいインスタンスが自動的に再作成されます。oc exec コマンド
oc exec
コマンドは、コンテナ内でコマンドを実行するために使用されます。インタラクティブなコマンドや、非インタラクティブなバッチコマンドをスクリプトの一部として実行できます。oc rsh コマンド
oc rsh
コマンドは、リモートシェルセッションをコンテナに開くために使用されます。これを使用して、実行中のコンテナにログインし、問題を調査できます。リモートシェルにログインしてコマンドを実行するには、以下のコマンドを実行します:
OpenShiftリソースタイプ
OpenShiftコンテナプラットフォームでのアプリケーションは、異なるタイプのリソースで構成されています。サポートされているリソースタイプは以下の通りです:
- コンテナ
一つまたは複数のプロセスをポータブルなLinux環境内で実行する定義です。コンテナはイメージから起動され、通常は同じマシン上の他のコンテナと隔離されています。
- イメージ
アプリケーションコード、依存関係、そして必要なオペレーティングシステムライブラリを含むレイヤードLinuxファイルシステムです。イメージは名前で識別され、現在のクラスターにローカルなものや、リモートのDockerレジストリ(イメージのためのストレージサーバー)を指すことがあります。
- ポッド
一つまたは複数のコンテナを含むセットで、ノードにデプロイされ、ユニークなIPアドレスとボリューム(永続ストレージ)を共有します。ポッドはまた、各コンテナに対するセキュリティと実行ポリシーも定義します。
- ラベル
システム内の任意のリソースに割り当てることができるキーと値のペアで、グルーピングや選択に使われます。多くのリソースはラベルを使用して他のリソースのセットを識別します。
- ボリューム
コンテナはデフォルトで永続的ではなく、再起動時に内容がクリアされます。ボリュームはポッドとそのコンテナに対してマウントされるファイルシステムで、ホストローカルまたはネットワーク接続されたストレージエンドポイントでバックアップされることがあります。最も簡単なボリュームタイプはEmptyDirで、これは単一のマシン上の一時ディレクトリです。また、管理者はポッドに自動的にアタッチされる永続ボリュームをリクエストすることもできます。
- ノード
クラスター内でコンテナを実行するために設定されたホストシステムで、通常は管理者によって管理され、エンドユーザーによって操作されることはありません。
- サービス
サービスは、ポッドのセットを表す論理名で、IPアドレスとDNS名が割り当てられ、ポートやルートを通じてクラスター外部に公開されることがあります。また、SERVICE_HOSTという名前の環境変数が他のポッドに自動的に注入されます。
- ルート
ルートは、サービスに外部からアクセスできるようにするDNSエントリです。管理者は、通常はHAProxy負荷分散器を通じてそれらのルートを処理するために一つ以上のルーターを設定できます。
- レプリケーションコントローラー
レプリケーションコントローラーは、ラベルに一致するテンプレートに基づいて、特定の数のポッドを維持します。ポッドが削除された場合(例えば、実行中のノードがサービスを停止した場合)、コントローラーは新しいポッドを作成します。レプリケーションコントローラーは、通常、アプリケーションの一部をデプロイするために使用されます。
- デプロイメント設定
デプロイメント設定は、ポッドのテンプレートを定義し、新しいイメージや設定変更が行われるたびにデプロイを管理します。通常、単一のデプロイメント設定は単一のマイクロサービスに対応します。デプロイメント設定は、完全再起動やカスタマイズ可能なローリングアップデート、事前・事後ライフサイクルフックなど、さまざまなデプロイメントパターンをサポートします。
- ビルド設定
ビルド設定は、ソースコードやベースイメージを新しいイメージにビルドする方法の説明を含んでいます。ビルドはソースベースで、Java、PHP、Ruby、Pythonなどの一般的な言語用のビルダーイメージを使用するか、Dockerfileを使ってDockerベースで作成されます。
- ビルド
ビルドは、ソースコードや他のイメージ、Dockerfile、またはバイナリ入力から新しいイメージを作成します。ビルドはコンテナ内で実行され、通常はイメージをDockerレジストリにプッシュしますが、イメージをプッシュせずにビルド後のテストを実行することもできます。
- イメージストリームとイメージストリームタグ
イメージストリームは、タグ名を使用して関連するイメージのセットをグループ化します。これはソースコードリポジトリのブランチに似ています。各イメージストリームは、1つ以上のタグ(デフォルトのタグは「latest」)を持ち、これらのタグは外部Dockerレジストリや同じストリーム内の他のタグを指すことがあります。
- シークレット
シークレットリソースは、ポッドに渡すテキストやバイナリの秘密情報を保持します。デフォルトでは、各コンテナにはAPIアクセス用のトークンが含まれたシークレットが提供されます。新しいシークレットを作成し、ポッドにマウントしたり、ビルドからシークレットを参照してリモートサーバーに接続したりすることができます。
- プロジェクト
上記のリソース(ノードを除く)はすべてプロジェクト内に存在します。プロジェクトにはメンバーとその役割(表示、編集、管理者など)、および実行中のポッドに対するセキュリティ制御やリソース使用制限があります。リソース名はプロジェクト内でユニークです。
oc types
コマンドを使用すると、概念や利用可能なタイプを素早く復習できます。参考文献
さらに詳しい情報は、OpenShiftコンテナプラットフォームのドキュメントにあるCLIリファレンス章にあります。
OpenShiftクライアントのダウンロード:
- 作者:みなみ
- 链接:https://www.minami.ac.cn//%E8%B3%87%E6%A0%BC%E5%8B%89%E5%BC%B7/1a7d7ae8-88e2-804c-81a6-ffa20a4816d2
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章