目录
1.简介
2.主要功能
3.Kuberbetes组件
3.1.Master组件
3.1.1.kube-apiserver
3.1.2.etcd
3.1.3.kube-scheduler
3.1.4.kube-controller-manager
3.1.5.cloud-controller-manager
3.2.Node组件
3.2.1.kubelet
3.2.2.kube-proxy
3.2.3.容器引擎
k8s原称kubernetes
官方网站 :http://kubernetes.io
国人学习站点
Kuboard_Kubernetes教程_K8S安装_管理界面
k8s能方便的管理跨机器运行容器化的应用
提供应用部署,维护,扩展机制
集群管理,安全防护,准入机制,应用支撑,服务发现,智能负载均衡,故障发现,自我修复,服务滚动升级,在线升级,资源配额管理
使用Docker对应用程序包装,实例化,运行
以集群的方式运行,管理跨机器的容器
解决Docker跨机器容器之间的通讯问题
k8s的自我鞋服机制能使得容器集群总是运行在用户期望的状态
Master组件是集群的控制平台(control plane):
master 组件负责集群中的全局决策(例如,调度)
master 组件探测并响应集群事件
Master组件可以运行于集群中的任何机器上。但是,为了简洁性,通常在同一台机器上运行所有的 master 组件,且不在此机器上运行用户的容器。
此 master 组件提供 Kubernetes API。Kubernetes管理工具就是通过 kubernetes API 实现对 Kubernetes 集群的管理。
支持一致性和高可用的名值对存储组件,Kubernetes集群的所有配置信息都存储在 etcd 中。
此 master 组件监控所有新创建尚未分配到节点上的 Pod,并且自动选择为 Pod 选择一个合适的节点去运行。
此 master 组件运行了所有的控制器
逻辑上来说,每一个控制器是一个独立的进程,但是为了降低复杂度,这些控制器都被合并运行在一个进程里。
kube-controller-manager 中的控制器:
节点控制器: 负责监听节点停机的事件并作出对应响应
副本控制器: 负责为集群中每一个 副本控制器对象维护期望的 Pod 副本数
端点控制器:负责为端点对象赋值
Service Account & Token控制器: 负责为新的名称空间创建 default Service Account 以及 API Access Token
cloud-controller-manager 中运行了与具体云基础设施供应商互动的控制器。
Node 组件运行在每一个节点上(包括 master 节点和 worker 节点),负责维护运行中的 Pod 并提供 Kubernetes 运行时环境。
此组件是运行在每一个集群节点上的代理程序。它确保 Pod 中的容器处于运行状态。Kubelet 通过多种途径获得 PodSpec 定义,并确保 PodSpec 定义中所描述的容器处于运行和健康的状态。Kubelet不管理不是通过 Kubernetes 创建的容器。
kube-proxy 是一个网络代理程序,运行在集群中的每一个节点上,是实现 Kubernetes Service 概念的重要部分。
kube-proxy 在节点上维护网络规则。这些网络规则使得您可以在集群内、集群外正确地与 Pod 进行网络通信。
容器引擎负责运行容器。