主要参考https://www.kubernetes.org.cn/docs
Kubernetes集群包含有节点代理kubelet和Master组件(APIs, scheduler, etc),一切都基于分布式的存储系统。下面这张图是Kubernetes的架构图。
Kubernetes主要由以下几个核心组件组成:
- etcd保存了整个集群的状态;
- apiserver提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
- controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
- scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
- kubelet负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;
- Container runtime负责镜像管理以及Pod和容器的真正运行(CRI);
- kube-proxy负责为Service提供cluster内部的服务发现和负载均衡;
除了核心组件,还有一些推荐的Add-ons:
- kube-dns负责为整个集群提供DNS服务
- Ingress Controller为服务提供外网入口
- Heapster提供资源监控
- Dashboard提供GUI
- Federation提供跨可用区的集群
- Fluentd-elasticsearch提供集群日志采集、存储与查询
其它资料
etcd 是一个键值存储仓库,用于配置共享和服务发现 ,也就是分布式数据库
https://blog.csdn.net/bbwangj/article/details/82584988
REST: REpresentational State Transfer 直接翻译:表现层状态转移。全称是 Resource Representational State Transfer:通俗来讲就是:资源在网络中以某种表现形式进行状态转移。
RESTful API 也就是遵守特定规则的API
参考 https://www.zhihu.com/question/28557115
pod是k8s的最小单元,容器包含在pod中,一个pod中有一个pause容器和若干个业务容器,而容器就是单独的一个容器,简而言之,pod是一组容器,而容器单指一个容器。
参考 https://blog.51cto.com/11093860/2337707
authentication : 授权认证 authorization :授权书,用户凭证
Master components Colocated,or spread across machines,as dictated by cluster size
根据集群大小,主组件可以在机器上集中或分布 , 意思就是master 组件 可以部署到一个节点上也可以部署到多个节点上
distributed watchable storage : 分布式可监视存储