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  #检查日志

在这里插入图片描述

kubectl  get deploy  #查看deployment有那些

在这里插入图片描述

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

kubectl get service #查看service服务的端口
在这里插入图片描述
任意一个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/    #能够访问到最新的项目

在这里插入图片描述

6.回滚项目

kubectl rollout history deployment web #查看历史版本
在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

kubectl  scale  deployment web --replicas=2

在这里插入图片描述
刚才5个副本已经变成2个副本了

8.删除service
kubectl   delete deployment/web
kubectl   delete  svc/web
Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐