项目的生命周期

Posted 敲击岁月

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目的生命周期相关的知识,希望对你有一定的参考价值。

项目的生命周期


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

创建

#启动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 export 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


以上是关于项目的生命周期的主要内容,如果未能解决你的问题,请参考以下文章

在不存在的片段上调用片段生命周期和 onCreate 的问题

Android片段生命周期:onResume调用了两次

导航上的片段生命周期重叠

Android 片段生命周期

关于片段生命周期,何时调用片段的 onActivityResult?

理解片段事务期间片段的生命周期方法调用