IBM Cloud Docs
VMware Solutions と Red Hat OpenShift の概要

VMware Solutions と Red Hat OpenShift の概要

IBM Cloud® for VMware Solutions には、VMware Cloud Foundation for Classic - Automated の完全自動化された迅速なデプロイが含まれています。 これらのオファリングによってオンプレミスのインフラストラクチャーを補完し、オンプレミスで使用しているのと同じツール、スキル、およびプロセスを使用して、既存のワークロードや将来のワークロードを変換せずに IBM Cloud で実行できるようにします。 詳しくは、仮想化とはをご覧ください。

Red Hat® OpenShift® for VMware Solutions は、Red Hat OpenShift クラスター 4.7 を既存の vCenter Server インスタンスにデプロイするためのリファレンス・アーキテクチャーであると同時に手動ビルド・プロセスです。 Red Hat OpenShift クラスターのコンポーネントは、NSX ソフトウェア定義ネットワーキングを使用して仮想マシン (VM) およびアプライアンスとしてデプロイされます。

VMware Solutions and Red Hat OpenShift
VMware Solutions and OpenShift

Red Hat OpenShift の概要

Red Hat OpenShift プラットフォームは、ノード・クラスター全体でコンテナー化ワークロードをオーケストレーションするように設計されたプラットフォームです。 このプラットフォームは、コンテナー・オーケストレーションを行うコア・エンジンとして Kubernetes を使用し、このエンジンで Docker コンテナー・イメージとそのライフサイクルを管理します。

ノードのオペレーティング・システムは Red Hat® Enterprise Linux® CoreOS です。これは、Red Hat Enterprise Linux (RHEL) のコンテナー・ホスト・バージョンであり、デフォルトで SELinux が有効な状態になっている RHEL カーネルを備えています。 RHEL CoreOS には、Kubernetes ノード・エージェントである kubelet と、Kubernetes 用に最適化された CRI-O コンテナー・ランタイムが含まれています。 Red Hat OpenShift 4.7 では、すべてのコントロール・プレーン・マシンに対して RHEL CoreOS を使用する必要がありますが、コンピュート・マシンまたはワーカー・マシンのオペレーティング・システムには Red Hat Enterprise Linux (RHEL) を使用できます。 RHEL のワーカーを使用する場合は、すべてのクラスター・マシンにおいて、RHEL CoreOS を使用する場合より多くのシステム保守を行う必要があります。

リファレンス・アーキテクチャーとこのビルド・プロセスでは、RHEL CoreOS を使用します。 ノードは、以下のタスクを行うためにインターネットに直接アクセスできなければなりません。

  • 「Red Hat OpenShift Infrastructure Providers」ページにアクセスして、インストール・プログラムをダウンロードする。
  • quay.io にアクセスして、クラスターのインストールに必要なパッケージを取得する。
  • クラスター更新の実行に必要なパッケージを取得する。
  • Red Hat の Software as a Service ページにアクセスして、サブスクリプション管理を実行する。

リファレンス・アーキテクチャーでは、このビルド・プロセスで以下のコンポーネントがインストールされ、構成されます。

  • bastion ノード - この RHEL VM は、ビルド・プロセスを可能にするためにオーバーレイ・ネットワーク上で「ジャンプ・サーバー」として機能します。 これにはプライベート・ネットワークを介して SSH を使用してアクセスします。 また、Web サーバーをホストしてクラスターのビルド・プロセスを支援します。
  • ブートストラップ・ノード - クラスター内の各ノードはプロビジョン時にクラスターに関する情報を必要とするため、一時ブートストラップ・ノードが使用されます。 ブートストラップ・ノードは、コントロール・プレーンを構成するコントロール・プレーン・ノードを作成します。 次に、コントロール・プレーン・ノードがワーカー・ノードを作成します。 クラスターの初期化後、ブートストラップ・ノードを破棄できます。
  • コントロール・プレーン・ノード - このノードは、Kubernetes クラスターの制御に必要なサービスを実行します。 単なるクラスター管理用の Kubernetes サービス以上のものが含まれています。 「プライマリー」という用語と「コントロール・プレーン」という用語は、同じ意味で使用されます。
  • コンピュート・ノード - Kubernetes クラスターでは、コンピュート・ノードはワークロードが実行される場所です。 コンピュート・ノードは、そのキャパシティーをコントロール・プレーン・ノードに通知します。
  • DNS - Red Hat OpenShift クラスターが機能するためには、DNS を正しくセットアップすることが必要です。 vCenter ServerインスタンスのAD DNSサーバーは、必要なDNSレコードをホストします。
  • ロード・バランサー - NSX ESG ロード・バランサー・サービスは、Red Hat OpenShift API (内部と外部の両方) および Red Hat OpenShift ルーターの、フロントエンドとして使用されます。 ロード・バランサーは、ポート 6443 および 22623 がブートストラップ・ノードとコントロール・プレーン・ノードを指すように構成され、ポート 80 および 443 がワーカー・ノードを指すように構成されます。
  • Web サーバー - RHEL CoreOS のインストール用の ignition 構成およびインストール・イメージを保持するために Web サーバーが必要です。 この機能を提供するために、bastion ノードに NGINX がインストールされます。
  • 永続ストレージ - 永続ストレージの要件をサポートするために、 vSphere クラウド・プロバイダーは、サポートされている vSphere データストア( VMware® vSAN™, NFS, または iSCSI )にバックアップされた Red Hat OpenShift プラットフォームまでのストレージ・ボリュームを提供するために使用されます。 Red Hat OpenShift は、静的または動的なプロビジョニングによってストレージを提供することができます。 推奨される方式は、動的プロビジョニングです。 動的プロビジョニングでは、永続ボリュームとそのバックエンド VMDK ファイルの作成が自動的にトリガーされます。 動的プロビジョニングの場合、Red Hat OpenShift クラスターのデフォルトの StorageClass が定義され、Kubernetes に PersistentVolumeClaim が作成されます。

このビルド・プロセスの環境へのアクセスは、「ジャンプ・サーバー」またはリモート・デバイスを介して行われます。

  • vCenter Server インスタンスと一緒に Microsoft Windows® または Linux Virtual Server Instance (VSI) をインストールすることで、その環境への管理アクセスを行えるようなります。 この VSI はインターネットにアクセスできるので、サーバーへのリモート接続やファイルのダウンロードが可能です。 また、プライベート・ネットワークにもアクセスできるので、vCenter と bastionノードにも接続できます。
  • IBM Cloud SSL VPN を介してリモート・デバイス (ラップトップまたはデスクトップ) を IBM Cloud Private ネットワークに接続できます。 このリモート・デバイスは、インターネットにアクセスして必要なファイルをダウンロードできます。さらに、SSL VPN を介して vCenter および bastion ノードに接続できます。

スクリプトの概要

このビルド・プロセスでは、以下のスクリプト・ツールとスクリプトを使用します。

  • govc は、vSphere CLI であり、Linux、OSX、および Windows 用にプリコンパイルされています。 CLI は、さまざまな vCenter Server および vSphere の操作を実行する際に便利です。このプロセスでは、以下のタスクを実行する目的で使用されます。
    • ISO ファイルと OVA ファイルを vSphere データ・ストアにアップロードする。
    • 使用する Red Hat OpenShift クラスターの永続ボリュームを作成する。
  • Red Hat インストーラー - このインストーラーによって、Terraform で使用される Ignition ファイルが作成されます。 Ignition は最初のブート・インストーラーおよび構成ツールであり、特に CoreOS Container Linux でディスクのパーティション化、パーティションのフォーマット、ファイルの書き込み、およびユーザーの構成を行うために設計されています。 最初のブート時に、Ignition はその構成をリモート URL から読み取り、構成を VM に適用します。
  • Terraform - Terraform は、API を宣言構成ファイルに体系化するツールです。 これは「プロバイダー」を使用してインフラストラクチャーと対話します。 インフラストラクチャーをコードとして記述する場合は、.tf ファイルが使用されます。 デプロイメントの変数を保管する場合は、.tvars ファイルが使用されます。 main.tf ファイルは、ビルド命令を保持します。
  • DNS エントリーを作成する場合は、AD DNS サーバー上で PowerShell が使用されます。
  • PowerShell Core は、Windows、Linux、および macOS システムで使用できます。 このツールはオプションです。ジャンプ・サーバーまたはリモート・デバイスで使用すると、PowerCLI を使用できるようになります。 詳細については、PowerShell Core を参照してください。
  • PowerCLI - PowerCLI は、VMware vSphere® を管理するための PowerShell インターフェースです。ネットワーク、ストレージ、VM、ゲスト OS など、vSphere 管理のあらゆる側面を自動化できます。 このツールはオプションです。ジャンプ・サーバーまたはリモート・デバイスで使用すると、vCenter Server インスタンスの準備に役立ちます。 この手順は、GUI を使用して実行できます。 このツールのインストール方法の詳細については 、「 PowerCLI のインストール」 を参照してください。
  • PowerNSX - PowerNSX は、VMware NSX API を使用が簡単な PowerShell 関数のセットに抽象化する PowerShell モジュールです。 このツールはオプションです。ジャンプ・サーバーまたはリモート・デバイスで使用すると、vCenter Server インスタンスの NSX の準備の役に立ちます。 この手順は、GUI を使用して実行できます。 詳細は powernsxを参照のこと。

ビルド・プロセスの概要

この資料では、Red Hat OpenShift v4.7 を既存の vCenter Server インスタンスにインストールするプロセスについて説明します。 このプロセスでは、以下をインストールして構成します。

  • 1 つの要塞ノード。
  • 1 つのブートストラップ・ノード。
  • 3 つのコントロール・プレーン・ノード。
  • 3 つのワーカー・ノード。

デプロイメントのアプローチは、以下のフェーズに分けて表すことができます。

  • フェーズ 1 - vCenter Server インスタンスの準備。
    • IBM Cloud® for VMware Solutions コンソールを使用して、vCenter Server インスタンスを注文します。これには NFS または vSAN ストレージを組み込むことができます。 既存のインスタンスに十分の容量があれば、そのインスタンスを使用することができます。
    • IBM Cloud コンソールを使用して、Red Hat OpenShift クラスターで使用する追加のプライベート・サブネットとパブリック・サブネットを注文します。
    • bastion ノードまたはデプロイメント・ノードの OS 用の RHEL 8.0 ISO、および Red Hat Enterprise Linux CoreOS (RHCOS) OVA イメージをダウンロードします。 このステップについては、インストールの前提条件で説明します。
    • govc を使用して、OVA と ISO が vCenter Server インスタンス上のデータストアにアップロードされる。 このステップについては、インストールの前提条件で説明します。
    • 論理スイッチの追加 - 2つの論理スイッチが作成される: OpenShift-LS- Red Hat OpenShift VMがデプロイされるネットワークと OpenShift-DLR-Transit- DLRとエッジ間のアップリンク。
    • ESG の追加 - 外部サービス・ゲートウェイ (ESG) は、North-South ルーティングなどのネットワーク機能を提供する仮想アプライアンスです。 このアーキテクチャーでは、ルーティング、NAT、ファイアウォール、およびロード・バランシングに ESG が使用されます。 ESG はアクティブとパッシブのペアとして構成されているため、DRS アンチアフィニティルールを使用して、NSX Edges が同じホスト上で実行されないようにします。 トラフィックをインターネットまたは IBM プライベート・ネットワークのいずれかに経路指定するために静的ルートが使用されます。 このステップについては、『Red Hat OpenShift NSX Edge の構成』で説明します。
    • DLR の追加 - 分散論理ルーター (DLR) は、ルーティング・コントロール・プレーンを含んだ仮想アプライアンスです。カーネル・モジュールのデータ・プレーンが各ハイパーバイザー・ホストに分散されます。 DLRは東西分散ルーティングを提供し、 Red Hat OpenShift 論理スイッチにインストールされている Red Hat OpenShift VMのデフォルトゲートウェイです。 NSX DLR 仮想マシンはアクティブ - パッシブのペアとして構成されるため、同じホストで DLR VM が実行されないように vSphere Distributed Resource Scheduler (DRS) アンチアフィニティー・ルールが作成されます。 このステップについては、『Red Hat OpenShift NSX DLR 構成』で説明します。
    • DNS の更新 - vCenter Server インスタンスでプロビジョンされたインフラストラクチャー DNS は、PowerShell スクリプトを使用して、Red Hat OpenShift コンポーネントの名前と IP アドレスで更新されます。 このステップについては、VMware Solutions DNS の構成で説明します。
  • フェーズ 2 - Red Hat OpenShift のインストール。 これらのステップについては、『Red Hat OpenShift 4.7 ユーザー・プロバイダー・インフラストラクチャーのインストール』で説明します。
    • Red Hat OpenShift インストーラーを実行し、HTTP Server をホストするために、Red Hat 仮想マシン (bastion ノード) がプロビジョニングされます。 これは、サブスクリプションを使用して Red Hat に登録され、Red Hat OpenShift インストーラーがダウンロードされます。
    • bastion ノードでは、必須の Red Hat OpenShift パラメーターが install-config.yaml ファイルに取り込まれ、Red Hat OpenShift ignition が使用されて、ブートストラップ、コントロール・プレーン、およびワーカー用の各マシンのインストールに使用されるさまざまなファイルが生成されます。
    • Terraform は bastion ノード上で、Ignition によって作成されたファイルを使用して Red Hat OpenShift VM を作成します。
  • フェーズ 3 - デプロイメント後のアクティビティー。 Red Hat OpenShift クラスターによって使用される永続ボリュームを構成します。 このステップについては、『Red Hat OpenShift 4.7 の追加構成』で説明します。