官方公众号
商务合作
Kubernetes的存储层采用了Etcd,这是CoreOS开源的一种高可用、强一致性的分布式存储服务。Kubernetes使用Etcd作为数据存储后端,将需要记录的pod、rc、service等资源信息保存在Etcd中。
Kubernetes的管理层服务包括kube-scheduler和kube-controller-manager。kube-scheduler和kube-controller-manager采用一主多从的高可用方案,同一时间只允许一个服务担当具体任务。

Kubernetes实现了一套简单的选主逻辑,依赖Etcd来实现scheduler和controller-manager的选主功能。借助Etcd的强一致性,能够在分布式高并发情况下保证leader节点是全局唯一的。
在Kubernetes体系中,Master服务扮演着总控中心的角色,kube-apiserver、kube-controller-manager和kube-scheduler三个主要服务通过与工作节点上的Kubelet和kube-proxy不断通信来维护整个集群的健康运行状态。

如果Master无法访问某个Node,则会将该Node标记为不可用,不再向其调度新建的Pod。然而,对于Master自身,需要进行额外的监控,以防Master成为集群中的单点故障。因此,需要以高可用的方式部署Master服务。
将kube-apiserver、kube-controller-manager和kube-scheduler作为一个部署单元,类似于etcd集群的典型部署配置。至少使用三台服务器来安装Master服务,并采用Active-Standby-Standby模式,确保总有一套Master能够正常工作。
工作节点上的Kubelet和kube-proxy服务需要访问Master集群的统一访问入口地址,可以使用诸如pacemaker等工具来实现。下图展示了一种典型的部署方式。
Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器。它的英文意思是港湾,类比于港湾用于存放集装箱货物的功能。与Docker借鉴了集装箱原理一样,Harbor被用作存放Docker镜像的仓库。
作为一个企业级镜像仓库,Harbor提供了很多功能,包括权限管理(RBAC)、LDAP集成、日志审核、管理界面、自我注册和镜像复制等。通过这些功能,Harbor能够满足企业对于镜像仓库安全性、控制和管理方面的需求。
Harbor的出现为企业提供了一个可靠、安全的存储和分发Docker镜像的解决方案。无论是在开发、测试还是生产环境中,Harbor都能够帮助企业更好地管理和使用Docker镜像资源。

StorageClass(存储类)是Kubernetes用于定义动态存储的对象。它提供管理员在集群中动态创建和管理持久卷(Persistent Volume,PV)的能力,使得存储配置和策略与应用程序解耦,从而方便开发人员请求和使用存储资源。