4 集群部署(Day 1)
4.1 创建集群
KubeOperator 当前支持 NFS 和 vSAN 作为外部持久化存储,如果使用 NFS 存储,创建集群前,请自行准备 NFS 存储,并可以被集群主机挂载。我们推荐使用专用 NAS 产品,自行搭建的 NFS 服务仅适合在开发测试环境使用。
4.1.1 基本信息
点击【集群】页的【添加】按钮进行集群的创建。在【基本信息】里首先选择项目名称,然后输入集群的名称,选择该集群所要部署的 Kubernetes 版本和部署模式。 在离线包列表中可以查看 KubeOperator 当前所提供的 Kubernetes 安装版本详细信息。在后续进行 Kubernetes 集群部署时,可以从这些版本中选择其一进行部署(当前支持最新版本为 1.16.7 ,其他支持版本参考链接: https://github.com/KubeOperator/k8s-package/releases, 后续会继续跟随 Kubernetes 社区发布离线包)。
离线包列表信息:
离线包详情信息:
4.1.2 部署计划
选择 Kubernetes 集群的部署计划和 Worker 节点数量,至少 1 个 Worker 节点,Worker 节点配置建议 4 核 16 G,请保证 vSphere 环境资源充足,尤其是内存资源。
4.1.3 配置网络
【配置网络】环节,选择集群的 kube-proxy 运行模式、 ingress 方式以及网络插件,当前 kube-proxy 运行模式支持 iptables 和 ipvs 两种;ingress 支持 trafik 和 nginx;网络插件支持 Flannel 和 Calico,这里我们分别选择 iptables、trafik、Flannel 三种方式。
如果集群节点全部都在同一个二层网络下,请选择”host-gw”。如果不是,则选择”vxlan”。”host-gw” 性能优于 “vxlan”。选项 Service CIDR 和 POD CIDR 保证不和已有主机节点 IP 段冲突即可使用。
4.1.4 配置存储
【添加存储】环节,选择外部持久化存储 vSAN 或者 NFS ,如果选择 NFS,支持两种方式的 NFS,一种是自动创建 NFS 存储,另外一种是用户自行准备的 NFS 存储。
4.1.5 其他设置
【其他设置】环节,配置可运行 POD 数量和 Docker 数据目录,默认的 110 是官方建议 POD 数,可根据实际环境修改。
4.1.6 集群配置概览
所有步骤完成后,会有一个集群配置概览页对之前步骤所设参数进行汇总,用户可在此页进行集群配置的最后检查。
4.2 部署集群
在集群列表中点击刚刚创建的集群名称,默认展示的是该集群的【概览】信息。【概览】页中展示了 Kubernetes 集群的诸多详情,包括集群状态,Worker 状态集群描述信息等。点击【概览】页左上方的【安装】按钮进行 Kubernetes 集群的部署。
集群部署开始后,将会自动跳转到【任务】页。在【任务】页里可以看到集群部署当前所执行的具体任务信息。
如果是内网环境的话,一个典型的 4 节点集群的部署大概需要10分钟左右的时间,【历史】页可以看到详情部署时间信息。在出现类似下图的信息后,表明集群已部署成功。
【历史】页可以看到所有完成的任务详情信息,包括部署过程中的日志详情。
注:通过自动模式创建的集群里所有的主机,包括 master 和 worker 主机默认用户名和密码为:root / KubeOperator@2019。
4.3 服务暴露
4.3.1 添加 F5 BIG-IP
在集群列表中点击集群名称,添加 F5 暴露服务,点击【F5 BIG-IP】添加 F5 BIG-IP,为 Kubernetes 配置 F5-BIGIP-CONTROLLER 后,我们可以通过 F5 BIGIP 设备向外网暴露服务。
4.3.2 更新 ApiServer 证书
通过自动更新配置 ApiServer 证书的功能,可以方便用户使用其他负载均衡设备对 Kubernetes 集群的 Master 节点配置高可用。默认情况下,使用 KubeOperator 创建的多 Master 节点的 Kubernetes 集群时,是通过 Haproxy 负载多个 Master 节点来提高可用性的。当然,真实环境中有成熟的、商业的负载均衡设备或者更好的解决方案时 ,可以使用外部的负载均衡设备来做高可用。配置过程中如果需要使用 HTTP/HTTPS 做七层负载,就需要 ApiServer 的证书文件。在 ApiServer 设置栏目,填写 VIP 地址(即负载均衡器的 IP),如下图所示,就可以自动为负载均衡器配置 ApiServer 的证书。证书文件将存放到 Master 节点的 /etc/kubernetes/ssl 目录。
4.4 CIS 安全扫描
KubeOperator 结合 kube-bench 实现了 CIS 安全扫描功能,通过 CIS 安全扫描功能,可以帮助集群管理员检查 Kubernetes 是否已安全部署。kube-bench 尽可能紧密地实现 CIS Kubernetes 基准,CIS Kubernetes 基准的详细信息可以通过下方链接查看: