アーキテクチャー

OpenShift Dedicated 4

Dedicated 4 のアーキテクチャーの概要

概要

本書では、OpenShift Dedicated 4 のプラットフォームおよびアプリケーションのアーキテクチャーの概要を解説します。基礎となるプラットフォームのアーキテクチャーは、OpenShift Dedicated のこれまでのバージョンとは大きく異なっています。

第1章 OpenShift Dedicated の紹介

OpenShift Dedicated は Kubernetes を基盤とする完全な OpenShift Container Platform クラスターで、高可用性のために設定された、単一のお客様専用のクラウドサービスとして提供されます。

1.1. OpenShift Dedicated の紹介

OpenShift Dedicated は Red Hat によって管理され、Amazon Web Services (AWS) または Google Cloud Platform (GCP) でホストされます。各 OpenShift Dedicated クラスターには、完全に管理される コントロールプレーン (Control および Infrastructure ノード)、アプリケーションノード、Red Hat Site Reliability Engineer (SRE) によるインストールおよび管理、プレミアム Red Hat サポート、およびクラスターサービス (ロギング、メトリクス、監視、通知ポータル、クラスターポータル) が含まれます。

OpenShift Dedicated は、以下を含むエンタープライズ対応の拡張機能を Kubernetes に提供します。

  • OpenShift Dedicated クラスターは AWS または GCP 環境にデプロイされ、アプリケーション管理のハイブリッドアプローチの一部として使用できます。
  • Red Hat の統合されたテクノロジー。OpenShift Dedicated の主なコンポーネントは、Red Hat Enterprise Linux と関連する Red Hat の技術に由来します。OpenShift Dedicated は、Red Hat の高品質エンタープライズソフトウェアの集中的なテストや認定の取り組みによる数多くの利点を活用しています。
  • オープンソースの開発モデル。開発はオープンソースで行われ、ソースコードはソフトウェアのパブリックリポジトリーから入手可能です。このオープンな共同作業が迅速な技術と開発を促進します。

OpenShift Container Platform でコンテナー化された Kubernetes アプリケーションをビルドおよびデプロイする際に作成できるアセットのオプションを確認するには、OpenShift Container Platform ドキュメントの「Understanding OpenShift Container Platform development」を参照してください。

1.1.1. カスタムオペレーティングシステム

OpenShift Dedicated はコンテナー指向の新しいオペレーティングシステムであり、CoreOS と Red Hat Atomic Host オペレーティングシステムの最良の機能の一部を組み合わせた Red Hat Enterprise Linux CoreOS (RHCOS) を採用しています。RHCOS は、OpenShift Dedicated のコンテナー化されたアプリケーションを実行する目的で設計されており、新規ツールと連携して迅速なインストール、Operator ベースの管理、および単純化されたアップグレードを実現します。

RHCOS には以下が含まれます。

  • Ignition。OpenShift Dedicated が使用するマシンを最初に起動し、設定するための初回起動時のシステム設定です。
  • CRI-O、Kubernetes ネイティブコンテナーランタイム実装。これはオペレーティングシステムに密接に統合し、Kubernetes の効率的で最適化されたエクスペリエンスを提供します。CRI-O は、コンテナーを実行、停止および再起動を実行するための機能を提供します。
  • Kubelet、Kubernetes のプライマリーノードエージェント。 これは、コンテナーを起動し、これを監視します。

1.1.2. その他の主な機能

Operator は、OpenShift Dedicated コードベースの基本単位であるだけでなく、アプリケーションとアプリケーションで使用されるソフトウェアコンポーネントをデプロイするための便利な手段です。Operator をプラットフォームの基盤として使用することで、OpenShift Dedicated ではオペレーティングシステムおよびコントロールプレーンアプリケーションの手動によるアップグレードが不要になります。Cluster Version Operator や Machine Config Operator などの OpenShift Dedicated の Operator が、それらの重要なコンポーネントのクラスター全体での管理を単純化します。

Operator Lifecycle Manager (OLM) および OperatorHub は、Operator を保管し、アプリケーションの開発やデプロイを行う人々に Operator を提供する機能を提供します。

Red Hat Quay Container Registry は、ほとんどのコンテナーイメージと Operator を OpenShift Dedicated クラスターに提供する Quay.io コンテナーレジストリーです。Quay.io は、何百万ものイメージやタグを保存する Red Hat Quay の公開レジストリー版です。

OpenShift Dedicated での Kubernetes のその他の拡張には、SDN (Software Defined Networking)、認証、ログ集計、監視、およびルーティングの強化された機能が含まれます。OpenShift Dedicated は、包括的な Web コンソールとカスタム OpenShift CLI (oc) インタフェースも提供します。

1.1.3. OpenShift Dedicated のインターネットアクセスおよび Telemetry アクセス

OpenShift Dedicated では、クラスターのインストールにインターネットアクセスが必要になります。クラスターの健全性および正常に実行された更新についてのメトリクスを提供するためにデフォルトで実行される Telemetry サービスにもインターネットアクセスが必要です。クラスターがインターネットに接続されている場合、Telemetry は自動的に実行され、クラスターは OpenShift Cluster Manager (OCM) に登録されます。

Red Hat OpenShift Cluster Manager インベントリーが Telemetry によって自動的に維持されるか、または OCM を手動で使用しているかのいずれによって正常であることを確認した後に、subscription watch を使用して、アカウントまたはマルチクラスターレベルで OpenShift Dedicated サブスクリプションを追跡します。

インターネットへのアクセスは以下を実行するために必要です。

  • OpenShift Cluster Manager (OCM) ページにアクセスし、インストールプログラムをダウンロードし、サブスクリプション管理を実行します。クラスターにインターネットアクセスがあり、Telemetry を無効にしない場合、そのサービスは有効なサブスクリプションでクラスターを自動的に使用します。
  • クラスターの更新を実行するために必要なパッケージを取得します。
重要

クラスターでインターネットに直接アクセスできない場合、プロビジョニングする一部のタイプのインフラストラクチャーでネットワークが制限されたインストールを実行できます。このプロセスで、必要なコンテンツをダウンロードし、これを使用してミラーレジストリーにクラスターのインストールおよびインストールプログラムの生成に必要なパッケージを設定します。インストールタイプによっては、クラスターのインストール環境でインターネットアクセスが不要となる場合があります。クラスターを更新する前に、ミラーレジストリーのコンテンツを更新します。

第2章 アーキテクチャーの概念

OpenShift Dedicated アーキテクチャーで使用される基本的なコンテナー概念について説明します。

2.1. Kubernetes について

Kubernetes は、コンテナー化されたアプリケーションのデプロイ、スケーリング、管理を自動化するための、オープンソースのコンテナーオーケストレーションエンジンです。Kubernetes の一般的概念は非常にシンプルです。

  • 1 つまたは複数のワーカーノードを使用することからスタートし、コンテナーのワークロードを実行します。
  • 1 つまたは複数のコントロールノードからワークロードのデプロイを管理します。
  • Pod と呼ばれるデプロイメント単位にコンテナーをラップします。Pod を使うことでコンテナーに追加のメタデータが付与され、複数のコンテナーを単一のデプロイメントエンティティーにグループ化する機能が提供されます。
  • 特殊な種類のアセットを作成します。たとえば、サービスは一連の Pod とそのアクセス方法を定義するポリシーによって表されます。このポリシーにより、コンテナーはサービス用の特定の IP アドレスを持っていない場合でも、必要とするサービスに接続することができます。レプリケーションコントローラーは、一度に実行するのに必要な Pod Replicas の数を示すもう一つの特殊なアセットです。この機能を使うと、現在の需要に対応できるようにアプリケーションを自動的にスケーリングすることができます。

Kubernetes の詳細は、Kubernetes ドキュメントを参照してください。

2.2. コンテナー化されたアプリケーションの利点

アプリケーションは、アプリケーションのすべての依存関係が含まれるオペレーティングシステムにインストールすることが予想されていました。ただし、コンテナーは、コンピュートサーバーでリソース分離プロセスとして実行できる単一ユニットにアプリケーションコード、設定、および依存関係をパッケージ化する標準的な方法を提供します。OpenShift Dedicated の Kubernetes でアプリケーションを実行するには、まずコンテナーレジストリーに保存するコンテナーイメージを作成してアプリケーションをコンテナー化する必要があります。

2.2.1. オペレーティングシステムの利点

コンテナーは、小型の、専用の Linux オペレーティングシステムをカーネルなしで使用します。ファイルシステム、ネットワーク、cgroups、プロセステーブル、namespace は、ホストの Linux システムから分離されていますが、コンテナーは、必要に応じてホストとシームレスに統合できます。Linux を基盤とすることで、コンテナーでは、迅速なイノベーションを可能にするオープンソース開発モデルに備わっているあらゆる利点を活用することができます。

各コンテナーは専用のオペレーティングシステムを使用するため、競合するソフトウェアの依存関係を必要とする複数のアプリケーションを、同じホストにデプロイできます。各コンテナーは、それぞれの依存するソフトウェアを持ち運び、ネットワークやファイルシステムなどの独自のインターフェイスを管理します。 したがってアプリケーションはそれらのアセットについて競い合う必要はありません。

2.2.2. デプロイメントの利点

アプリケーションのメジャーリリース間でローリングアップグレードを行うと、ダウンタイムなしにアプリケーションを継続的に改善し、かつ現行リリースとの互換性を維持することができます。

さらに、アプリケーションの新バージョンを、旧バージョンと並行してデプロイおよびテストすることもできます。アプリケーションの旧バージョンに加えて、新バージョンをデプロイできます。コンテナーがテストにパスしたら、新規コンテナーを追加でデプロイし、古いコンテナーを削除できます。 

アプリケーションのソフトウェアの依存関係すべてはコンテナー内で解決されるので、データセンターの各ホストには汎用のオペレーティングシステムを使用できます。各アプリケーションホスト向けに特定のオペレーティングシステムを設定する必要はありません。データセンターでさらに多くの容量が必要な場合は、別の汎用ホストシステムをデプロイできます。

2.3. OpenShift Dedicated と OpenShift Container Platform の違い

OpenShift Dedicated は OpenShift Container Platform と同じコードベースを使用しますが、パフォーマンス、スケーラビリティー、およびセキュリティーに対して最適化されるように意見をもとにした方法でインストールされます。OpenShift Dedicated は完全なマネージドサービスです。そのため、OpenShift Container Platform で手動で設定した OpenShift Dedicated コンポーネントおよび設定の多くは、デフォルトで設定されています。

独自のインフラストラクチャーで OpenShift Dedicated と OpenShift Container Platform の標準インストールとの以下の違いを確認します。

OpenShift Container PlatformOpenShift Dedicated

お客様が OpenShift Container Platform をインストールし、設定します。

OpenShift Dedicated は、ユーザーフレンドリーな Web ページを使用し、パフォーマンス、スケーラビリティー、およびセキュリティーに最適化された標準的な方法でインストールされます。

お客様がコンピューティングリソースを選択できます。

OpenShift Dedicated は、Red Hat 所有またはお客様提供のパブリッククラウド (Amazon Web Services または Google Cloud Platform) でホストおよび管理されます。

お客様はインフラストラクチャーに対して上位レベルの管理権限を持ちます。

お客様には組み込みの管理者グループがありますが、お客様がクラウドアカウントを提供した場合にトップレベルの管理権限を利用できます。

お客様は OpenShift Container Platform で利用可能なすべてのサポート対象機能と構成設定を使用できます。

一部の OpenShift Container Platform 機能と設定は、OpenShift Dedicated で利用または変更できない場合があります。

control ロールを取得するマシンに API サーバーおよび etcd などのコントロールプレーンコンポーネントを設定します。コントロールプレーンコンポーネントを変更することはできますが、コントロールプレーンデータのバックアップや復元、およびコントロールプレーンデータの高可用性の確保はお客様が行う必要があることにご注意ください。

Red Hat はコントロールプレーンをセットアップし、コントロールプレーンコンポーネントを管理します。コントロールプレーンは高可用性を維持します。

お客様は、コントロールプレーンおよびワーカーノードの基礎となるインフラストラクチャーを更新する必要があります。OpenShift Web コンソールを使用して、OpenShift Container Platform のバージョンを更新できます。

Red Hat は、更新が利用可能になると自動的にお客様に通知します。OpenShift Cluster Manager (OCM) のアップグレードは、手動または自動でスケジュールできます。

サポートは、Red Hat サブスクリプションまたはクラウドプロバイダーの規約に基づいて提供されます。

99.95% のアップタイムを保持する SLA で、Red Hat による設計、運営、およびサポートが 週 7 日、1 日 24 時間対象になります。