2023年3月時点での個人利用目的でコンテナ実行環境 Kubernetes / OpenShift を導入する方法について調べ、簡単にまとめた.
Kubernetes の導入方法
詳細は公式リファレンス はじめに | Kubernetes に書かれている.
プロダクション環境
kubeadm
クラスタノードの数だけ手動でインストールする必要があり手間がかかる。
kubespray
Ansible playbook を用いてクラスタノードの設定を一斉に行う。(内部的には kubeadm が用いられている)。
Terraform + kubespray を用いてローカルの KVM 環境に Kubernetes クラスタを構築する方法は、以下の記事を参照:
学習環境
minikube (minikube start | minikube)
Kubernetes クラスタをローカル環境で簡単に実行することができる。
Terraform を用いてローカルの KVM 環境に Minikube を構築する方法は、以下の記事を参照:
OpenShift / OKD の導入方法
OpenShift, OKD とは
OpenShift は RedHat がエンタープライズ向けに提供する、 Kubernetes を中心とした包括的な CNCF 環境である。
またOKD は OpenShift のコミュニティ・エディションとしての位置付けになっている。
RedHat による説明を引用すると:
OpenShift はコンテナ・オーケストレーション機能としての Kubernetes を活用し、CNCF オープンソース・エコシステムの機能 を含むほか、そのすべてが Red Hat によって包括的なアプリケーション・プラットフォームとしてテスト、パッケージ化、およびサポートされています。
(中略)
OKD は Kubernetes の実行に必要なソフトウェア・コンポーネントをパッケージ化したコミュニティ・プロジェクトで、以前は OpenShift Origin と呼ばれていました。(中略) OKD は、一般的に OpenShift よりも機能面で数リリース先行しています。
(中略)
OKD と OpenShift の一番の違いは、OpenShift がエンタープライズ・ソフトウェアの要件に対応している点です。OpenShift はセキュリティ対応チーム、長期サポートオプション、検証済みのサードパーティ運用者、認定データベースやミドルウェアを提供し、大規模運用に必要な要件を満たしています。
-- Red Hat OpenShift とOKD
OKD の導入方法には以下の選択肢がある(いずれも RedHat が公式に提供するもの)。
プロダクション環境
OKD
Preparing to install on bare metal - Installing on bare metal | Installing | OKD 4 に従って導入する。
各ノードの OS には、コンテナ運用に特化した軽量 OS である Fedora CoreOS (FCOS) 、あるいはそのエンタープライズ版である RedHat CoreOS (RHCOS) が用いられる。
クラスタの構成は、3 以上の control-plane からなる High-availability (HA) cluster と、3未満の control plane からなる non-HA cluster の2種類に大別される。compute ノード数を 0 としてクラスタを構成すると、control-plane が compute を兼ねるようになり、両タスクは同一ノード上で動作する。単一ノードからなるクラスタは特に SNO (Single Node OpenShift) と呼ばれることがある。
下図に構成例を示す。
詳しくは次のリンクを参照:
参考までに、Linux マシン上に SNO を構築する方法については、以下の記事を参照:
また、1台の物理ホスト上にHA 構成 (3-master + 2-worker) の OKD クラスタを構築する方法については、以下の記事を参照:
学習環境
Red Hat OpenShift Local (旧称:CodeReady Containers (CRC))
OKD version 4 の学習環境。Minikube の OpenShift 版に例えられる。30日間の体験期間を過ぎると利用できなくなる。
Minishift
OKD version 3 以前の学習環境。CRC の前身。
その他・ハンズオン教材など
参考までに、学習・ハンズオン用途で利用可能な OpenShift 環境には次のものがある。
OpenSift Learning (旧称: Learn OpenShift)
ブラウザ上で動作する OpenShift sandbox が提供されている.(RedHat アカウントが必要)
IBM Open Labs
ブラウザ上で OpenShift 環境を試すことができる.(IBM Cloud アカウントが必要)
関連リンク
- OpenShift Infra:マスターノードのマルチアベイラビリティゾーン設計は2つのAZか3つのAZか? - 赤帽エンジニアブログ ... OpenShift で HA を実現する上で、なぜ control plane が3つ以上必要なのか解説されている
- 個人環境で無料で利用できるOpenShift 4.x環境4選 - zaki work log