Raspberry Pi 4でKubernetes-Kubernetes cluster編-

オウルです。

今回はRaspberry Piで、マスターノート*1 + ワーカーノート*2構成のKubernetes cluster構築の最終であるKubernetes cluster編です。

Creating a single control-plane cluster with kubeadmにあるように、kubeadmを使用してベストプラクティスに準拠する、実行可能な最小限のKubernetesクラスターをブートストラップします。

前回の記事はこちらです。

次がローカル環境です。

Client OS Windows10
ネットワーク 無線LAN・Wi-Fi

事前チェック

kubeadmを使用してクラスターを作成する前に、Before you beginの内容をチェックします。

Ubuntu Server

ノード 対象
マスターノード
ワーカーノード1
ワーカーノード2

Swapの無効

iptablesの設定

次に、Letting iptables see bridged trafficに従って、iptablesがnftablesバックエンドを使用しないように設定します。

いよいよKubernetes cluster作成

いよいよ、kubeadmを使用してクラスターを作成していきます。それでは、公式のInstalling kubeadmに従って進めていきます。

dockerインストール

まず、コンテナランタイムをインストールします。ここでは、Dockerをインストールします。

ノード 対象
マスターノード
ワーカーノード1
ワーカーノード2

kubeadm, kubelet, kubectlインストール

次に、Installing kubeadm, kubelet and kubectlに従ってkubeadm、kubelet、kubectlをインストールします。

ノード 対象
マスターノード
ワーカーノード1
ワーカーノード2

kubeadm init

次にInitializing your control-plane nodeに従ってcontrol-plane node(マスターノード)の初期セットアップをします。

ノード 対象
マスターノード
ワーカーノード1
ワーカーノード2

kubeadm initの引数にPodネットワークのCIDRを指定します。calicoのデフォルトは、192.168.0.0/16みたいですが、ここは以前デプロイしたAKSの設定を使います。

”Your Kubernetes control-plane has initialized successfully!”と表示されると、最後にkubeadm joinのコマンドが表示されているはずです。後程、このコマンドを実行するのでメモしておいてください。仮に忘れた場合でも、トークンは再作成できるので、特に心配ありません。

kubectl

kubectlを使用できるように設定ファイルを配置します。先程のkubeadm initの実行結果にある通りに実行します。

calico

ポッドネットワークプラグインをインストールします。Installing a Pod network add-onに人気のポッドネットワークプラグインが紹介されているのでお好みで。ここではCalicoを指定します。

ワーカーノードをKubernetes clusterに参加

ここでkubeadm initの実行結果にあったkubeadm joinコマンドを実行してワーカーノードをKubernetes clusterに参加させます。

その前に、トークンを忘れた方、若しくはkubeadm init実行から24時間以上経過した方は、トークンを再作成します。

ノード 対象
マスターノード
ワーカーノード1
ワーカーノード2

ノード 対象
マスターノード
ワーカーノード1
ワーカーノード2

Nginxデプロイ

それでは簡単な動確です。Service typeをNodePortしてNginxデプロイします。

ノード 対象
マスターノード
ワーカーノード1
ワーカーノード2

nginx-deployment.yaml

Nginxデプロイ

アクセス

http://192.168.13.102:31594にアクセス。

nginx index.html

これでRaspberry Pi 4でKubernetesは完了です。よーやくスタートラインに立てた感じがします。

色々試したいことはありますが、まずは直近の目標としてService type:LoadBalancerを使いたいのでmetallbあたりを調べて適応しようかと思います。

「Raspberry Pi 4でKubernetes」シリーズ
  1. Raspberry Pi 4でk8s-パーツ購入編-
  2. Raspberry Pi 4でk8s-OSセットアップ編-
  3. Raspberry Pi 4でk8s-k8s cluster編-

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA