kubernetes

k8s是什么
1 以容器为中心的应用编排平台
2.面向平台的平台:
强大的扩展能力:构建其它的平台

3 、容器编排
容器生命周期管理
容器创建、运行、监控、终止
为容器运行提供支撑:
存储卷:卷编排
网络:网络编排
容器关系管理
超亲密关系:运行一个整体,Kubernetes抽象出来的新概念Pod
非超亲密关系:各自独立运行
通过Service互相发现和访问
Service需要DNS的支撑
为Service提供一个独立DNS域名格式的名称

制品:交付的结果,

集群架构

scheduler
apiserver
controller-manager

kubelet
kube-proxy
container runtime

节点宕机

kubelet 报告节点和pod的状态

node宕机,kubelet就无法上报

concrolter负责决策,除调度

Master的组件:
API Server:以API形式对外提供服务,服务器程序,监听在某个套接字上;(与其他组件交互)
Scheduler:调度器,负责为那些未能绑定到某节点的Pod,挑选一个最适配的Worker来运行它;只会从API接收指令;
Controller-Manager:Controller的集合,由一组Kubernetes内置的Controller集结而成;
除调度之外的编排决策,几乎都由Controller负责形式
需要进行的决策有很多咱类型:相应的,控制器也存在很多类型
PV/PVC: Volume控制器
Deployment:编排无状态应用
StatefulSet:编排有状态应用

 etcd:存储集群状态
            Kubernetes所支持的数据模式,由API Server进行定义和抽象
                使用json格式

                被称为资源类型 --> 实例化之后的结果,称为资源对象,存储在etcd中

            
    Worker组件:
        Kubelet:集群代理程序,负责控制平面事关Pod运行的各种决策
        kube-proxy:与网络功能中的Service相关
    Add-Ons:
        有些附件是必选:
            ClusterDNS: CoreDNS
            Kube-Proxy: 
            Network Plugin: flannel/calico
                容器虚拟网络

label:标签
    kv类型的数据项

    资源对象可以拥有一到多个标签

    label selector:

声明式API
    声明式API: 面向对象
    命令式API: 面向过程

校区-》天安门
自己开,要一步一步开
自己有车和司机,告诉司机就行, 声明式api

工作负载型控制器:
核心功能:按照用户期望的副本数量,创建并运行Pod
deployment --> nginx
replicas: 3
template:Pod模板
label selector --> label

Kubernetes的二次发行版:
Rancher Kubernetes
Red Hat OpenShift

kubernetes_第1张图片

kubelet只与apiserver打交道(交互)

ubernetes与Docker的兼容关系:
kubelet --> CRI --> Container Runtime

        CRI --> dockershim -->  Docker Daemon 

        Docker:4个组件
            Docker Daemon                 
            containerd --> CNCF 
            containerd-shim
            runc 

        Containerd --> Systemd控制运行
            专用的客户端程序

        podman 
            cri-o 

    Docker EE:Maratis收购
        Maratis维护了一个cri-docker项目

    kubelet:
        1、cri-docker --> Docker CE 
        2、containerd 
        3、cri-o 

你可能感兴趣的:(kubernetes,容器,云原生)