Deploymentリソース
Contents
Deploymentリソース#
デプロイメント(deployment)リソースは、Podを配下に従えて、Podの管理や更新・ロールバックなどをサポートします。 このリソースを考えるときには、直下に存在することになるレプリカセット(replicaset/rs)についてもおさえておく必要があります。
とりあえずdeploymentを作成して、そこからrsに下って学んでいくと良いでしょう。
とりあえず作ってみる#
vscodeのK8s拡張により、スニペットが用意されます。こちらを使ってみると良いでしょう。
なお、適用(kubectl apply
)の前に、前の節で使っているPodリソース(1st/2nd)は消しておく方が良いでしょう。

Fig. 4 スニペット “deployment” の呼び出し#

Fig. 5 呼び出し結果#
呼び出されたスニペットをベースに、内容を書き換えていってください。
1apiVersion: apps/v1
2kind: Deployment
3metadata:
4 name: frontend
5spec:
6 # レプリカ数は初期値1なので実は書かなくてもOK(明示)
7 replicas: 1
8 selector:
9 matchLabels:
10 app: frontend
11 template:
12 metadata:
13 labels:
14 app: frontend
15 spec:
16 containers:
17 - name: frontend
18 image: nginx
19 resources:
20 limits:
21 memory: "128Mi"
22 cpu: "500m"
23 ports:
24 - containerPort: 80
まずはデプロイしてみましょう。様子をGUIで見たい方は、別途ダッシュボードを起動しておくと良いでしょう。
PS> kubectl apply -f deploy1.yml
deployment.apps/frontend created
ダッシュボード上で見た場合、1つのマニフェストですが、3つのワークロードが設定されています。

Fig. 6 ダッシュボード上の表示、3つのワークロードが出てきた#
出てきたものは3つあります。
デプロイメント(deployment)
ポッド(pod)
レプリカセット(replicaset)
このうちPodは前節で解説しているので、つ次にデプロイメントとレプリカセットを見ていきましょう。