2.4. 次の手順
2.4.1. 開発者の場合
OpenShift Container Platform を使用して、コンテナー化されたアプリケーションを開発し、デプロイします。OpenShift Container Platform は、コンテナー化されたアプリケーションを開発し、デプロイするためのプラットフォームです。OpenShift Container Platform のドキュメントは、次の点で活用できます。
- OpenShift Container Platform での開発を理解する: 単純なコンテナーから高度な Kubernetes デプロイメントや Operator に至るまで、コンテナー化された各種アプリケーションを説明します。
-
プロジェクトを使用する: OpenShift Container Platform Web コンソールまたは OpenShift CLI (
oc
) からプロジェクトを作成し、開発するソフトウェアを整理し共有します。 - アプリケーションを使用する:
OpenShift Container Platform Web コンソールの Developer パースペクティブ を使用して、アプリケーションを作成およびデプロイ します。
Topology ビュー を使用して、アプリケーションの表示、ステータスの監視、コンポーネントの接続とグループ化、コードベースの変更を行います。
-
開発者 CLI ツール (
odo
) の使用:odo
CLI ツールを使用すると、開発者は単一コンポーネントまたはマルチコンポーネントのアプリケーションを作成でき、デプロイメント、ビルド、サービスルート設定を自動化できます。odo は複雑な Kubernetes および OpenShift Container Platform の概念を抽象化し、アプリケーションの開発に集中できるようにします。 - CI/CD パイプラインを作成する: パイプラインは、分離されたコンテナーで実行されるサーバーレス、クラウドネイティブ、継続的インテグレーション、および継続的デプロイメントシステムです。パイプラインは、標準の Tekton カスタムリソースを使用してデプロイメントを自動化し、マイクロサービスベースのアーキテクチャーで機能する分散型チーム向けに設計されています。
- Helm チャートをデプロイする: Helm 3 は、開発者が Kubernetes でアプリケーションパッケージの定義、インストール、および更新を行うのに役立つパッケージマネージャーです。Helm チャートは、Helm CLI を使用してデプロイできるアプリケーションを記述するパッケージング形式です。
- イメージビルドを理解する: さまざまな種類のソースマテリアル (Git リポジトリー、ローカルバイナリー入力、および外部アーティファクト) が含まれる各種のビルドストラテジー (Docker、S2I、カスタム、およびパイプライン) から選択します。次に、基本的なビルドから高度なビルドまで、ビルドタイプの例に従います。
- コンテナーイメージを作成する: コンテナーイメージは、OpenShift Container Platform および Kubernetes アプリケーションで最も基本的なビルディングブロックです。イメージストリームを定義すると、開発の進捗に応じて、イメージの複数のバージョンを 1 つの場所に集約できます。S2I コンテナーを使用すると、Ruby、Node.js、Python などの特定タイプのコードを実行するように設定されたベースコンテナーに、ソースコードを挿入することができます。
-
デプロイメントを作成する:
Deployment
およびDeploymentConfig
オブジェクトを使用して、アプリケーションの詳細な管理を行います。Workloads ページまたは OpenShift CLI (oc
) を使用して デプロイメントを管理 します。ローリング、再作成およびカスタム のデプロイメントストラテジーを説明しています。 - テンプレートを作成する: 既存のテンプレートを使用するか、アプリケーションのビルドまたはデプロイ方法を記述する独自のテンプレートを作成します。テンプレートは、イメージと説明、パラメーター、レプリカ、公開されたポートおよびアプリケーションの実行またはビルド方法を定義するその他のコンテンツを組み合わせることができます。
- Operator について理解する: Operator は、OpenShift Container Platform 4.16 で推奨される、クラスターアプリケーションの作成方法です。Operator Framework について、またインストールされた Operator を使用してアプリケーションをプロジェクトにデプロイする方法を説明します。
- Operator を開発する: Operator は、OpenShift Container Platform 4.16 で推奨される、クラスターアプリケーションの作成方法です。Operator の構築、テスト、およびデプロイのワークフローを説明します。次に、Ansible または Helm に基づいて独自の Operator を作成する、または Operator SDK を使用して ビルトイン Prometheus モニタリング を設定します。
- REST API リファレンス: OpenShift Container Platform アプリケーションプログラミングインターフェイスのエンドポイントを説明します。
2.4.2. 管理者の場合
- OpenShift Container Platform を管理する: OpenShift Container Platform 4.16 コントロールプレーンのコンポーネントを説明します。OpenShift Container Platform コントロールプレーンおよびワーカーノードが、マシン API および Operator によりどのように管理、更新されるか確認してください。
- ユーザーとグループを管理する: クラスターの使用または変更について、さまざまなレベルのパーミッションを持つユーザーおよびグループを追加します。
- 認証を管理する: OpenShift Container Platform で、ユーザー、グループ、および API 認証がどのように機能するかを確認します。OpenShift Container Platform は、複数のアイデンティティープロバイダーをサポートします。
- ネットワークを管理する: OpenShift Container Platform のクラスターネットワークは、Cluster Network Operator (CNO) によって管理されます。Multus Container Network Interface は 複数のネットワークインターフェイス を Pod に割り当てる機能を追加します。ネットワークポリシー 機能を使用すると、Pod を分離したり、選択したトラフィックを許可したりできます。
- ストレージを管理する: OpenShift Container Platform では、クラスター管理者は永続ストレージを設定できます。
- Operator を管理する: クラスター管理者は Red Hat、ISV、コミュニティーの Operator リストを確認できます。このリストは、クラスターにインストール できます。インストール後に、クラスターで Operator を 実行、アップグレード、バックアップ、管理できます。
- カスタムリソース定義 (CRD) を使用してクラスターを変更する: Operator で実装されたクラスター機能は、CRD で変更できます。CRD の作成 および CRD からのリソースの管理 を説明しています。
- リソースクォータを設定する: CPU、メモリー、その他のシステムリソースから選択し、クォータを設定 します。
- リソースをプルーニングおよび回収する: 不要な Operator、グループ、デプロイメント、ビルド、イメージ、レジストリー、および cron ジョブをプルーニングして領域を回収します。
- クラスターの スケーリング および チューニング を行う: クラスター制限の設定、ノードのチューニング、クラスターモニタリングのスケーリング、ならびに環境に合わせたネットワーク設定、ストレージおよびルートの最適化を行います。
- 非接続環境で OpenShift Update Service を使用する: 非接続環境で OpenShift Container Platform の更新を推奨する、ローカルの OpenShift Update Service のインストールおよび管理について確認します。
- クラスターを監視する: モニタリングスタックの設定 を参照してください。モニタリングの設定後、Web コンソールを使用して モニタリングダッシュボード にアクセスします。インフラストラクチャーメトリクスに加え、独自サービスのメトリクスも収集して表示できます。
- リモートヘルスモニタリング: OpenShift Container Platform はクラスターに関する匿名の集計情報を収集します。Telemetry および Insights Operator を使用すると、このデータは Red Hat によって受信され、OpenShift Container Platform を改善するために使用されます。リモートヘルスモニタリングによって収集されたデータ を表示できます。