Slide 1

Slide 1 text

Kubernetes の クラスタ内ネットワーク概要 第11回分散システム集会 @honahuku

Slide 2

Slide 2 text

自己紹介 Honahuku(ほなふく) 分散システム集会 ● この前情報処理学会全国大会 用の論文を書き終わった ● 手が回ってない自宅 k8s クラ スタの盆栽いじりを再開したい ● 寒すぎて風邪ひきそう

Slide 3

Slide 3 text

分散システムとは(短縮版)

Slide 4

Slide 4 text

分散システム集会 ● 複数ノードにおいて処理を分散して行うもの(ほなふくが勝手に 定義) ● ジョブ型とコンテナ型(ほなふくが勝手に定義) ● ユーザーからのリクエストを受け付けるかどうか ● k8s は web のホストによく使われる 分散システムとは [1] Slurm Workload Manager [2] Kubernetes

Slide 5

Slide 5 text

kubernetes におけるネットワーク

Slide 6

Slide 6 text

第4回分散システム集会 ● Node 同士を繋ぐネット ワーク ● トンネリング化とかはさ れていないことが多い ● k8s が考慮する範囲の 対象外であることが多い kubernetes におけるネットワーク ※1 分散システム集会 Node Pod ※1 今回のLTでは「ネットワーク」と言ったときに全てコンピューターネットワークのことを指すことにします ● k8s でのネットワークの 話題はこっちが多い印象 ● クラスタの Node に来 たトラフィックを捌く ● 基本的にクラスタが自動 でルーティングしてくれ る

Slide 7

Slide 7 text

第4回分散システム集会 Node と Pod の概念 分散システム集会 Node Deployment, ReplicaSet Pod Container Container (Sidecar など)

Slide 8

Slide 8 text

コンテナにリクエストが届くまで

Slide 9

Slide 9 text

外からのトラフィックは直接 Node に送信される?

Slide 10

Slide 10 text

第4回分散システム集会 1. Ingress(≒LoadBalancer) にリクエストが届く※2 2. Ingress から Service に流れる 3. Service から Pod に流れる コンテナにリクエストが届くまで 分散システム集会 ※2 NodePort など定義する Service の種類によってはリクエストが直接 Node に届く場合もあります [3] Kubernetesトラフィックルーティング徹底解説/Kubernetes-traffic-deep-dive

Slide 11

Slide 11 text

第4回分散システム集会 Ingress [4] Ingress | Kubernetes 分散システム集会 ● Service に対する外部からのアクセスを管理する ○ リクエストのPATHベースルーティング ○ SSL 証明書の管理 ○ などなど ● (最近は gateway というリソースに移行が進みつつある)

Slide 12

Slide 12 text

第4回分散システム集会 Service 分散システム集会 ● Pod に対するリクエストをまとめてくれるやつ ● Pod は揮発するので代わりに Service が Ingress とかからのリクエストを受ける ○ (ノードのメンテナンスとか) ● クラスタ内で有効なDNSレコードを持ってる ○ hoge-svc.hoge-namespace.svc.cluster.l ocal ○ 同様のレコードは Pod も持ってる

Slide 13

Slide 13 text

Service と Pod のネットワークの実態

Slide 14

Slide 14 text

第4回分散システム集会 Node と Service と Pod [5] k8s のネットワーク 分散システム集会 ● kube-proxy と CNI による overlay ネットワーク

Slide 15

Slide 15 text

まとめ

Slide 16

Slide 16 text

第4回分散システム集会 ● Ingress, Service, Pod というリソースによしなに ルーティングされる ● kube-proxy や CNI といったコンポーネントがいる まとめ 分散システム集会

Slide 17

Slide 17 text

参考文献

Slide 18

Slide 18 text

参考文献 第4回分散システム集会 ● [1] Slurm Workload Manager https://slurm.schedmd.com/ ● [2] Kubernetes https://kubernetes.io/ ● [3] Kubernetesトラフィックルーティング徹底解説 /Kubernetes-traffic-deep-dive https://speakerdeck.com/oracle4engineer/kubernetes-traffic-d eep-dive?slide=11 ● [4] Ingress | Kubernetes https://kubernetes.io/ja/docs/concepts/services-networking/in gress/ ● [5] コンテナネイティブロードバランシングの話 / A story about container native load balancing https://speakerdeck.com/inductor/a-story-about-container-nati ve-load-balancing 分散システム集会