手记

Kubernetes初探之概念理解

简介

从整体来看:K8s是围绕着Pod这个可以视作单个容器的“容器组”展开的。也就说pod是能被创建、调度和管理的最小单元。

POD

一、pod的一些操作

K8s

  • 在K8s中,所有容器都会被分配一个副本控制器

  • 每个容器都被指定一个分组的标签

  • 当为某些容器(可以使用label指定)分配了一个service代理后,这些容器可以统一使用一个固定ip

二、pod和容器的关系

  1. 一个Pod(想象成篮子)里的容器(想象成鸡蛋)能有多少资源取决于篮子大小

  2. label贴在篮子上

  3. IP分配给篮子,pod中所有容器共享ip

  4. 一个容器仍会被封装成pod

三、pod的一些特性

  1. 通过K8s volume机制,在容器间共享存储、IP和端口区间

  2. 通过localhost直接访问另一容器

replication controller

replication controller 决定了一个pod有多少同时运行的副本,并保持副本的期望状态与当前的状态一致。在设计上,k8s为每个pod外挂一个控制器进程,避免了健康检查逐渐成为性能瓶颈

一、pod各种状态值

状态值含义
Pendingpod的创建请求已经被系统接受,但是pod内还有一个或者多个容器未启动。这个时间可能包括:下载docker镜像的网络传输时间和pod的调度时间等。
Runningpod已经被绑定到工作节点,而且pod内所有的容器已经被创建。最重要的是至少有一个容器处于运行状态、正在重启或启动。
Succeeded专指pod内所有容器成功退出、并且不会发生重启
Failedpod内所有容器均已经退出、并且至少至少有一个容器发生错误而退出
Unknown因为某些未知的原因,主机上的kubelet目前无法获得pod的状态

service

最为代理来确保需要使用pod的应用而不需要知道pod的真是ip,另一方面是当使用replication controller 创建了多个pod副本时,需要一个代理为这些pod做负载均衡。或许命名为proxy或者router更为合适

  • 主要由一个独一无二ip和一个laber selector构成

  • 这个Ip和service的生命周期相同且不变(pod的ip地址与此不同,会随着pod的生命周期产生和消亡)



作者:bobozhangshao
链接:https://www.jianshu.com/p/f1fd8b4fb455


0人推荐
随时随地看视频
慕课网APP