首页 运维干货在K8S中部署应用流程

在K8S中部署应用流程

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai
领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

在K8S中部署应用流程插图

1.创建yaml模板

kubectl  create  deployment  web  --image=nginx   --dry-run  -o  yaml  >  web.yaml

2.修改模板 vim web.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: web
  name: web
spec:
  replicas: 3
  selector:
    matchLabels:
      app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
      - image: zhangfan5391621/java-demo
        name: java

3.创建项目pod

kubectl  apply -f  web.yaml
kubectl   logs  web-dc77dd8db-hhrxz  #检查日志

在K8S中部署应用流程插图(1)

kubectl  get deploy  #查看deployment有那些

在K8S中部署应用流程插图(2)

4.创建Serice服务

kubectl  expose --name=web deployment  web  --port=80  --target-port=8080  --type=NodePort
# kubectl  expose +(资源的类型)+(资源的名称)+(service端口)+(后端服务的端口)+类型(Nodeport随机端口)

kubectl get  service  #查看service服务的端口

在K8S中部署应用流程插图(3)
任意一个node节点的ip+30909就能访问该项目

5.升级服务(滚动更新)

kubectl set image  deployment  web  java=nginx
`#kubectl set image+ 资源类型+名字(web)+ (java=nginx)原镜像名=新镜像名`
#kubectl edit  service/web      #如果配置文件有改动,直接修改server
http://192.168.106.103:30909/    #能够访问到最新的项目

在K8S中部署应用流程插图(4)

6.回滚项目

kubectl  rollout history  deployment  web  #查看历史版本

在K8S中部署应用流程插图(5)

kubectl rollout undo deployment web   #回滚到上一个版本
修改service/web端口改为8080,即可访问上一个版本的项目,nginx和tomcat是不同的端口
#kubectl rollout undo deployment web --revision=3  ,指定回滚版本

在K8S中部署应用流程插图(6)

7.副本的扩容/缩容

kubectl  scale  deployment web --replicas=5 
#将web服务副本扩容成5个(原来三个)

在K8S中部署应用流程插图(7)

kubectl  scale  deployment web --replicas=2

在K8S中部署应用流程插图(8)

刚才5个副本已经变成2个副本了

8.删除service

kubectl   delete deployment/web
kubectl   delete  svc/web

本文链接:http://www.yunweipai.com/39642.html

网友评论comments

发表评论

邮箱地址不会被公开。

暂无评论

Copyright © 2012-2021 YUNWEIPAI.COM - 运维派 京ICP备16064699号-6
扫二维码
扫二维码
返回顶部