OpenShift 4.1を自分でインフラを構築してインストールする(AWS / UPI)

Red HatでOpenShiftのサポートエンジニアをしている林です。

OpenShift 4は、openshift-installコマンドをちょいちょいと叩くとVMやLB、DNSの設定等々すべて実施してくれて、苦労せずクラスタを構築できる便利なプラットフォームです。

特に理由がなければこの方法でクラスタを構築することをお勧めしたいところです。

しかし、

  • openshift-installコマンドが構築する環境が要件に合わない
  • そもそもopenshift-installコマンドが対応していないIaaSを使用している

などの理由で、どうしてもopenshift-installにインフラの構築を任せることができないという場合があります。

そのため、OpenShift 4は、自分でインフラを構築して、そこにOpenShift 4をインストールするという方法で構築することもできるようになっています。

このように、自分でインフラを作ってOpenShift 4をインストールする手順をUPI、User-provisioned infrastructureといった言葉でドキュメントでは呼ばれています。

docs.openshift.com

User-provisionedというくらいなので、ユーザーの環境、要件によりその手順は様々です。上記のOpenShiftドキュメントでは、Cloud Formationを使用してインフラを構築する例が紹介されています。

私は、Terraformが好みなので、Terraformを使用して以下のような構成でAWS上にインフラを作成し、OpenShift 4をインストールしてみました。

f:id:literalice:20190630171759p:plain
UPI Overview

手順やスクリプトの詳細については、以下のGitHubプロジェクトにアップロードしましたので見てみてください。

github.com

比較的小規模かつ、拡張可能な形になっているかと思いますので、手順やスクリプトをいじってみるのも面白いと思います。

実際には、インストーラー(openshift-installコマンド)でクラスタを構築するとしても、一度上記のようなHard Wayで構築してみることで、OpenShiftやKubernetesに対する理解が深まるかもしれません。

* 各記事は著者の見解によるものでありその所属組織を代表する公式なものではありません。その内容については非公式見解を含みます。