k8s 各个概念解释

pods ,  k8s 的核心, 所有的的操作都是围绕 pod , pod 可以认为是多个容器的捆绑。pod 里的容器里共享 cpu 网络  存储。
                             , pod 可以设置环境变量, 可以在容器启动前, 关闭后等执行钩子(函数,命令), 
                             , pod 可以检查容器健康性,  一个 node 里可以有多个同样的 pod 


labels   是许许多多的 key-value ,  可以用key 来给对象命名, 这样比较容易找到,识别对象。 也可以在命令行中做变量
    比如: environment in (production, qa)  ; !partitio     ; labelSelector=environment+in+%28production%2Cqa%29%2Ctier+in+%28frontend%29
               
kubectl get pods -l environment=production,tier=frontend 等

namespace 是一组资源和对象的结合/容器/框架, pods, service 等等(除了node 和 persisitendVolumes)都属于某个 namespace. 默认有:default 和 kube-system
                   两个资源组(
kubectl get namespaces

Replication Controller 是用来保证 pod 定额数量运行的一个容器。 有点类似进程管理器,但是它管理整个k8s里所有的 node 里 所有的 pod 
                   R/C 工作:1. 根据pod模板创建  pod  2.  Rescheduling / Scaling / Rolling updates : 重新规划  / 缩放 / 动态更新 

Node 正真的主机, 每个node 至少要运行 docker/rkt  , kubelete , kube-proxy .    Node Controller 负责:1.维护node 状态, 2. 与Cloud Provider同步Node
                                 3. 给Node分配容器CIDR 4. 删除带有NoExecute taint的Node上的Pods 
                               node 包含几个信息:1)地址:包括hostname、外网IP和内网IP
                                                                 2) 条件(Condition):包括OutOfDisk、Ready、MemoryPressure和DiskPressure
                                                                 3) 容量(Capacity):Node上的可用资源,包括CPU、内存和Pod总数
                                                                 4) 基本信息(Info):包括内核版本、容器引擎版本、OS类型等
                                  node 可以设置成不可调度: 
kubectl cordon $NODENAME

ReplicaSet  下一代的  R C
Service      服务, 把相同的pod 统一起来对外服务, Services 通过 kube-proxy 起作用 
                  服务发现: 环境变量 / DNS

猜你喜欢

转载自www.cnblogs.com/xiaoxuebiye/p/11728480.html