---
title: 開運研修kubernetes入門2026
tags:  #開運研修  
author: [サイボウズ開発本部](https://www.docswell.com/user/cybozu-tech)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/2JVVPZZ6JQ.jpg?width=480
description: 2026年エンジニア新人研修の資料です。
published: August 13, 26
canonical: https://www.docswell.com/s/cybozu-tech/ZWR3LY-Kubernetes%20Introduction%20Training%202026
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/2JVVPZZ6JQ.jpg)

Kubernetes入門
2026年度 開運研修
1


# Page. 2

![Page Image](https://bcdn.docswell.com/page/5EGLP442JL.jpg)

この講義の目的
▌サイボウズの新インフラ基盤Necoで使われているKuberenetesの技術について学ぶ
⚫Kubernetesについて
⚫Kubernetesの仕組み
⚫基本的なリソース
▌関連講義
⚫Docker入門・・・コンテナの詳しい仕組みについてはこちらで
⚫Neco入門・・・Necoの詳細はこちらで
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/4JQY2GG97P.jpg)

Kubernetesとは
▌コンテナを複数のサーバー上で協調動作、管理するためのシステム(=コンテナオーケストレーション)
主要な機能
⚫ 宣言的な構成の管理
⚫ 「あるべき状態」を定義する
⚫ スケジューリング
⚫ アプリケーションを複数のサーバーに適切にスケジュールする
⚫ サービスディスカバリーと負荷分散
⚫ アプリケーション間の通信を容易にし、負荷分散を可能にする
⚫ セルフヒーリング
⚫ コンテナに障害が発生した際の自動回復
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/K74WL58RE1.jpg)

なぜKubernetesが必要なのか
▌コンテナ1個を動かすだけならDockerだけでできる
▌実際の運用では
⚫ コンテナは複数個
⚫ 落ちた時に自動で復旧したい
⚫ サービスを止めずにアップデートしたい
⚫ 負荷分散したい
などの要件が必要となってくる
▌こうしたコンテナの管理を行うシステム→コンテナオーケストレーションシステム
▌Kubernetesはそのうちの一つ
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/LJ1YLW2VEG.jpg)

サイボウズとKubernetes
▌cybozu.comの新基盤「Neco」はKubernetesベース
⚫ 旧基盤からNeco基盤への移行が進行中
⚫ ※詳しくはNeco入門の講義で説明
▌運用チームはアプリケーションをデプロイするプラットフォームを提供
▌開発チームはそのプラットフォーム上にアプリケーションを構築し運用する
⚫ →アプリケーション開発者もKubernetesの知識が必要
開発チームがデプロイする
運用チームが提供
アプリケーション
アプリケーション
オブザーバービ
リティ基盤
ミドルウェア
ストレージ
Kubernetes
サーバー・ネットワーク
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/GJWGV6R372.jpg)

Kubernetesの基本的な概念
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/4EZL4YRG73.jpg)

Kubernetesクラスタの概要
▌Kubernetesは複数のサーバーで構成されるクラスタ
▌クラスタ上にPodと呼ばれる単位でコンテナをデプロイする
▌Kubernetes上に作成するものをリソースという
⚫ Pod、Deployment, Service…etc
Kubernetesクラスタ
ノード1
Pod
コンテナ
Pod
ノード2
Pod
コンテナ
ノード3
Pod
Pod
Pod
コンテナ
コンテナ
コンテナ
Pod
Pod
コンテナ
コンテナ
コンテナ
Pod
コンテナ
Pod
コンテナ
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/Y76W3DRQ7V.jpg)

Kubernetesのmanifest
▌Kubernetesはリソースの「あるべき状態」をmanifestで定義し、システムはそれを満たすように動作する
(=reconcile)
例: Podのmanifest
apiVersion: v1
kind: Pod
metadata:
name: my-first-pod
labels:
component: nginx
spec:
containers:
- name: nginx
image: nginx:latest
Podの定義
•
•
名前はmy-first-pod
component:nginxと
いうラベルを付与
◼ 宣言的
◼ 手順ではなく、状態を記述する
◼ 何度実行しても結果が同じになる
コンテナの定義
Nginxのコンテナを使う
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/G75ML38274.jpg)

Reconcileループ
▌あるべき状態と現在の状態を比較し、差分を無くすように処理を行う
▌結果があるべき状態に自動的に収束する
定義
変更
diff
あるべき状態
システム
コントローラ
実際の状態
観測
例: 3つのPodがある状態が「あるべき状態」
• 現在のPodの数を観測して
• 3個未満ならPodを増やす
• 4個以上ならPodを削除する
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/9J29LZK1ER.jpg)

Podの概要
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/DEY4QRN4JM.jpg)

Podの構造
▌アプリケーションをデプロイするための最小単位
⚫ 1個以上のコンテナをまとめたもの
▌Pod毎にIPアドレスが付与され、各コンテナはnetwork namespaceを共有する
▌ファイルシステムはコンテナ毎に別々
10.0.0.1
Podのmanifest(例)
apiVersion: v1
kind: Pod
metadata:
name: my-first-pod
labels:
component: nginx
spec:
containers:
- name: nginx
image: nginx:latest
Pod
Podの定義
•
•
名前はmy-first-pod
component:nginxと
いうラベルを付与
veth
Network namespace
コンテナ
コンテナ
プロセス
プロセス
FileSystem
FileSystem
コンテナの定義
Nginxのコンテナを使う
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/VJNYKDX678.jpg)

Pod内のネットワーク
▌同じPodのコンテナはnetwork namespaceを共有し、そのnetwork namespaceにveth(仮想ネットワークデバイス)
が付与され、PodのIPアドレスがセットされる
• コンテナ1で:3000
• コンテナ2で:8000
で待ち受けていた場合、
• 10.0.0.1:3000宛はコンテナ1
• 10.0.0.1:8000宛はコンテナ2
にパケットが流れる
client
curl 10.0.0.1:3000
Pod
veth
10.0.0.1
Network namespace
コンテナ1
コンテナ2
:3000
:8000
FileSystem
FileSystem
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/YE9PVG8RJ3.jpg)

クラスタ内の通信
▌PodはIPアドレスを持ち、クラスタ内のすべてのPodとNATなしでお互いに通信できる (Kubernetesのネットワーク要件)
⚫ 実現する方法は実装による(CNI Plugin)
⚫ Flannel(VXLAN), Calico(BGP), Cilium(eBPF)
Node Network
Pod Network
NIC
疎通可能
Pod
Pod
コンテナ
コンテナ
10.0.0.1
10.0.0.2
ノード1
NIC
NIC
Pod
Pod
Pod
コンテナ
コンテナ
コンテナ
10.0.0.3
10.0.0.4
10.0.0.5
ノード2
ノード3
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/GE8DPV8GED.jpg)

クラスタ外との通信
▌PodのIPアドレスはクラスタ内でしか疎通性がない
Internet
▌クラスタ外→Podの通信はロードバランサーで受け取る
⚫ ロードバランサーを表すKubernetesリソースが用意されている
▌Pod→クラスタ外の通信はNATやProxyなどで外に出る
NAT
LoadBalancer
Proxy
▌実現方法は実装による
Pod
Pod
コンテナ
コンテナ
ノード1
Pod
Pod
Pod
コンテナ
コンテナ
コンテナ
ノード2
ノード3
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/LELM15RX7R.jpg)

Kubernetesクラスタの構造
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/4JMYW3R3JW.jpg)

Kubernetesの構造
control-plane
etcd
kubeapiserver
kube-scheduler
kube-controllermanager
kubectl
Node
node
Node
Pod
コンテナ
Pod
Pod
コンテナ
コンテナ
kubelet
コンテナランタイム
kube-proxy
Linuxネットワーク
Node
・・・
Pod
Pod
コンテナ
kubelet
コンテナランタイム
kube-proxy
Linuxネットワーク
コンテナ
・・・
Pod
コンテナ
kubelet
コンテナランタイム
kube-proxy
Linuxネットワーク
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/PJR9YQRR79.jpg)

Kubernetesの構造
control-plane
control-plane
クラスタを管理するための領域
• etcd
• kube-apiserver
• kube-scheduler
• kube-controller-manager
etcd
kubeapiserver
kube-scheduler
kube-controllermanager
kubectl
CLIツールやプログ
ラム等からの操作
Node
node
Node
Pod
コンテナ
Pod
Pod
コンテナ
コンテナ
kubelet
コンテナランタイム
kube-proxy
Linuxネットワーク
Node
・・・
kubelet
kube-proxy
Pod
コンテナ
Pod
コンテナ
Pod
コンテナ
・・・ kubelet
コンテナランタイム
Node
Podを動かすためのサーバー(数台~数千台)
kube-proxy
Linuxネットワーク
Linuxネットワーク
• kubelet
• kube-proxy
コンテナランタイム
17


# Page. 18

![Page Image](https://bcdn.docswell.com/page/PEXQG5RYJX.jpg)

コントロールプレーン
control-plane
control-plane
クラスタを管理するための領域
• etcd
• kube-apiserver
• kube-scheduler
• kube-controller-manager
etcd
kubeapiserver
kube-scheduler
kube-controllermanager
kubectl
Node
node
Node
Pod
コンテナ
Pod
Pod
コンテナ
コンテナ
kubelet
コンテナランタイム
kube-proxy
Linuxネットワーク
Node
・・・
Pod
Pod
コンテナ
kubelet
コンテナランタイム
kube-proxy
Linuxネットワーク
コンテナ
・・・
Pod
コンテナ
kubelet
コンテナランタイム
kube-proxy
Linuxネットワーク


# Page. 19

![Page Image](https://bcdn.docswell.com/page/3EK946R4ED.jpg)

コントロールプレーンコンポーネント
▌ etcd
•
分散KVS(Key-Value Store)
•
リソースの情報が保存されるデータベースのようなもの
▌ kube-apiserver
•
リソースにアクセスするためのAPIサーバ
•
ユーザーや各コンポーネントからの操作はすべてkube-apiserverを経由する
•
etcdに保存された情報を用いる
▌ kube-scheduler
•
作成されたPodをどのNodeに配置するかを決定する
•
配置には様々な条件式や設定が存在する
▌ kube-controller-manager
•
リソースを管理するコンポーネント
•
リソースの状態を監視し、あるべき状態になるように操作する
control-plane
kubeapiserver
etcd
kube-scheduler
kube-controllermanager
19


# Page. 20

![Page Image](https://bcdn.docswell.com/page/L73WL68D75.jpg)

ノード
control-plane
etcd
kubeapiserver
kube-scheduler
kube-controllermanager
kubectl
Node
node
Node
Pod
コンテナ
Pod
Pod
コンテナ
コンテナ
kubelet
コンテナランタイム
kube-proxy
Linuxネットワーク
Node
・・・
Pod
コンテナ
Pod
コンテナ
Pod
コンテナ
・・・ kubelet
Node コンテナランタイム
コンテナランタイム
Podを動かすためのサーバー(数台~数千台)
kube-proxy
• kubelet
kube-proxy
Linuxネットワーク
Linuxネットワーク
• kube-proxy
kubelet
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/87DKNVM2JG.jpg)

ノードコンポーネント
▌kubelet
⚫ Node上のコンテナを管理する
⚫ スケジュールされたPodの作成や死活監視などを行う
⚫ コンテナランタイムのインタフェース(CRI)を通じてコンテナの操作を行う
▌kube-proxy
⚫ Podへの通信の設定を行うコンポーネント
⚫ Linuxのネットワーク機能を用いてパケットの転送を行う
Pod
コンテナ
Pod
コンテナ
⚫ CNIの選択によってはkube-proxyが無く別の仕組みの場合もある
kubelet
コンテナランタイム
kube-proxy
Linuxネットワーク
21


# Page. 22

![Page Image](https://bcdn.docswell.com/page/VJPK5VRLE8.jpg)

Podが作られるまで
22


# Page. 23

![Page Image](https://bcdn.docswell.com/page/2EVVPZR6EQ.jpg)

Podが作られるまで
1. manifestを適用するとetcdにPodのmanifestが保存される
2. kube-schedulerが新しいPodの作成を検知し、スケジューリングする
⚫ Podのmanifestにスケジュールしたノードが書かれる
3. 各ノードのkubeletが、自分のノードにPodがスケジュールされたことを検知し、コンテナランタイムを通じてコンテナを作成
する
control-plane
etcd
②ノードにスケジュール
Pod
コンテナ
kubectl
Podのmanifestを適用
kubeapiserver
watch
kube-scheduler
①Podの作成を検知
③Kubeletが自分のノードにスケジュールされたことを検知
kubelet
コンテナランタイム
④コンテナランタイムを通じてコンテナ作成
23


# Page. 24

![Page Image](https://bcdn.docswell.com/page/57GLP4M2EL.jpg)

Kubernetesの代表的なリソース
24


# Page. 25

![Page Image](https://bcdn.docswell.com/page/4EQY2GR9JP.jpg)

Pod（再掲）
▌アプリケーションをデプロイするための最小単位
⚫ 1個以上のコンテナをまとめたもの
▌Pod毎にIPアドレスが付与され、各コンテナはnetwork namespaceを共有する
▌ファイルシステムはコンテナ毎に別々
10.0.0.1
Podのmanifest(例)
apiVersion: v1
kind: Pod
metadata:
name: my-first-pod
labels:
component: nginx
spec:
containers:
- name: nginx
image: nginx:latest
Pod
Podの定義
•
•
名前はmy-first-pod
component:nginxと
いうラベルを付与
veth
Network namespace
コンテナ
コンテナ
プロセス
プロセス
FileSystem
FileSystem
コンテナの定義
Nginxのコンテナを使う
25


# Page. 26

![Page Image](https://bcdn.docswell.com/page/KJ4WL5QR71.jpg)

ReplicaSet ・ Deployment
▌ReplicaSet
⚫ Podをテンプレートで複数作成するリソース
⚫ ※Replicaset単体で使う事はほぼない
▌Deployment
⚫ ステートレスなアプリケーションをデプロイする際
に使うリソース
⚫ ReplicaSetを用いてローリングアップデートの
機能などを提供する
Deployment
ReplicaSet
Pod
Pod
Pod
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
component: nginx
spec:
# Podの数
replicas: 3
selector:
matchLabels:
component: nginx
template:
# 作成するPodのテンプレート
metadata:
labels:
component: nginx
spec:
containers:
- name: nginx
image: nginx:1.20
26


# Page. 27

![Page Image](https://bcdn.docswell.com/page/LE1YLWPV7G.jpg)

ReplicaSetのセルフヒーリング
▌ReplicaSetは指定した数のPodが動作することを保証する
▌Node故障などで動いているPodが減ると、新しくPodを作り直す
ReplicaSet
Pod
Pod
コンテナ
コンテナ
Pod
コンテナ
replica=3
ノード1
Pod
Pod
コンテナ
ノード2
コンテナ
故障
Pod
コンテナ
ノード1
ノード2
Nodeの故障でPodを作り直す例
27


# Page. 28

![Page Image](https://bcdn.docswell.com/page/GEWGV623J2.jpg)

Deploymentのローリングアップデート
▌コンテナのアップデートなど、再起動を伴う場合に提供しているサービスが止まらないように、一気に更新するのではなく少し
づづ更新を行う仕組み
▌ReplicaSetを新旧で用意しreplica数を変えることで実現する
old
Pod
v1
Pod
v1
Pod
v1
new
Pod
v1
Pod
v2
Pod
v1
Pod
v1
Pod
v2
Pod
v2
Pod
v1
Pod
v1
Pod
v2
Pod
v2
1. 新しいReplicaSetを作る
2. 新しいReplicaSetの方に新しいPodを1個作る
3. 古いReplicaSetのPodを1個消す
4. 繰り返す
新しいのを増やしてから古いのを消すか、古いのを消してから
新しいのを増やすか、また1度にどれぐらいの量行うかと言っ
た戦略は調整可能
28


# Page. 29

![Page Image](https://bcdn.docswell.com/page/47ZL4YDGJ3.jpg)

Service
▌Podとの通信を抽象化する
▌負荷分散とサービスディスカバリの機能を持つ
▌4つのタイプがある
⚫ ClusterIP: クラスタ内のみでアクセスできる
⚫ NodePort: 各Nodeの指定したポートに来たトラフィックをPodに転送する
⚫ LoadBalancer: 外部のロードバランサーを利用してトラフィックを転送する
⚫ ExternalName:クラスタ外のドメインをServiceのCNAMEに登録する
29


# Page. 30

![Page Image](https://bcdn.docswell.com/page/YJ6W3D1QJV.jpg)

クラスタ内アクセスのためのService
▌type: ClusterIPはクラスタ内でアクセスするためのService
⚫ 作成するとServiceのIPアドレスが作成される。PodからはDNS名で引ける
⚫ ServiceのバックエンドとなるPodはServiceのmanifest上のSelectorで指定する
⚫ Podの名前やIPアドレスはPodが作り直されるたびに変わるので、Pod間で通信をする際は基本的にClusterIPを挟んで通信する
apiVersion: v1
kind: Service
metadata:
name: example
spec:
type: CluterIP
selector:
component: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
10.64.0.1
Service:ClusterIP
curl example.defualt.svc.cluster.local
Deployment
# バックエンドとなるPodを指定する
Pod
Pod
Pod
10.0.0.1 10.0.0.2 10.0.0.3
Pod
client
30


# Page. 31

![Page Image](https://bcdn.docswell.com/page/GJ5ML342J4.jpg)

クラスタ外アクセスのためのService
▌type: LoadBalancer
▌クラスタ外からのアクセスを受け付けるためのService
クラスタ外
▌作成するとServiceにクラスタ外から疎通可能なIPアドレスが振られる
▌リソースとしてはKubernetes側で用意されているが、実装はCNIによる
⚫ L2、 BGP、eBPF・・・
apiVersion: v1
kind: Service
metadata:
name: example
spec:
type: LoadBalancer
selector:
component: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
Service:
LoadBalancer
Pod
Pod
Pod
Deployment
31


# Page. 32

![Page Image](https://bcdn.docswell.com/page/9E29LZV17R.jpg)

その他のType
▌Serviceはその他のTypeもありますがここでは省略します。
⚫ ClusterIP: クラスタ内のみでアクセスできる
⚫ NodePort: 各Nodeの指定したポートに来たトラフィックをPodに転送する
⚫ LoadBalancer: 外部のロードバランサーを利用してトラフィックを転送する
⚫ ExternalName:クラスタ外のドメインをServiceのCNAMEに登録する
32


# Page. 33

![Page Image](https://bcdn.docswell.com/page/D7Y4QR34EM.jpg)

簡単なアプリケーションのデプロイ
▌例:
⚫ WebアプリケーションをKubernetes上でデプロイして外部からアクセスしたい
⚫ Webアプリケーションは:3000で待ち受ける
クラスタ外
▌アプリケーションはDeploymentで作成
Service:
LoadBalancer
▌Serviceを作成して外部からアクセスできるようにする
Pod
Pod
Pod
Deployment
Node
Node
33


# Page. 34

![Page Image](https://bcdn.docswell.com/page/VENYKDV6J8.jpg)

manifest
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-app-deployment
labels:
component: web-app
spec:
replicas: 3
selector:
matchLabels:
component: web-app
template:
metadata:
labels:
component: web-app
spec:
containers:
- name: web-app
image: web-app:1.0
apiVersion: v1
kind: Service
metadata:
name: web-app-svc
spec:
type: LoadBalancer
selector:
component: web-app
ports:
- protocol: TCP
port: 80
targetPort: 3000
#Podに付与したラベルを選択
#公開するPort
#PodのPort
クラスタ外
#Podに付与するラベル
Service:
LoadBalancer
Pod
Pod
Pod
Deployment
34


# Page. 35

![Page Image](https://bcdn.docswell.com/page/Y79PVG6RE3.jpg)

ローカルで動くKubernetesクラスタ
▌kindというソフトウェアで、ローカル環境にKubernetesクラスタを作ることができる
▌DockerコンテナでKubernetesノードを動かし、その中でPodが動作する
⚫ Docker in Docker
▌Dockerで動くため、LoadBalancerを使うには工夫が必要
⚫ https://kind.sigs.k8s.io/docs/user/loadbalancer/
https://kind.sigs.k8s.io/
35


# Page. 36

![Page Image](https://bcdn.docswell.com/page/G78DPVZG7D.jpg)

Kubernetesクラスタにデプロイしてみる
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-app-deployment
labels:
component: web-app
spec:
replicas: 3
selector:
matchLabels:
component: web-app
template:
metadata:
labels:
component: web-app
spec:
containers:
- name: web-app
image: web-app:1.0
❯ kubectl apply -f manifest.yaml
deployment.apps /web-app-deployment created
service/web-app-svc created
apiVersion: v1
kind: Service
metadata:
name: web-app-svc
spec:
type: LoadBalancer
selector:
component: web-app
ports:
- protocol: TCP
port: 80
targetPort: 3000
kubectl apply –f
でmanifestを適用できる
36


# Page. 37

![Page Image](https://bcdn.docswell.com/page/L7LM15DXJR.jpg)

Kubernetesクラスタにデプロイしてみる
❯ kubectl get deployment
NAME
READY UP-TO-DATE AVAILABLE AGE
web-app-deployment 3/3
3
3
3m52s
❯ kubectl get pod –o wide
NAME
READY STATUS RESTARTS AGE
web-app-deployment-6466b654cd-dbblx 1/1
Running 0
web-app-deployment-6466b654cd-hqcx2 1/1
Running 0
web-app-deployment-6466b654cd-rrmnw 1/1
Running 0
IP
NODE
NOMINATED NODE READINESS GATES
5m8s 10.244.0.20 kind-control-plane &lt;none&gt;
&lt;none&gt;
5m8s 10.244.0.19 kind-control-plane &lt;none&gt;
&lt;none&gt;
5m8s 10.244.0.18 kind-control-plane &lt;none&gt;
&lt;none&gt;
❯ kubectl get service
NAME
TYPE
CLUSTER-IP
EXTERNAL-IP PORT(S)
AGE
kubernetes ClusterIP
10.96.0.1
&lt;none&gt;
443/TCP
257d
web-app-svc LoadBalancer 10.96.255.234 172.18.0.3 80:31129/TCP 3m58s
外部からアクセスできるIPアドレス
❯ curl -I 172.18.0.3
HTTP/1.1 200 OK
Content-Type: text/html
Date: Tue, 31 Mar 2026 01:30:49 GMT
Content-Length: 1174
37


# Page. 38

![Page Image](https://bcdn.docswell.com/page/4EMYW3P3EW.jpg)

まとめ
▌Kubernetesの概要、仕組み、代表的なリソースについて紹介しました
⚫ Kubernetesの概要
⚫ Kubernetesクラスタの内部構成
⚫ manifestとReconcileループの概念
⚫ 代表的なリソース: Pod・Deployment・Service
▌ここまでで、簡単なアプリケーションであればデプロイできるようになりました
38


# Page. 39

![Page Image](https://bcdn.docswell.com/page/PER9YQ1RJ9.jpg)

参考文献
▌より詳しいことを学びたい場合、以下の情報をお勧めしています。
⚫ 全般
⚫ 公式ドキュメント https://kubernetes.io/docs/concepts/overview/
⚫ Kubernetes完全ガイド https://book.impress.co.jp/books /1119101148
⚫ ネットワーク
⚫ 今こそ学びたいKubernetesネットワーク ～CNIが繋ぐNWとプラットフォームの「フラッと」な対話
⚫ https://speakerdeck.com/logica0419/kubernetes-network-janog57
⚫ Kubernetesネットワーク 徹底解説
⚫ https://zenn.dev/taisho6339/books/fc6facfb640d242dc7ec
⚫ Kubernetesのコントローラーについて
⚫ つくって学ぶKubebuilder https://zoetrope.github.io/kubebuilder-training/
39


