🎯 レッスンの目的__HTMLTAG_68___
このレッスンを完了すると、次のことができるようになります:
- ✅ HA トポロジ用の kubeadm 構成ファイルを作成__HTMLTAG_73___
- ✅ 最初のコントロール プレーンが正常に初期化されました
- ✅ 証明書の構造と証明書のローテーションを理解する__HTMLTAG_77___
- ✅ kubeconfig をコピーし、kubectl を使用してクラスターにアクセス
- ✅ スタック型 etcd トポロジと外部 etcd の理解
パート 1: KUBERNETES HA トポロジー
1.1.スタック etcd と外部 etcd
オプション A: スタック etcd (ほとんどの場合に推奨)
コードブロック_0
✅ 少数のサーバー · ✅ シンプル · ❌ etcd + API の結合
オプション B: 外部 etcd
コードブロック_1
✅ 分離 · ✅ 独立したスケーリング · ❌ 6 台のサーバーが必要
👉 このコースにはスタック etcd を選択します。シンプルで、ほとんどの実稼働ワークロードに十分です。外部 etcd は、非常に大規模なクラスター (100 ノード以上) の場合にのみ必要です。
パート 2: KUBEADM 構成の作成
2.1. kubeadm-config.yaml の詳細
___コードブロック_2___2.2.重要なパラメータの説明
と一致します| パラメータ | 値 | 意味 |
|---|---|---|
| controlPlaneEndpoint | 10.10.20.100:6443 | HAProxy VIP — すべてのコンポーネントはここ経由で接続 |
| podSubnet | 10.244.0.0/16 | ポッド IP の CIDR (最大 65,534 ポッド) |
| サービスサブネット | 10.96.0.0/12 | ClusterIP サービスの CIDR (1,048,574 IP) |
| モード: ipvs | kube-proxy | IPVS 負荷分散 (サービスが多い場合は iptables よりも優れています) |
| strictARP: true | kube-proxy | _MetalLB L2 モードに必要 |
| cgroupドライバー: systemd | kubelet | containerd SystemdCgroup = true |
⚠️ CRITICAL: controlPlaneEndpoint master1 の IP ではなく、VIP (HAProxy) を指さなければなりません。これは HA の重要な要素です。
パート 3: クラスターの初期化
3.1.監査ログ ディレクトリを作成
___コードブロック_3___3.2. kubeadm init
を実行します。 ___コードブロック_4___⚠️ すぐに呼び出します:
--token: 結合ノードに使用されます (24 時間後に期限切れになります)--discovery-token-ca-cert-hash: CA 証明書の SHA256 ハッシュ--certificate-key: コントロール プレーン ノードに参加するために使用されます (2 時間後に期限切れになります)
3.3. kubeconfig
のセットアップ ___コードブロック_5___パート 4: 証明書の構造
4.1.アーキテクチャ証明書_
___コードブロック_6___4.2.証明書の有効期限を確認
___コードブロック_7___パート 5: 準備状況を確認
5.1. VIP 経由で API サーバーを確認
___コードブロック_8___5.2.結合コマンドの保存 (重要!)
___コードブロック_9___💡 重要なポイント
- controlPlaneEndpoint は、特定の IP ではなく、VIP (HAProxy) を指す必要があります
- _スタックされた etcdほとんどのデプロイメントに十分、etcd はコントロール プレーンで実行されます
- --upload-certs フラグは、コントロール プレーンに参加するための証明書を自動的に配布します
- _トークンの有効期限は 24 時間です、証明書キーの有効期限は 2 時間です — すぐに保存してノードに参加する必要があります
- kube-proxy の ipvs モード + strictARP は MetalLB の要件です
- CNI (Cilium) をインストールする前はノードのステータス NotReady は正常
🎯 演習
演習 1: コントロール プレーンの初期化__HTMLTAG_243___
- master1 に kubeadm-config.yaml を作成
- kubeadm init --config --upload-certs
を実行します。
- kubeconfig をセットアップし、kubectl がノードを取得することを確認
- 結合コマンドを呼び出します
演習 2: 証明書を確認する
- /etc/kubernetes/pki/ 内のすべての証明書をリストします
- kubeadm certs check-expiration を実行
- VIP 経由で API サーバーを確認します:curl -sk https://VIP:6443/healthz
📚 次の投稿
__HTMLTAG_268___レッスン 7: コントロール プレーンとワーカー ノードの結合では、master2、master3 を HA コントロール プレーンに結合し、ワーカー ノードをクラスターに結合します。