🎯 レッスンの目的__HTMLTAG_68___
このレッスンを完了すると、次のことができるようになります:
- ✅ eBPF と、Cilium が従来の CNI よりも優れている理由を理解します
- ✅ Helm を使用して Cilium をインストールし、接続を確認します
- ✅ kube-proxy を Cilium eBPF に置き換えます
- ✅ ネットワーク可観測性のためにハッブルを有効にする
- ✅ ネットワーク ポリシー L3/L4/L7 の作成
パート 1: CILIUM を選ぶ理由
1.1.人気の CNI を比較
| 基準__HTMLTAG_93___ | Calico | フランネル | Cilium |
|---|---|---|---|
| データプレーン | iptables/eBPF | VXLAN | eBPF ネイティブ |
| ネットワークポリシー | L3/L4 | ❌ サポートされていません | L3/L4/L7 |
| パフォーマンス | 良い | 平均 | 素晴らしい |
| 可観測性 | 基本 | ❌ | ハッブル (深層) |
| kube プロキシの置き換え | _❌ | ❌ | ✅ 全文_ |
| 暗号化 (WireGuard) | ✅ | _❌ | ✅ ネイティブ |
| _サービス メッシュの統合 | ❌_ | _❌ | ✅ Istio/Envoy |
1.2. eBPF とは何ですか?
___コードブロック_0___パート 2: CILIUM セットアップ
2.1. Helm をインストール
___コードブロック_1___2.2. kube-proxy を削除します (オプション - Cilium に置き換えます)
___コードブロック_2___2.3. Helm
を使用して Cilium をインストールする ___コードブロック_3___2.4.重要なパラメータの説明
の置き換え| パラメータ | 値 | 意味__HTMLTAG_198___ |
|---|---|---|
| kubeProxyReplacement | 本当 | Cilium は kube-proxy を完全に置き換えます__HTMLTAG_208___ |
| k8sサービスホスト | 10.10.20.100 | VIP (HAProxy) を Cilium に接続して API サーバー |
| ipam.mode | kubernetes_ | K8s IPAM を使用する (オンプレミスに適しています) |
| hubble.relay.enabled | true | フロー集約のためにハッブルリレーを有効にする |
| hubble.ui.有効 | 本当 | Hubble UI (Web ダッシュボード) を有効にする |
| オペレーター.レプリカ__HTMLTAG_244___ | 2 | Cilium オペレーター用 HA |
| bpf.マスカレード | 本当 | eBPF マスカレードによる iptables SNAT |
| loadBalancer.アルゴリズム | リニアモーターカー | スケーリング時の中断を軽減する一貫したハッシュ |
| 帯域幅マネージャー | 有効 + bbr | EDT ベースのレート制限 + BBR 輻輳制御 |
2.5。 Cilium のインストールを確認
___コードブロック_4___パート 3: CILIUM CLI — 接続テスト
3.1. Cilium CLI
をインストールする ___コードブロック_5___3.2.繊毛ステータス
___コードブロック_6___3.3.接続テスト
___コードブロック_7___パート 4: ハッブル観測能力
4.1. Hubble CLI
をインストールする ___コードブロック_8___4.2.ネットワーク フローの表示
___コードブロック_9___4.3.ハッブル UI
___コードブロック_10___パート 5: CILIUM によるネットワーク ポリシー
5.1.テスト アプリケーションをデプロイ
___コードブロック_11___5.2.デフォルトのすべて拒否ポリシー
___コードブロック_12___コードブロック_13
5.3.フロントエンド→バックエンドを許可
___コードブロック_14___コードブロック_15
5.4. Cilium L7 ポリシー (HTTP 対応)
___コードブロック_16___コードブロック_17
パート 6: トラブルシューティング
6.1.よくある問題
___コードブロック_18___6.2.テスト リソースのクリーンアップ
___コードブロック_19___💡 重要なポイント
- Cilium eBPF 優れた: O(1) ルックアップ、kube-proxy を置き換える、L7 ポリシー
- kubeProxyReplacement=true: Cilium がすべてのサービスを処理するため、kube-proxy は必要ありません
- Hubble による深い可観測性 — フロー、DNS クエリ、HTTP リクエストを参照
- _ネットワークポリシー: デフォルトの拒否 + ホワイトリストがベスト プラクティス
- CiliumNetworkPolicy K8s NetworkPolicy を拡張し、L7 ルール (HTTP、gRPC、Kafka) を追加
- _cilium 接続テスト__HTMLTAG_341___: 46 個のテストを実行してネットワークを自動的に検証
🎯 演習
演習 1: Cilium のインストール
- Helm をインストールし、kubeProxyReplacement を使用して Cilium をインストール
- すべてのノードの準備が完了していることを確認
- 繊毛ステータスと繊毛接続テストを実行
演習 2: ネットワーク ポリシー ラボ
- 名前空間を作成し、3 つのポッド (フロントエンド、バックエンド、データベース) をデプロイ
- デフォルトのすべてを拒否する
- ポリシーの作成: フロントエンド→バックエンド (HTTP GET)、バックエンド→データベース (TCP 5432)
- _承認されたトラフィックのみが機能することを確認
📚 次の投稿
__HTMLTAG_373___レッスン 9: MetalLB — オンプレミス用ロードバランサーでは、MetalLB をインストールして、タイプ LoadBalancer でクラスターの外部にサービスを公開します。