前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【K8s】下的kubectl的Deployment部署Nginx

【K8s】下的kubectl的Deployment部署Nginx

作者头像
Xiongan-桃子
发布2023-06-10 17:19:54
6151
发布2023-06-10 17:19:54
举报
文章被收录于专栏:桃子小白

部署Nginx服务

简介:使用Deployment实现其滚动更新管理。

创建 Deployment

在 master 节点创建/labfile/deployfile 目录,用于保存配置文件。后续创建deployment 的 yaml 文件保存在此处。

代码语言:javascript
复制
[root@master ~]# mkdir labfile
[root@master ~]# cd labfile/
[root@master labfile]# mkdir deplofile
[root@master labfile]# cd deplofile/
[root@master deplofile]# vim nginx-dy.yaml
//以下内容为deployment文件
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-dy
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80

部署该 nginx-dy

代码语言:javascript
复制
[root@master deplofile]# kubectl apply -f nginx-dy.yaml 
deployment.apps/nginx-dy created

查看详细信息、创建结果和replicaset

68368221905
68368221905
68368214323
68368214323

已经创建好:

68368227777
68368227777

弹性伸缩 Deployment

编辑之前创建的nginx-dy.yaml,将副本数量修改5

68368234327
68368234327

应用变更后的yaml文件

代码语言:javascript
复制
[root@master deplofile]# kubectl apply -f nginx-dy.yaml 
deployment.apps/nginx-dy configured
[root@master deplofile]# kubectl get pod
68368242410
68368242410

滚动升级 deployment

复制ng原版为两个新版本

代码语言:javascript
复制
[root@master deplofile]# cp nginx-dy.yaml nginx-dy-v2.yaml 
[root@master deplofile]# cp nginx-dy.yaml nginx-dy-v3.yaml
68368254157
68368254157
68368256811
68368256811

进行滚动更新

代码语言:javascript
复制
[root@master deplofile]# kubectl apply -f nginx-dy-v2.yaml --record

查看更新状态,上为更新前版本

68368327387
68368327387

查看replicaset,看到一个新的,里面有5个pod,原有的pod不存在了

68368337301
68368337301

查看deployment更新事件

68368335839
68368335839

更新到v3版本

代码语言:javascript
复制
[root@master deplofile]# kubectl apply -f nginx-dy-v3.yaml --record
68368352563
68368352563

查看deployment的更新记录

代码语言:javascript
复制
[root@master deplofile]# kubectl rollout history deployment nginx-dy
68368370547
68368370547

查看历史版本 2 的详细信息

代码语言:javascript
复制
[root@master deplofile]# kubectl rollout history deployment nginx-dy --revision=2
68368375317
68368375317

回滚到历史版本2

代码语言:javascript
复制
[root@master deplofile]# kubectl rollout undo deployment nginx-dy --to-revision=2
68368385037
68368385037

可以看到已经回滚到了版本2

删除deployment

代码语言:javascript
复制
[root@master deplofile]# kubectl delete deployment nginx-dy
68368392541
68368392541

实训

查看deployment信息

68368444955
68368444955

ymal文件搭建httpd

通过 yaml 文件创建一个 deployment,有如下要求:

  1. 使用 httpd:2.4
  2. 4副本
代码语言:javascript
复制
[root@master deplofile]# vim httpd-v1.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: httpd-dy
  labels:
    app: httpd
spec:
  replicas: 4
  selector:
    matchLabels:
      app: httpd
  template:
    metadata:
      labels:
        app: httpd
    spec:
      containers:
      - name: httpd
        image: httpd:2.4
        ports:
        - containerPort: 8080

开始创建

68368496033
68368496033

将上面创建的deployment删除一个pod,变成副本3

编辑yaml文件

更新

68368512413
68368512413

升级该 deployment 的镜像版本至 latest。

复制v1版本yaml为v2版本,并修改镜像版本号

68368559406
68368559406

进行更新升级,看到版本已经升级到了latest

68368561618
68368561618

寻找该 deployment 中各个 pod 运行节点,deployment 创建的时间戳(Creation Timestamp)。

68368575679
68368575679
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023 年 05 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 部署Nginx服务
    • 创建 Deployment
      • 部署该 nginx-dy
    • 弹性伸缩 Deployment
      • 滚动升级 deployment
        • 进行滚动更新
        • 回滚到历史版本2
        • 删除deployment
      • 实训
        • 查看deployment信息
        • ymal文件搭建httpd
        • 将上面创建的deployment删除一个pod,变成副本3
        • 升级该 deployment 的镜像版本至 latest。
        • 寻找该 deployment 中各个 pod 运行节点,deployment 创建的时间戳(Creation Timestamp)。
    相关产品与服务
    弹性伸缩
    弹性伸缩(Auto Scaling,AS)为您提供高效管理计算资源的策略。您可设定时间周期性地执行管理策略或创建实时监控策略,来管理 CVM 实例数量,并完成对实例的环境部署,保证业务平稳顺利运行。在需求高峰时,弹性伸缩自动增加 CVM 实例数量,以保证性能不受影响;当需求较低时,则会减少 CVM 实例数量以降低成本。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档