<返回更多

你知道如何在K8S中部署应用流程吗?

2021-07-20    丹鱼先生
加入收藏

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.创建Service服务

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

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>