概要
OpenShift Container Platform の紹介
概要
第1章 OpenShift Container Platform 4.6 ドキュメント
公式の OpenShift Container Platform 4.6 ドキュメントへようこそ。このドキュメントでは、OpenShift Container Platform に関する情報を検索して、その機能について確認してみてください。
OpenShift Container Platform 4.6 ドキュメントを移動するには、以下のいずれかを実行できます。
- 左側のナビゲーションバーを使用して、ドキュメントを参照します。または、
- このウェルカムページのコンテンツから、興味のあるアクティビティーを選択してください。
アーキテクチャー と セキュリティーとコンプライアンス から始めます。次に、リリースノート を参照してください。
1.1. クラスターインストーラーのアクティビティー
OpenShift Container Platform 4.6 クラスターをインストールするようにセットアップする場合、本書では以下に役立ちます。
- AWS でのクラスターのインストール: Amazon Web Services (AWS) にクラスターをデプロイする場合には、多くのインストールオプションがあります。デフォルト設定 または カスタム AWS 設定 でクラスターをデプロイできます。自分でプロビジョニングした AWS インフラストラクチャーにクラスターをデプロイすることもできます。必要に応じて、同梱の AWS CloudFormation テンプレート を変更できます。
- Azure でのクラスターのインストール: 既定の設定、カスタム Azure 設定、または Microsoft Azure の カスタムネットワーク設定 でクラスターをデプロイできます。また、OpenShift Container Platform を Azure Virtual Network にプロビジョニングしたり、Azure Resource Manager テンプレート を使用して独自のインフラストラクチャーをプロビジョニングしたりすることもできます。
- GCP でのクラスターのインストール: デフォルト設定 または カスタム GCP 設定 でクラスターを Google Cloud Platform (GCP) にデプロイできます。独自のインフラストラクチャーをプロビジョニングする GCP インストールを実行することもできます。
- Install a cluster on VMware vSphere: サポートされているバージョンの vSphere に OpenShift Container Platform をインストールできます。
- クラスターをベアメタルにインストールする: ニーズに合ったプラットフォームおよびクラウドプロバイダーがない場合には、ベアメタルに OpenShift Container Platform をインストールできます。
- インストーラーによってプロビジョニングされたクラスターのベアメタルへのインストール: インストーラーによってプロビジョニングされたアーキテクチャーを使用して、OpenShift Container Platform をベアメタルにインストールできます。
-
ベアメタルで Red Hat Enterprise Linux CoreOS (RHCOS) マシンを作成する: 完全なライブ環境で ISO または PXE を使用して RHCOS マシンをインストールし、カーネル引数、Ignition 設定、または
coreos-installer
コマンドを使用してこれらを設定できます。 - Red Hat OpenStack Platform (RHOSP) にクラスターをインストールする: カスタマイズした RHOSP にクラスターをインストールできます。
- Red Hat Virtualization (RHV) にクラスターをインストールする: Red Hat Virtualization (RHV) にクラスターをデプロイするには、クイックインストール または カスタマイズありのインストール を使用します。
- 制限付きのネットワークにクラスターをインストールする: AWS、GCP、vSphere、または ベアメタル でユーザーがプロビジョニングしたインフラストラクチャーを使用するクラスターが全インターネットにアクセスできない場合に、OpenShift Container Platform インストールイメージをミラーリングして、クラスターをネットワークが制限された環境でインストールできます。
- 既存のネットワークにクラスターをインストールする: AWS または GCP で既存の Virtual Private Cloud (VPC) を使用する場合、または Azure で既存の VNet を使用する場合は、クラスターをインストールできます。
- プライベートクラスターをインストールする: クラスターが外部インターネットアクセスを必要としない場合は、AWS、Azure、または GCP にプライベートクラスターをインストールできます。クラウド API とインストールメディアにアクセスするには、引き続きインターネットアクセスが必要です。
- インストールログを確認する: インストールログにアクセスして、OpenShift Container Platform 4.6 のインストール中に発生する問題を評価します。
- OpenShift Container Platform にアクセスする: インストールプロセスの最後に出力された資格情報を使用して、コマンドラインまたは Web コンソールから OpenShift Container Platform クラスターにログインします。
- Red Hat OpenShift Container Storage をインストールする: Red Hat OpenShift Container Storage を Operator としてインストールして、高度に統合され単純化されたコンテナーの永続ストレージ管理を提供できます。
1.2. 開発者のアクティビティー
最終的に OpenShift Container Platform は、コンテナー化されたアプリケーションを開発し、デプロイするためのプラットフォームです。以下の場合にアプリケーション開発者は、OpenShift Container Platform のドキュメントは有用です。
- OpenShift Container Platform での開発を理解する: 単純なコンテナーから高度な Kubernetes デプロイメントおよび Operator に至るまで、異なるタイプのコンテナー化されたアプリケーションについて説明します。
- プロジェクトを使用する: Web コンソールまたは CLI からプロジェクトの作成を行い、開発するソフトウェアを整理および共有します。
- アプリケーションに関する操作を行う: 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 を使用してデプロイできるアプリケーションを記述するパッケージング形式です。
- Operator について理解する: Operator は、OpenShift Container Platform 4.6 でクラスターアプリケーションを作成するのに推奨される方法です。Operator Framework について、またインストールされた Operator を使用してアプリケーションをプロジェクトにデプロイする方法について説明します。
- イメージビルドを理解する: さまざまな種類のソースマテリアル (Git リポジトリー、ローカルバイナリー入力、および外部アーティファクトなどの場所) が含まれる各種のビルドストラテジー (Docker、S2I、カスタム、およびパイプライン) から選択します。次に、基本的なビルドから高度なビルドまで、ビルドタイプの例に従います。
- コンテナーイメージを作成する: コンテナーイメージは、OpenShift Container Platform(および Kubernetes) アプリケーションで最も基本的なビルディングブロックです。イメージストリームを定義すると、開発の進捗に応じて、イメージの複数のバージョンを 1 つの場所に集約できます。S2I コンテナーを使用すると、Ruby、Node.js、Python などの特定タイプのコードを実行するように設定されたベースコンテナーに、ソースコードを挿入することができます。
-
デプロイメントを作成する:
Deployment
およびDeploymentConfig
オブジェクトを使用して、アプリケーションの詳細な管理を行います。Workloads ページまたはoc
CLI を使用して デプロイメントを管理します。ローリング、再作成およびカスタム デプロイメントストラテジーについて説明します。 - テンプレートを作成する: 既存のテンプレートを使用するか、またはアプリケーションのビルドまたはデプロイ方法を記述する独自のテンプレートを作成します。テンプレートは、イメージと説明、パラメーター、レプリカ、公開されたポートおよびアプリケーションの実行またはビルド方法を定義するその他のコンテンツを組み合わせることができます。
- Operator を作成する: Operator は、OpenShift Container Platform 4.6 でクラスターアプリケーションを作成するのに推奨される方法です。Operator の構築、テスト、およびデプロイのワークフローについて説明します。次に、Ansible または Helm に基づいて独自の Operator を作成するか、または Operator SDK を使用して ビルトイン Prometheus モニターリング を設定します。
- REST API リファレンス: OpenShift Container Platform アプリケーションプログラミングインターフェイスのエンドポイントについて表示します。
1.3. クラスター管理者のアクティビティー
OpenShift Container Platform 4.6 クラスターでの継続的なタスクには、マシンを管理するためのさまざまなアクティビティーやユーザーにサービスを提供し、クラスターを監視するモニターリングおよびロギング機能が含まれます。このドキュメントは、クラスター管理者向けに以下の点で役立ちます。
- OpenShift Container Platform の管理: OpenShift Container Platform 4.6 コントロールプレーンのコンポーネントについて説明します。OpenShift Container Platform マスターおよびワーカーが マシン API および Operator で管理され、更新される方法を参照してください。
1.3.1. クラスターコンポーネントの管理
- マシンの管理: AWS、Azure、または GCP 上のクラスター内のマシンを管理するには、ヘルスチェックをデプロイし、マシンに自動スケーリングを適用します。
- コンテナーレジストリーのを管理する: 各 OpenShift Container Platform クラスターには、そのイメージを保存するための組み込みのコンテナーレジストリーが含まれています。OpenShift Container Platform で使用する別の Red Hat Quay レジストリーを設定することもできます。Quay.io Web サイトは、OpenShift Container Platform コンテナーおよび Operator を格納するパブリックコンテナーレジストリーを提供します。
- ユーザーとグループを管理する: クラスターの使用または変更について、さまざまなレベルのパーミッションを持つユーザーおよびグループを追加します。
- 認証を管理する: OpenShift Container Platform で、ユーザー、グループ、および API 認証がどのように機能するかを確認します。OpenShift Container Platform は、HTPasswd、Keystone、LDAP、Basic 認証、要求ヘッダー、GitHub、GitLab、Google、OpenID などの複数のアイデンティティープロバイダーをサポートします。
- ingress、API サーバー、および サービス 証明書を管理する: OpenShift Container Platform は、Ingress Operator、API サーバー、および暗号化を必要とする複雑なミドルウェアアプリケーションが必要とするサービスに対して、デフォルトで証明書を作成します。場合によってはこれらの証明書を変更、追加、またはローテーションする必要があります。
- ネットワークを管理する: OpenShift Container Platform のネットワークは、Cluster Network Operator (CNO) によって管理されます。CNO は、kube-proxy の iptables ルールを使用して、ノードとそれらのノードで実行されている Pod 間のトラフィックを転送します。Multus Container Network Interface は 複数のネットワークインターフェイス を Pod に割り当てる機能を追加します。ネットワークポリシー 機能を使用すると、Pod を分離したり、選択したトラフィックを許可したりできます。
- ストレージを管理する: OpenShift Container Platform では、クラスター管理者が Red Hat OpenShift Container Storage、AWS Elastic Block Store、NFS、iSCSI、Container Storage Interface (CSI) などを使用して永続ストレージを設定できます。永続ボリュームを拡張 して 動的プロビジョニング を設定し、CSI を使用して、永続ストレージを 設定 して クローン できます。
- Operator を管理する: Red Hat、ISV、およびコミュニティー Operator の一覧は、クラスター管理者によって確認でき、クラスターにインストール できます。インストールが完了すると、(Operator が設計されている内容に基づいて) クラスターで Operator を 実行 するか、アップグレード し、バックアップするか、または Operator を管理できます。
1.3.2. クラスターコンポーネントの変更
- カスタムリソース定義 (CRD) を使用してクラスターを変更する: Operator で実装されたクラスター機能は、CRD で変更できます。CRD の作成 および CRD からのリソースの管理 について参照してください。
- リソースクォータを設定する: CPU、メモリー、その他のシステムリソースから選択し、クォータを設定します。
- リソースをプルーニングおよび回収する: 不要な Operator、グループ、デプロイメント、ビルド、イメージ、レジストリー、および cron ジョブをプルーニングして領域を回収します。
- クラスターの スケーリング および チューニング を行う: クラスター制限の設定、ノードのチューニング、クラスターモニターリングのスケーリング、ならびに環境に合わせたネットワーク設定、ストレージおよびルートの最適化を行います。
- クラスターの更新を行う: OpenShift Container Platform を新しいバージョンにアップグレードするには、Cluster Version Operator (CVO) を使用します。Container Platform 更新サービスから更新が利用可能な場合は、Web コンソール または CLI のいずれかからそのクラスターの更新を適用します。
- OpenShift Update Service を理解する: ネットワークが制限された環境で OpenShift Container Platform の更新を推奨するローカルの OpenShift Update Service のインストールおよび管理について確認します。
1.3.3. クラスターの監視
- クラスターロギングを使用する: クラスターロギングについての使用、および Elasticsearch、Fluentd、Kibana、Curator などの各種のクラスターロギングタイプを設定します。
- クラスターを監視する: モニターリングスタックの設定 について参照してください。モニターリングを設定したら、Web UI を使用して モニターリングダッシュボードにアクセスします。インフラストラクチャーメトリクスに加えて、独自のサービスのメトリクスを収集し、表示することもできます。
- リモートヘルスモニターリング: OpenShift Container Platform はクラスターについての匿名の集計情報を収集し、Telemetry および Insights Operator 経由でこれを Red Hat にレポートします。Red Hat では、このような情報を OpenShift Container Platform の改善のために、またお客様に影響を与える問題への対応を迅速化するために使用します。リモートヘルスモニターリングで収集されるデータ を表示できます。
第2章 {oke} について
2020 年 4 月 27 日現在、Red Hat では、製品の提供する価値を適切に伝えることを目的とし、Red Hat OpenShift Container Engine の名前を Red Hat OpenShift Kubernetes Engine に変更しました。
Red Hat OpenShift Kubernetes Engine は、Red Hat が提供する製品であり、エンタープライズクラスの Kubernetes プラットフォームを、コンテナーを起動するための実稼働プラットフォームとして使用できるようにします。OpenShift Kubernetes Engine は、OpenShift Container Platform と同じバイナリーディストリビューションであるため、同じ方法でダウンロードしてインストールしますが、OpenShift Kubernetes Engine では、OpenShift Container Platform が提供する機能のサブセットも提供します。
2.1. 類似点と相違点
以下の表で、OpenShift Kubernetes Engine と OpenShift Container Platform の類似点と相違点を確認できます。
OpenShift Kubernetes Engine | OpenShift Container Platform | ||
---|---|---|---|
完全に自動化されたインストーラー | はい | はい | |
無線によるスマートアップグレード | はい | はい | |
Enterprise Secured Kubernetes | はい | はい | |
Kubectl と oc の自動化されたコマンドライン | はい | はい | |
Operator Lifecycle Manager (OLM) | はい | はい | |
管理者用 Web コンソール | はい | はい | |
OpenShift Virtualization | はい | はい | |
ユーザーワークロードの監視 | はい | ||
計量およびコスト管理 SaaS サービス | はい | ||
プラットフォームのロギング | はい | ||
開発者用 Web コンソール | はい | ||
開発者アプリケーションカタログ | はい | ||
ソースからイメージおよびビルダーの自動化 (Tekton) | はい | ||
OpenShift Service Mesh (Kiali、Jaeger、および OpenTracing) | はい | ||
OpenShift Serverless (Knative) | はい | ||
OpenShift パイプライン (Jenkins および Tekton) | はい | ||
IBM Cloud Pak および RHT MW バンドルの組み込みコンポーネント | はい |
2.1.1. コア Kubernetes とコンテナーオーケストレーション
OpenShift Kubernetes Engine は、インストールが簡単なエンタープライズ対応の Kubernetes 環境への完全なアクセスを提供し、データセンターで使用する可能性のある多くのソフトウェア要素を含む広範な互換性テストマトリックスを提供します。
OpenShift Kubernetes Engine は、OpenShift Container Platform と同じサービスレベルアグリーメント、バグ修正を提供し、一般的な脆弱性やエラーから守ります。OpenShift Kubernetes Engine には、Red Hat Enterprise Linux (RHEL) Virtual Datacenter と Red Hat Enterprise Linux CoreOS (RHCOS) のエンタイトルメントが含まれており、同じテクノロジープロバイダーのコンテナーランタイムを備えた統合 Linux オペレーティングシステムを使用できます。
OpenShift Kubernetes Engine サブスクリプションは、Red Hat OpenShift support for Windows Containers サブスクリプションと互換性があります。
2.1.2. エンタープライズ対応の設定
OpenShift Kubernetes Engine は、OpenShift Container Platform と同じセキュリティーオプションとデフォルト設定を使用します。OpenShift Container Platform が提供するデフォルトのセキュリティーコンテキスト制約、Pod セキュリティーポリシー、ベストプラクティスのネットワークおよびストレージ設定、サービスアカウント設定、SELinux 統合、HAproxy エッジルーティング設定、およびその他すべての標準的な保護は、OpenShift Kubernetes Engine で利用できます。OpenShift Kubernetes Engine は、OpenShift Container Platform が使用する統合モニターリングソリューション全てにアクセスできます。このソリューションは、Prometheus に基づいており、一般的な Kubernetes の問題に対する幅広く対応し、さらにアラートも提供します。
OpenShift Kubernetes Engine は、OpenShift Container Platform と同じインストールおよびアップグレードの自動化を使用します。
2.1.3. 標準インフラストラクチャーサービス
OpenShift Kubernetes Engine サブスクリプションを使用すると、OpenShift Container Platform がサポートするすべてのストレージプラグインのサポートを受けることができます。
ネットワークに関しては、OpenShift Kubernetes Engine は Kubernetes Container Network Interface (CNI) すべてにサポート付きでアクセスでき、OpenShift Container Platform をサポートするサードパーティーの SDN を使用できます。また、付属の Open vSwitch ソフトウェア定義ネットワークを最大限に使用することもできます。OpenShift Kubernetes Engine を使用すると、OpenShift Container Platform でサポートされている OVN Kubernetes オーバーレイ、Multus、および Multus プラグインを最大限に活用できます。OpenShift Kubernetes Engine を使用すると、Kubernetes ネットワークポリシーを使用して、クラスターにデプロイされたアプリケーションサービス間にマイクロセグメンテーションを作成できます。
また、すぐに使用できる Kubernetes Ingress コントローラーとしての HAproxy エッジルーティングレイヤーとの高度な統合など、OpenShift Container Platform にある Route
API オブジェクトを使用することもできます。
2.1.4. コアユーザーエクスペリエンス
OpenShift Kubernetes Engine ユーザーには、Kubernetes Operators、Pod デプロイメントストラテジー、Helm、および OpenShift Container Platform テンプレートに対する完全なアクセス権があります。OpenShift Kubernetes Engine ユーザーは、oc
および kubectl
コマンドラインインターフェイスの両方を使用できます。OpenShift Kubernetes Engine には、管理者の Web ベースのコンソールも含まれており、デプロイされたコンテナーサービスのすべての機能を表示し、container-as-a service エクスペリエンスを提供します。OpenShift Kubernetes Engine は、Operator Life Cycle Manager へのアクセスを許可し、使用するクラスターおよびライフサイクル Operator 対応サービスのコンテンツへのアクセスを制御するのに役立ちます。OpenShift Kubernetes Engine サブスクリプションを使用すると、Kubernetes namespace、OpenShift プロジェクト
API オブジェクト、およびクラスターレベルの Prometheus モニターリングメトリクスとイベントにアクセスできます。
2.1.5. 管理され精選されたコンテンツ
OpenShift Kubernetes Engine サブスクリプションを使用すると、Red Hat Ecosystem Catalog および Red Hat Connect ISV マーケットプレイスから OpenShift Container Platform コンテンツにアクセスできます。OpenShift Container Platform エコシステムが提供する、維持および精選されたすべてのコンテンツにアクセスできます。
2.1.6. OpenShift Container Storage の互換性
OpenShift Kubernetes Engine は、OpenShift Container Storage との互換性があり、購入するとサポートされます。
2.1.7. Red Hat ミドルウェアの互換性
OpenShift Kubernetes Engine は、個々の Red Hat Middleware 製品ソリューションと互換性があり、サポートされています。OpenShift が組み込まれた Red Hat Middleware Bundle には、OpenShift Container Platform のみが含まれます。
2.1.8. OpenShift Serverless
OpenShift Kubernetes Engine には、OpenShift Serverless サポートは含まれていません。このサポートには OpenShift Container Platform を使用してください。
2.1.9. Quay インテグレーション対応
OpenShift Kubernetes Engine は互換性があり、Red Hat Quay を購入するとサポートされます。
2.1.10. OpenShift Virtualization
OpenShift Kubernetes Engine には、kubevirt.io オープンソースプロジェクトから派生した Red Hat 製品オファリングのサポートが含まれています。
2.1.11. 高度なクラスター管理
OpenShift Kubernetes Engine は、Kubernetes 用の {rh-rhacm-first} の追加購入にも対応しています。OpenShift Kubernetes Engine サブスクリプションでは、クラスター全体のログ集約ソリューションは提供されず、Elasticsearch、Fluentd、または Kibana ベースのロギングソリューションもサポートしません。同様に、OpenShift Container Platform または console.redhat.com Cost Management SaaS サービスにあるチャージバック機能は、OpenShift Kubernetes Engine ではサポートされていません。Red Hat Service Mesh 機能は、OpenShift Container Platform の集約サービス向けの OpenTracing 可観測性機能を提供するオープンソースの istio.io および kiali.io プロジェクトから取得している場合には、OpenShift Kubernetes Engine ではサポートされません。
2.1.12. 高度なネットワーキング
OpenShift Container Platform の標準ネットワークソリューションは、OpenShift Kubernetes Engine サブスクリプションでサポートされています。OpenShift Container Platform プロジェクト間のマルチテナントネットワークセグメンテーションを自動化するための OpenShift Container Platform の Kubernetes CNI プラグインは、OpenShift Kubernetes Engine で使用する資格があります。OpenShift Kubernetes Engine は、クラスター上のアプリケーションサービスによって使用されるソース IP アドレスの詳細にわたる全制御機能を提供します。これらの egress IP アドレス制御は、OpenShift Kubernetes Engine で使用する資格があります。OpenShift Container Platform は、OpenShift Container Platform にある VIP Pod 経由でパブリッククラウドプロバイダーが使用されていない場合に、標準以外のポートを使用するクラスターサービスへの Ingress ルーティングを行います。この Ingress ソリューションは、OpenShift Kubernetes Engine でサポートされています。OpenShift Kubernetes Engine ユーザーは、パブリッククラウドプロバイダーとの統合を提供する Kubernetes Ingress コントロールオブジェクトでサポートされます。istio.io オープンソースプロジェクトから派生した Red Hat Service Mesh は、OpenShift Kubernetes Engine ではサポートされていません。また、OpenShift Serverless にある Kourier Ingress コントローラーは、OpenShift Kubernetes Engine ではサポートされていません。
2.1.13. 開発者のエクスペリエンス
OpenShift Kubernetes Engine では、次の機能はサポートされていません。
- CodeReady 開発者エクスペリエンスユーティリティーおよびツール (CodeReady Workspaces など)。
- 合理化された Kubernetes 対応の Jenkins および Tekton エクスペリエンスをユーザーのプロジェクト空間に統合する OpenShift Container Platform のパイプライン機能。
- OpenShift Container Platform の source-to-image 機能。クラスター全体にソースコード、dockerfile、またはコンテナーイメージを簡単にデプロイできます。
- エンドユーザーコンテナーデプロイ用の構築ストラテジー、ビルダー Pod、または Tekton。
-
odo
開発者コマンドライン。 - OpenShift Container Platform Web コンソールの開発者ペルソナ。
2.1.14. 機能の概要
以下の表は、OpenShift Kubernetes Engine および OpenShift Container Platform で利用できる機能の概要です。
機能 | OpenShift Kubernetes Engine | OpenShift Container Platform | Operator 名 |
完全自動インストーラー (IPI) | 同梱 | 同梱 | 該当なし |
カスタマイズ可能なインストーラー (UPI) | 同梱 | 同梱 | 該当なし |
非接続インストール | 同梱 | 同梱 | 該当なし |
Red Hat Enterprise Linux (RHEL) または Red Hat Enterprise Linux CoreOS (RHCOS) entitlement | 同梱 | 同梱 | 該当なし |
既存の RHEL クラスターへの手動アタッチ (BYO) | 同梱 | 同梱 | 該当なし |
CRIO ランタイム | 同梱 | 同梱 | 該当なし |
Over the Air Smart Upgrade とオペレーティングシステム (RHCOS) の管理 | 同梱 | 同梱 | 該当なし |
Enterprise Secured Kubernetes | 同梱 | 同梱 | 該当なし |
Kubectl と | 同梱 | 同梱 | 該当なし |
認証統合、RBAC、SCC、マルチテナンシーアドミッションコントローラー | 同梱 | 同梱 | 該当なし |
Operator Lifecycle Manager (OLM) | 同梱 | 同梱 | 該当なし |
管理者用 Web コンソール | 同梱 | 同梱 | 該当なし |
OpenShift Virtualization | 同梱 | 同梱 | OpenShift Virtualization Operator |
Red Hat が提供する Compliance Operator | 同梱 | 同梱 | コンプライアンス Operator |
File Integrity Operator | 同梱 | 同梱 | File Integrity Operator |
Gatekeeper Operator | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | Gatekeeper Operator |
Klusterlet | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | 該当なし |
Red Hat が提供する Kube Descheduler Operator | 同梱 | 同梱 | Kube Descheduler Operator |
Red Hat が提供するローカルストレージ | 同梱 | 同梱 | Local Storage Operator |
Red Hat が提供する Node Feature Discovery | 同梱 | 同梱 | Node Feature Discovery Operator |
パフォーマンスアドオン Operator | 同梱 | 同梱 | パフォーマンスアドオン Operator |
Red Hat が提供する PTP Operator | 同梱 | 同梱 | PTP Operator |
Red Hat が提供する Service Telemetry Operator | 同梱 | 同梱 | Service Telemetry Operator |
SR-IOV ネットワーク Operator | 同梱 | 同梱 | SR-IOV ネットワーク Operator |
Vertical Pod Autoscaler | 同梱 | 同梱 | Vertical Pod Autoscaler |
クラスター監視 (Prometheus) | 同梱 | 同梱 | Cluster Monitoring |
デバイスマネージャー (GPU など) | 同梱 | 同梱 | 該当なし |
ログ転送 (fluentd 使用) | 同梱 | 同梱 | Red Hat OpenShift Logging Operator (fluentd によるログ転送用) |
Telemeter と Insights のコネクテッドエクスペリエンス | 同梱 | 同梱 | 該当なし |
機能 | OpenShift Kubernetes Engine | OpenShift Container Platform | Operator 名 |
OpenShift Cloud Manager SaaS Service | 同梱 | 同梱 | 該当なし |
OVS および OVN SDN | 同梱 | 同梱 | 該当なし |
MetalLB | 同梱 | 同梱 | Metal LB オペレーター |
HAProxy Ingress コントローラー | 同梱 | 同梱 | 該当なし |
Red Hat OpenStack Platform (RHOSP) Kuryr Integration | 同梱 | 同梱 | 該当なし |
Ingress クラスター全体のファイアウォール | 同梱 | 同梱 | 該当なし |
Egress Pod と Namespace の詳細な制御 | 同梱 | 同梱 | 該当なし |
標準以外の Ingress ポート | 同梱 | 同梱 | 該当なし |
Multus と利用可能な Multus プラグイン | 同梱 | 同梱 | 該当なし |
ネットワークポリシー | 同梱 | 同梱 | 該当なし |
IPv6 シングルおよびデュアルスタック | 同梱 | 同梱 | 該当なし |
CNI プラグイン ISV の互換性 | 同梱 | 同梱 | 該当なし |
CSI プラグイン ISV の互換性 | 同梱 | 同梱 | 該当なし |
RHT および IBM ミドルウェアの単品購入 (OpenShift Container Platform または OpenShift Kubernetes Engine には同梱なし) | 同梱 | 同梱 | 該当なし |
ISV またはパートナー Operator とコンテナーの互換性 (OpenShift Container Platform または OpenShift Kubernetes Engine には同梱なし) | 同梱 | 同梱 | 該当なし |
組み込み OperatorHub | 同梱 | 同梱 | 該当なし |
組み込みマーケットプレイス | 同梱 | 同梱 | 該当なし |
Quay の互換性 (同梱なし) | 同梱 | 同梱 | 該当なし |
RHEL Software Collections および RHT SSO Common Service (同梱あり) | 同梱 | 同梱 | 該当なし |
組み込みレジストリー | 同梱 | 同梱 | 該当なし |
Helm | 同梱 | 同梱 | 該当なし |
ユーザーワークロードの監視 | 同梱なし | 同梱 | 該当なし |
計量およびコスト管理 SaaS サービス | 同梱なし | 同梱 | 該当なし |
プラットフォームのロギング | 同梱なし | 同梱 | Red Hat OpenShift Logging Operator |
OpenShift Elasticsearch Operator provided by Red Hat | 同梱なし | スタンドアロンで実行できません | 該当なし |
開発者用 Web コンソール | 同梱なし | 同梱 | 該当なし |
開発者アプリケーションカタログ | 同梱なし | 同梱 | 該当なし |
ソースからイメージおよびビルダーの自動化 (Tekton) | 同梱なし | 同梱 | 該当なし |
OpenShift Service Mesh | 同梱なし | 同梱 | OpenShift Service Mesh Operator |
サービスバインディング Operator | 同梱なし | 同梱 | サービスバインディング Operator |
機能 | OpenShift Kubernetes Engine | OpenShift Container Platform | Operator 名 |
Red Hat OpenShift Serverless | 同梱なし | 同梱 | OpenShift Serverless Operator |
Red Hat が提供する Web ターミナル | 同梱なし | 同梱 | Web 端末 Operator |
Red Hat が提供する Jenkins Operator | 同梱なし | 同梱 | Jenkins Operator |
Red Hat OpenShift Pipelines Operator | 同梱なし | 同梱 | OpenShift パイプライン Operator |
IBM Cloud Pak および RHT MW バンドルの組み込みコンポーネント | 同梱なし | 同梱 | 該当なし |
Red Hat OpenShift GitOps | 同梱なし | 同梱 | OpenShift GitOps |
Red Hat CodeReady Workspaces | 同梱なし | 同梱 | CodeReady Workspace |
Red Hat CodeReady Containers | 同梱なし | 同梱 | 該当なし |
Red Hat が提供する Quay Bridge Operator | 同梱なし | 同梱 | Quay Bridge Operator |
Red Hat が提供する Quay Container Security | 同梱なし | 同梱 | Quay Operator |
Red Hat OpenShift 分散トレースプラットフォーム | 同梱なし | 同梱 | Red Hat OpenShift 分散トレースプラットフォーム Operator をクリックします。 |
Red Hat OpenShift Kiali | 同梱なし | 同梱 | Kiali Operator |
Red Hat が提供するメータリング (非推奨) | 同梱なし | 同梱 | 該当なし |
Migration Toolkit for Containers Operator | 同梱なし | 同梱 | Migration Toolkit for Containers Operator |
OpenShift のコスト管理 | 含まれない | 同梱 | 該当なし |
Red Hat JBoss Web Server | 含まれない | 同梱 | JWS Operator |
Red Hat ビルドの Quarkus | 含まれない | 同梱 | 該当なし |
Kourier Ingress コントローラー | 含まれない | 同梱 | 該当なし |
RHT Middleware Bundles Sub Compatibility (OpenShift Container Platform には同梱なし) | 含まれない | 同梱 | 該当なし |
IBM Cloud Pak Sub Compatibility (OpenShift Container Platform には同梱なし) | 含まれない | 同梱 | 該当なし |
OpenShift Do ( | 含まれない | 同梱 | 該当なし |
Source to Image および Tekton Builder | 含まれない | 同梱 | 該当なし |
OpenShift Serverless FaaS | 含まれない | 同梱 | 該当なし |
IDE 統合 | 含まれない | 同梱 | 該当なし |
Windows Machine Config Operator | Community Windows Machine Config Operator を同梱: サブスクリプションは不要です | Red Hat Windows Machine Config Operator を同梱: 別途サブスクリプションが必要です | Windows Machine Config Operator |
Red Hat Quay | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | Quay Operator |
Red Hat Advanced Cluster Management | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | Advanced Cluster Management for Kubernetes |
Red Hat Advanced Cluster Security | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | 該当なし |
OpenShift Container Storage | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | OpenShift Container Storage |
機能 | OpenShift Kubernetes Engine | OpenShift Container Platform | Operator 名 |
Ansible Automation Platform Resource Operator | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | Ansible Automation Platform Resource Operator |
Red Hat が提供するビジネスの自動化 | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | 業務自動化 Operator |
Red Hat が提供する Data Grid | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | Data Grid Operator |
Red Hat が提供する Red Hat Integration | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | Red Hat Integration Operator |
Red Hat Integration - Red Hat が提供する 3Scale | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | 3scale |
Red Hat Integration - Red Hat が提供する 3Scale APICast ゲートウェイ | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | 3scale APIcast |
Red Hat Integration - AMQ Broker | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | AMQ Broker |
Red Hat Integration - AMQ Broker LTS | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | |
Red Hat Integration - AMQ Interconnect | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | AMQ Interconnect |
Red Hat Integration - AMQ Online | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | |
Red Hat Integration - AMQ Streams | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | AMQ Streams |
Red Hat Integration - Camel K | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | Camel K |
Red Hat Integration- Fuse コンソール | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | Fuse Console |
Red Hat Integration- Fuse Online | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | Fuse Online |
Red Hat Integration- Service Registry Operator | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | Service Registry |
Red Hat が提供する API Designer | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | API Designer |
Red Hat が提供する JBoss EAP | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | JBoss EAP |
JBoss Web Server provided by Red Hat | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | JBoss Web Server |
Smart Gateway Operator | 同梱なし: 別のサブスクリプションが必要です | 同梱なし: 別のサブスクリプションが必要です | Smart Gateway Operator |
2.2. サブスクリプションの制限
OpenShift Kubernetes Engine は、OpenShift Container Platform に限定されたサポート対象機能セットを低価格で提供するサブスクリプションサービスです。OpenShift Kubernetes Engine と OpenShift Container Platform は同じ製品であるため、すべてのソフトウェアと機能が両方で提供されます。ダウンロードは、OpenShift Container Platform の 1 つだけです。このため、OpenShift Kubernetes Engine は、OpenShift Container Platform のドキュメント、サポートサービス、およびバグのエラータを使用します。
第3章 Kubernetes の概要
Kubernetes は、Google が開発したオープンソースのコンテナーオーケストレーションツールです。Kubernetes を使用して、コンテナーベースのワークロードを実行および管理できます。最も一般的な Kubernetes のユースケースは、相互接続されたマイクロサービスのアレイをデプロイし、クラウドネイティブな方法でアプリケーションを構築することです。オンプレミス、パブリック、プライベート、またはハイブリッドクラウド全体のホストにまたがることができる Kubernetes クラスターを作成できます。
従来、アプリケーションは単一のオペレーティングシステムの上にデプロイされていました。仮想化を使用すると、物理ホストを複数の仮想ホストに分割できます。共有リソース上の仮想インスタンスで作業することは、効率やスケーラビリティの面で最適とは言えません。仮想マシン (VM) は物理マシンと同じ数のリソースを消費するため、CPU、RAM、ストレージなどのリソースを VM に提供するとコストがかかる可能性があります。また、共有リソースでの仮想インスタンスの使用により、アプリケーションのパフォーマンスが低下する場合があります。
図3.1 従来のデプロイメント向けのコンテナーテクノロジーの進化
この問題を解決するには、コンテナー化された環境でアプリケーションを分離するコンテナー化テクノロジーを使用することができます。VM と同様に、コンテナーには独自のファイルシステム、vCPU、メモリー、プロセススペース、依存関係などがあります。コンテナーは基盤となるインフラストラクチャーから切り離されており、クラウドや OS ディストリビューション間で移植可能です。コンテナーは本来、全機能を備えた OS よりもはるかに軽量で、オペレーティングシステムカーネルで実行される軽量の分離されたプロセスです。VM は起動に時間がかかり、物理ハードウェアを抽象化したものです。VM は、ハイパーバイザーを使用して単一のマシンで実行されます。
Kubernetes を利用することで、以下のようなアクションを行うことができます。
- リソースの共有
- 複数のホストにまたがるコンテナーのオーケストレーション
- 新しいハードウェア設定のインストール
- ヘルスチェックと自己修復アプリケーションの実行
- コンテナー化されたアプリケーションのスケーリング
3.1. Kubernetes コンポーネント
コンポーネント | 目的 |
---|---|
| クラスター内のすべてのノードで実行され、Kubernetes リソース間のネットワークトラフィックを維持します。 |
| クラスターの状態を管理します。 |
| Pod をノードに割り当てます。 |
| クラスターデータを保存します。 |
| API オブジェクトのデータを検証および設定します。 |
| ノード上で実行され、コンテナーマニフェストを読み取ります。定義されたコンテナーが開始され、実行されていることを確認します。 |
|
ワークロードの実行方法を定義できるようにします。 |
Node | ノードは、Kubernetes クラスター内の物理マシンまたは VM です。コントロールプレーンはすべてのノードを管理し、Kubernetes クラスター内のノード全体で Pod をスケジュールします。 |
コンテナーランタイム | コンテナーランタイムは、ホストオペレーティングシステムでコンテナーを実行します。Pod をノードで実行できるように、各ノードにコンテナーランタイムをインストールする必要があります。 |
永続ストレージ | デバイスがシャットダウンされた後でもデータを保存します。Kubernetes は永続ボリュームを使用して、アプリケーションデータを保存します。 |
| コンテナーイメージを保存してアクセスします。 |
Pod | Pod は、Kubernetes における最小の論理単位です。Pod には、ワーカーノードで実行する 1 つ以上のコンテナーが含まれています。 |
3.2. Kubernetes リソース
カスタムリソースは、KubernetesAPI のエクステンションです。カスタムリソースを使用して、Kubernetes クラスターをカスタマイズできます。Operator は、カスタムリソースを使用してアプリケーションとそのコンポーネントを管理するソフトウェアエクステンションです。Kubernetes は、クラスターリソースを扱う際に、一定の望ましい結果を得たい場合に宣言型モデルを使用します。Operator を使用することで、Kubernetes は宣言的な方法で状態を定義します。命令型コマンドを使用して、Kubernetes クラスターリソースを変更できます。Operator は、リソースの望ましい状態をリソースの実際の状態と継続的に比較し、現実を望ましい状態に一致させるためのアクションを実行する制御ループとして機能します。
図3.2 Kubernetes クラスターの概要
リソース | 目的 |
---|---|
サービス | Kubernetes はサービスを使用して、実行中のアプリケーションを一連の Pod に公開します。 |
|
Kubernetes は |
Deployment | アプリケーションのライフサイクルを維持するリソースオブジェクト。 |
Kubernetes は、OpenShift Container Platform のコアコンポーネントです。OpenShift Container Platform は、コンテナー化されたアプリケーションの開発および実行に使用できます。Kubernetes をその基盤とする OpenShift Container Platform には、大規模な通信、ビデオストリーミング、ゲーミング、バンキング、およびその他のアプリケーションのエンジンと同様に機能する技術が組み込まれています。OpenShift Container Platform を使用することで、コンテナー化されたアプリケーションを単一のクラウドを超えてオンプレミスおよびマルチクラウド環境へと拡張することができます。
図3.3 Kubernetes のアーキテクチャー
クラスターは、クラウド環境内の複数のノードで設定される単一の計算ユニットです。Kubernetes クラスターには、コントロールプレーンとワーカーノードが含まれます。さまざまなマシンや環境で Kubernetes コンテナーを実行できます。コントロールプレーンノードは、クラスターの状態を制御および維持します。ワーカーノードを使用して Kubernetes アプリケーションを実行できます。Kubernetes の名前空間を使用して、クラスター内のクラスターリソースを区別できます。名前空間のスコープは、デプロイメント、サービス、Pod などのリソースオブジェクトに適用できます。ストレージクラス、ノード、永続ボリュームなどのクラスター全体のリソースオブジェクトに、名前空間を使用することはできません。
3.3. Kubernetes の概念ガイドライン
OpenShift Container Platform を使い始める前に、以下の Kubernetes の概念的なガイドラインを検討してください。
- 1 つまたは複数のワーカーノードを使用することからスタートし、コンテナーのワークロードを実行します。
- 1 つまたは複数のコントロールプレーンノードからワークロードのデプロイを管理します。
- Pod と呼ばれるデプロイメント単位にコンテナーをラップします。Pod を使うことでコンテナーに追加のメタデータが付与され、複数のコンテナーを単一のデプロイメントエンティティーにグループ化する機能が提供されます。
-
特殊な種類のアセットを作成します。たとえば、サービスは一連の Pod とそのアクセス方法を定義するポリシーによって表されます。このポリシーにより、コンテナーはサービス用の特定の IP アドレスを持っていない場合でも、必要とするサービスに接続することができます。レプリケーションコントローラーは、一度に実行するのに必要な Pod レプリカ数を示すもう一つの特殊なアセットです。この機能を使うと、現在の需要に対応できるようにアプリケーションを自動的にスケーリングすることができます。OpenShift Container Platform クラスターへの API は 100% Kubernetes です。他の Kubernetes で実行されているコンテナーと OpenShift Container Platform で実行されているコンテナーの間では、何も変更はありません。アプリケーションに変更はありません。OpenShift Container Platform は、Kubernetes にエンタープライズ対応の拡張機能を提供する付加価値機能をもたらします。OpenShift Container Platform CLI ツール (
oc
) はkubectl
と互換性があります。Kubernetes API は OpenShift Container Platform 内で 100% アクセス可能ですが、kubectl
コマンドラインには、よりユーザーフレンドリーにするための多くの機能が欠けています。OpenShift Container Platform は、oc
のような一連の機能とコマンドラインツールを提供します。Kubernetes はアプリケーションの管理で威力を発揮しますが、プラットフォームレベルの各種要件やデプロイメントプロセスを指定したり、管理したりすることはありません。OpenShift Container Platform が提供する強力かつ柔軟なプラットフォーム管理ツールとプロセスは、重要な利点となります。コンテナー化プラットフォームに、認証、ネットワーキング、セキュリティー、監視、およびログ管理を追加する必要があります。