執筆日:2023/04/05
Cluster APIによるKubernetesクラスタの操作
目的
- kubernetesクラスタを構築、アップグレード、その他の操作を簡単に行えるようにすることを目的として開発されているCluster APIを検証していきます。
- kubernetesクラスタを構築する手段としてパブリッククラウドのマネージドサービス(GCPのGKE、AWSのEKSなど)を利用する方法、オンプレミス環境で構築ツールを使う方法(kubeadm、Kubesprayなど)がありますが、マルチクラウドや、オンプレミスを含めたハイブリッド環境でkubernetesクラスタを構築・運用する場合、Kubernetesクラスタの土台となるOS以下のプラットフォームはクラウド、VM、ベアメタルなど多岐に渡り、個別に管理する必要があります。
- Cluster APIはプラットフォーム毎に用意されたProviderという機構を使うことでプラットフォームの差分を吸収し、kubernetesクラスタを構築・運用することができます。
- 本記事では実際にCluster APIをインストールし、Kubernetesクラスタの構築・運用機能を確認します。
環境
-
ClusterAPI自体もKubernetes上のPodで動作するため、ClusterAPI用のKubernetesクラスタ(Management Clusterと言う)を構築する。
-
ClusterAPIを用いてKubernetesクラスタ(Workload Clusterと言う)をマルチノードで構築する。
-
Management Clusterはシングルノード構成とする。
-
Workload Clusterはマルチノード構成とする。
- Controller : 3台
- worker : 2台
-
Workload ClusterはManagement ClusterVMと同一セグメント上にあるVMに構築する。
-
Management ClusterのVM諸元は以下の通り
諸元 パラメータ cpu 2コア メモリ 4GB disk 20GB OS Ubuntu 20.04.6 LTS -
Workload ClusterのVM諸元は以下の通り
諸元 パラメータ cpu 4コア メモリ 4GB disk 20GB OS Ubuntu 20.04.6 LTS -
- 本記事では環境制約によりManagement ClusterとWorkload Clusterを同セグメントに配置するが、両者が同セグメントである必要は無い。複数のパブリッククラウド、オンプレミスクラウドを制御するためL3やインターネットを跨ぐ構成が可能である。
目次
確定しているものを記載し随時更新する。