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といった言葉でドキュメントでは呼ばれています。
User-provisionedというくらいなので、ユーザーの環境、要件によりその手順は様々です。上記のOpenShiftドキュメントでは、Cloud Formationを使用してインフラを構築する例が紹介されています。
私は、Terraformが好みなので、Terraformを使用して以下のような構成でAWS上にインフラを作成し、OpenShift 4をインストールしてみました。
手順やスクリプトの詳細については、以下のGitHubプロジェクトにアップロードしましたので見てみてください。
比較的小規模かつ、拡張可能な形になっているかと思いますので、手順やスクリプトをいじってみるのも面白いと思います。
実際には、インストーラー(openshift-installコマンド)でクラスタを構築するとしても、一度上記のようなHard Wayで構築してみることで、OpenShiftやKubernetesに対する理解が深まるかもしれません。