主要概念
部署模式¶
- 手动模式: 用户需要自己准备物理机或虚拟机,存储可选择 NFS 持久化存储,外部 ceph 存储等
- 自动模式: 用户只需要绑定云平台(比如 VMware)账号信息,KubeOperator 会根据预先定义的部署计划来自动创建主机实现一键自动化部署
部署计划¶
自动部署模式下,部署计划定 义了 Kubernetes 集群的部署细节,包括其部署模型、集群所在的区域、可用区、节点大小类型等
区域和可用区¶
区域(Region)和可用区(AZ)这两个术语来自公有云。每个区域完全独立。每个可用区完全隔离,但同一个区域内的可用区之间使用低时延链路相连。区域和可用区之间的关系如下图所示
对于公有云厂商提供的托管 Kubernetes 服务,master 节点由公有云厂商托管并维护,其 3 个master 节点会分布在同个区域下面的 3 个不同可用区上面,实现真正的高可用
KubeOperator 借鉴公有云厂商的思路和概念,并应用到 VMware、Openstack 和 FusionCompute 等私有云平台上面。例如,在 VMware 云平台下,区域对应为 Datacenter,可用区对应于 cluster,或者 cluster 下面的 resource pool
注意事项
- 如果用户只有一个 vSphere 集群,那么可以在集群下面建立三个 resource pool,每个resource pool 对应于一个可用区
- 如果用户有三个 vSphere 集群,那么每个集群对应于一个可用区
- vSAN 集群不能被多个 vSphere 集群共享,所以 3 个 vSphere 集群,持久化存储仅支持集中存储。 具体请参考此文档
权限模型¶
支持通过在项目中设置用户权限等级来管理集群,分为系统管理员、项目管理员、集群管理员
系统管理员¶
默认的 admin 账号可以创建系统管理员
- 管理集群,安装、卸载、升级、扩容、缩容、备份、恢复等等所有集群相关操作
- 管理用户,添加系统管理员和普通用户
- 管理项目,创建新项目,给项目创建集群、指定项目管理员、授权资源等
- 管理资源,添加集群所需主机、部署计划等
- 系统设置,设置添加凭据、添加备份账号等
项目管理员¶
- 管理集群,安装、卸载、升级、扩容、缩容、备份、恢复等等所有集群相关操作
- 管理成员,可以指定普通用户(非系统管理员)给某个项目为项目管理员和集群管理员
- 授权资源,创建集群所需资源,包括主机,部署计划和备份账号
集群管理员¶
- 管理集群,安装、卸载、升级、扩容、缩容、备份、恢复等等所有集群相关操作