Google创造, K8S,是基于容器的集群管理平台, K8S集群
应用场景 微服务
这个集群主要包括两个部分
一个Master节点(主节点)
一群Node节点(计算节点)
Master节点主要负责管理和控制。Node节点是工作负载节点,里面是具体的容器。
Master 节点 包括 API Server、Scheduler 、Controller Manager、etcd
API Server 是整个系统的对外接口,供客户点和其他组件调用,相当于“营业厅”
Scheduler 负责对集群内部的资源进行调度,相当于“调度室”
Controller manager 负责管理控制器,相当于“大总管”。
etcd 保存整个集群的状态
然后是Node节点
Node节点包括Docker、Kubelet、kube-proxy、Fluentd、kube-dns(可选)还有就是Pod
pod是Kubernetes 最基本的操作单元。一个Pod代表着集群中运行的一个进程,它内部封装了一个或多个紧密相关的容器。除了Pod之外,K8s还有一个Service的概念,一个Service 可以看作以组提供相同服务的Pod的对外访问接口,
Docker 创建容器的
Kubelet 主要负责监指派到它所在Node上的Pod 包括创建、修改、监控、删除(销毁)
Kube-proxy 主要负责为Pod对象提供代理
Fluentd 主要负责日志收集、存储与查询
NFV(网元功能虚拟化) NFC(网元功能容器化)
优点
可以随时创建,随时销毁,不停机的情况下,随意变大,随意变小,随意变强,随意变弱 在功耗和性能之间动态平衡
自愈: 重新启动失败的容器,在节点不可用时,替换和重新调度节点上的容器,对用户定义的健康检查不响应的容器会被中止,并且在容器准备好服务之前不会把其向客户端广播。
弹性伸缩: 通过监控容器的cpu的负载值,如果这个平均高于80%,增加容器的数量,如果这个平均低于10%,减少容器的数量
服务的自动发现和负载均衡: 不需要修改您的应用程序来使用不熟悉的服务发现机制,Kubernetes 为容器提供了自己的 IP 地址和一组容器的单个 DNS 名称,并可以在它们之间进行负载均衡。
滚动升级和一键回滚: Kubernetes 逐渐部署对应用程序或其配置的更改,同时监视应用程序运行状况,以确保它不会同时终止所有实例。 如果出现问题,Kubernetes会为您恢复更改,利用日益增长的部署解决方案的生态系统。