Kubernetes学习笔记

kubernetes一个简单server实例

在这里插入图片描述
一个server对应一个replicationcontroller。
replicationcontroller维护指定数量的容器(pod)实例。
kubernetes为一个server抽象出一个对外接口(即kubia-http)。对外使用统一IP地址,对内负载均衡。

为何多个容器比单个容器中包含多个进程要好

1.若一个容器中含有多个不相关的进程,那么我们需要自主完成进程的维护工作。比如:某一个进程崩溃,而其他进程正常运行。我们不能依靠k8s重启一个pod帮我们解决。因为正常运行的进程就会多出一个实例。
2.进程日志都记录到标准输出,对进程的日志管理增加了困难

pod

pod作为kubernetes资源管理的基本单位,我们应将pod视为独立的机器,并将不同的应用程序组织到不同的pod中(仅非常紧密的应用集成到一个pod中)。这与微服务思想相同。
思考三个问题:
它们需要一起运行还是可以在不同的主机上运行?(运行环境)
它们代表的是整体还是相互独立的组件?(应用逻辑)
它们必须一起进行扩缩容还是可以分别进行?(拓展逻辑)
kubernetes通过标签的方式,对pod以及节点进行标签标记。通过标签约束pod应部署在哪一类节点上。(极度不推荐指定某一节点,这与kubernetes的思想背道而驰)

keep alive问题

如果pod崩溃,则会由存活探针发现,并重启pod。该任务由承载pod的节点上的kubelet完成。
如果节点崩溃,则kubelet无法完成(因为kubelet也崩溃了),那么需要ReplicationController来管理pod。(如果该pod不是由类似ReplicationController创建的,那么该pod就会丢失?)

ReplicationController,ReplicaSet

类似于MySQL里的视图。给定选择条件,管理并维护符合条件的pod组。一般用ReplicaSet(ReplicationController已过时)。
均可以使用YAML定义

DaemonSet

确保在其管理节点上运行一个(特定的)pod。且维护退出节点与新增节点。对于退出DaemonSet的节点,DaemonSet会关闭相应的pod。

job资源

完成一个任务,若任务正常结束(exit 0)则job(pod)释放。若任务异常结束,job会调度该pod,执行此任务。
可以设定job的重启规则(fail,never),设定job并行度,设定任务完成时间。
可以设定定时任务(CronJob).即一个定时器,每隔多久执行一次任务。

pod的对外统一接口service

Kubernetes in Action

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值