kubernetesには種類がある。どのkubernetesを使用するのか決めないといけない
AWSやAzure、GCPなどのクラウドサービスではクラウド用にkubernetesカスタムしたkubernetesをサービスとして提供している
よって互換性がある。互換性があるソフトウェアやサービスは「CerficiedKubernetes」という認定を受けていて公式サイトでも提供されている
kubernetesの構築は外注することが多い
なぜならサービスごとにふられるclusterIPに対してロードバランシングするにはそれに対する機器を用意する必要あり
ドライバの相性の問題もあるため機器選定に関する知識も必要になる
そのため一からの構築は難しい
クラウドの場合はこの問題を解決した状態で提供されているので詳しくなくても大丈夫
AWSの場合ならEC2(サーバー機能サービス)かFargate(コンテナの実行エンジンサービス)をワーカーノードとして構築しEKS(マスターノード)で管理する
EC2かFargateの台数だけ料金がかかる
よって勉強するにはコストが高いのでデスクトップ版のkubernetesを使用する
LinuxだとMinikubeというものを使用する
これらは一台の物理的マシンにマスターノード、とワーカーノードを作成できる
本来なら物理的マスターノードに物理的ワーカーノードを複数用意しなくてはならない
デスクトップ版のkubernetesを使用する
Dockerデスクトップの設定をクリック
「kubernetes」→「Enable kubernetes」にチェックをつける
「Install」が出てきたらすべてInstallする
時間は少しかかる
物理的なマシンのkubernetes構築
マスターとワーカーを合わせた台数を用意し、UbuntuなどのLinuxOSをインストール
■下記を入れる必要があるが、「kubeadm」という構築ツールを使用すると比較的手軽にできる
マスターノードにするマシンにはkubernetes、CNI、etcdを入れる
ワーカーノードにするマシンにはDockerなどのコンテナエンジンとkubernetes、CNIを入れる
上記を導入後マスターとワーカーそれぞれでそのマシンが何を担当するのかを設定する
マスターでkubeadm initで初期設定した後、ワーカーでkubeadm joinを実行すると、マスターとワーカーがつながる
「kubeadm」以外にも「conjure-up」「Tectonic」などほかのインストールツールもある