Day15-有关系就没关系 Deployment 和 ReplicaSet(二)

在前一章介绍完ReplicaSet,再来会介绍建立Deployment。
前一章有提到,基本上都是会用Deployment去控制ReplicaSet,下面的教学就可以看出建立Deployment跟ReplicaSet有何关系。

建立Deployment

首先建立一个nginx-example.yaml,并将下面内容复制进去。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

并在该yaml档所在的目录执行 apply

kubectl apply -f nginx-example.yaml

这样就可以建立Deployment,如果要确认有没有建立成功,则可以使用get deployments

kubectl get deployments

可以看到下图有成功建立,如果你这时get pods的话,可以看到有三个pod正在建立。

https://ithelp.ithome.com.tw/upload/images/20210922/201296072X5z603fko.png

并且透过下图可知,在建立完Deployment前,是没有ReplicaSet的,但是建立之後,就会出现名为nginx-deployment-7848d4b86f的ReplicaSet。
https://ithelp.ithome.com.tw/upload/images/20210923/20129607cJXZnJ32o5.png
并且看到DESIRED跟CURRENT都是3,代表他期望有三个pod且当前有三个pod,不过由於READY是0,代表pod都还没准备好,等一下再做get rs,就可以发现READY变成3了,代表pod都已经准备好可以运作了。

更新Deployment内image 版本

透过下面的指令,可以更新Deployment内image,以这个范例来说,可以将pod内的image从1.14.2改成1.16.1

kubectl set image deployment/nginx-deployment nginx=nginx:1.16.1 --record

这样可以将image更新,这时去get pods可以看到pods有重启,但是Deployment并没有重启。
https://ithelp.ithome.com.tw/upload/images/20210922/20129607DEA73DzHkt.png

删除Deployment

如果已经不再需要Deployment,则可以用下面的指令删除Deployment。

 kubectl delete deployment nginx-deployment

由於前面的metadata.name为nginx-deployment,所以这边删除要指定删nginx-deployment。
删除後就会像下面这样:
https://ithelp.ithome.com.tw/upload/images/20210922/20129607hIZ2p0UmSZ.png

在这章可以看出Deployment跟ReplicaSet是互相依靠的,就算当下没有ReplicaSet,产生Deployment时也会顺便产生一份。
在上面有示范更新Deployment内image,会看到他先建立新的pod,再把旧的pod给下掉,这种方式跟你使用哪种strategy有关,因此下一章会介绍Deployment所使用的不同strategy。


<<:  让按钮来个酷动态! 操纵DOM事件:CSS 篇 (一)

>>:  [08] 回声多个 media 讯息

[2021铁人赛 Day09] General Skills 06

引言 昨天的题目让大家知道可以做反组译这件事, 其实这是一个大主题,归在逆向工程中, 该分类会大量...

字母呈现大小写混合转换的波浪型态之C#写法(墨西哥波浪舞)

就是在某天,得到一题关於组字串的练习题,对於小弱弱如我的来说 =.=a 需要绞尽脑汁的狂烧脑去解这一...

Day24:Hot flow - State Flow (part II)

前一篇文章中,我们介绍了 State Flow 以及它的使用方式,本篇将继续讨论 State Flo...

DAY 1:Hey! Go Design Patterns

大家好,本系列文章探讨经典 Design Patterns 在现代语言 Golang 的演变。虽然...

Day 4:88. Merge Sorted Array

今日题目 题目连结:88. Merge Sorted Array 题目主题:Array、Two Po...