每天进步一点点

2020-05-15【Serverless+Kubenetes

2020-05-15  本文已影响0人  桢桢claire
想去森林里遛个弯

今日鸡汤:

假如你能平静如实的观察自己正在发生的那股情绪,
抽离的看着它,就像是看着另一个人的情绪。
那么,你的情绪问题就会解决大半。

Serverless

什么是Serverless?
来自维基百科的定义:无服务计算是一种云计算执行模型,云厂商提供程序运行的服务器,并动态管理机器资源的分配。云厂商基于应用程序消耗的实际资源量进行定价,而不是用户预先购买的容量。

Serverless开发模型的特点?
Serverless开发采用Event-driven模型,围绕HTTP/HTTPS请求、时间、消息等Event的生产和响应进行架构设计。

Serverless服务模型分为哪几类?

Kubenetes

Pod的生命周期?
Pod里可运行多个容器,他们共享Pod级别的存储卷Volume。
Pod的状态有四种:
1)Pending:API Server已经创建了Pod,但Pod内还有容器的image没有创建;
2)Running:Pod所有容器都创建,且至少一个容器处于运行状态;
3)Succeeded:Pod内所有容器均成功执行后退出;
4)Failed:Pod内所有容器均退出,但至少有一个退出失败;
5)Unknown:无法获得Pod状态

Pod健康检查方式?
两类探针:LivenessProbe和ReadinessProbe

三种实现方式:

Kubernetes如何通过NodeSelector进行定向调度?
当需要将Pod调度到指定的一些Node上,可以通过Node的标签和Pod的nodeSelector属性相匹配。

Pod的重启策略?
Pod重启策略应用于Pod内所有容器,且仅在Pod所处的Node上由Kubelet判断和重启。
1)Always:自动重启
2)OnFailure:容器终止运行且退出码不为0时,自动重启
3)Never:无论容器状态,都不重启

Pod中的ConfigMap有什么用?

  1. 生成为容器内的环境变量;
  2. 设置容器启动命令的启动参数;
  3. 以Volume的形式挂载为容器内部的文件或目录

Pod的升级怎么做?
K8S提供了滚动升级的功能,用户可以使用kubectl edit命令在运行时修改Deployment的Pod定义或镜像名称,并应用到Deployment对象上,系统即可完成Deployment的自动更新操作,更新完,可以通过kubectl rollout status命令查看Deployment的更新过程。

其实,当Deployment需要更新时,系统会创建一个新的ReplicaSet,并将副本扩展到1,然后将旧的ReplicaSet缩减为2,之后不断调整,直到新的ReplicaSet运行了3个新版本的副本,旧的则减到0。

默认情况下,Deployment会确保Pod最多一个不可用(maxUnavailable=1),并且Pod总数最多比所需的Pod数多一个(maxSurge=1)。

Deployment的回滚怎么做?
首先,用kubectl rollout history查看Deployment部署的历史记录,之后使用kubectl rollout undo命令回滚到上一个版本或指定的部署版本号。

上一篇下一篇

猜你喜欢

热点阅读