项目的生命周期

项目的生命周期


项目的生命周期:创建-发布-更新-回滚-删除

创建

#启动nginx实例,暴露容器端口80.设置副本数3
kubectl run nginx --image=nginx:1.14 --port=80 --replicas=3
kubectl get pod
kubectl get all

在这里插入图片描述
在这里插入图片描述

发布

将资源暴露为新的service
kubectl expose --help

#为deployment的nginx创建service,并通过service的80端口转发至容器的80端口上,service的名称为nginx-service,类型为nodeport
kubectl expose deployment nginx --port=80 --target-port=80 --name=nginx-service --type=NodePort

kubectl之所以需要service,一方面是因为pod的IP不是固定的(pod会重建),另一方面则是因为一组pod实例之间总会有负载均衡的需求
service的类型

ClusterIP(对内)提供一个集群内部的虚拟IP以供pod访问(service默认类型)
NodePort(对外)在每个node上打开一个端口以供外部访问,并且每个node上的端口号都是一致的,通过nodeIP:nodeport的方式使得k8s集群外部可以访问service 端口号为30000-32767
LoadBalancer通过外部的负载均衡器来访问,通常在云平台部署loadbalancer还需要额外的费用

在这里插入图片描述

更新

#查看当前nginx版本号
curl -I 192.168.146.10:31864
#将nginx版本更新为1.15版本
kubectl set image deployment/nginx nginx=nginx:1.15
#动态监听pod状态,由于使用的是滚动更新,会先生成一个新pod,再删除一个旧pod
kubectl get pod -w

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

回滚

#查看历史版本
kubectl rollout history deployment/nginx
#执行回滚到上个版本
kubectl rollout undo deployment/nginx
#执行回滚到指定版本
kubectl rollout undo deployment/nginx --to-revision=1
#检查回滚状态
kubectl rollout status deployment/nginx

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

删除

#删除副本控制器
kubectl delete deployment/nginx
#删除service
kubectl delete service/nginx-service

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值