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 社区发布离线包)。

cluster-1

离线包列表信息:

package-1

离线包详情信息:

package-2

4.1.2 部署计划

选择 Kubernetes 集群的部署计划和 Worker 节点数量,至少 1 个 Worker 节点,Worker 节点配置建议 4 核 16 G,请保证 vSphere 环境资源充足,尤其是内存资源。

cluster-2

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 段冲突即可使用。

cluster-5

4.1.4 配置存储

【添加存储】环节,选择外部持久化存储 vSAN 或者 NFS ,如果选择 NFS,支持两种方式的 NFS,一种是自动创建 NFS 存储,另外一种是用户自行准备的 NFS 存储。

cluster-4

4.1.5 其他设置

【其他设置】环节,配置可运行 POD 数量和 Docker 数据目录,默认的 110 是官方建议 POD 数,可根据实际环境修改。

cluster-5

4.1.6 集群配置概览

所有步骤完成后,会有一个集群配置概览页对之前步骤所设参数进行汇总,用户可在此页进行集群配置的最后检查。

cluster-6

4.2 部署集群

在集群列表中点击刚刚创建的集群名称,默认展示的是该集群的【概览】信息。【概览】页中展示了 Kubernetes 集群的诸多详情,包括集群状态,Worker 状态集群描述信息等。点击【概览】页左上方的【安装】按钮进行 Kubernetes 集群的部署。

deploy-1

集群部署开始后,将会自动跳转到【任务】页。在【任务】页里可以看到集群部署当前所执行的具体任务信息。

deploy-2

如果是内网环境的话,一个典型的 4 节点集群的部署大概需要10分钟左右的时间,【历史】页可以看到详情部署时间信息。在出现类似下图的信息后,表明集群已部署成功。

deploy-3

【历史】页可以看到所有完成的任务详情信息,包括部署过程中的日志详情。

cluster-deploy-3

注:通过自动模式创建的集群里所有的主机,包括 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 设备向外网暴露服务。

cluster-f5

4.3.2 更新 ApiServer 证书

通过自动更新配置 ApiServer 证书的功能,可以方便用户使用其他负载均衡设备对 Kubernetes 集群的 Master 节点配置高可用。默认情况下,使用 KubeOperator 创建的多 Master 节点的 Kubernetes 集群时,是通过 Haproxy 负载多个 Master 节点来提高可用性的。当然,真实环境中有成熟的、商业的负载均衡设备或者更好的解决方案时 ,可以使用外部的负载均衡设备来做高可用。配置过程中如果需要使用 HTTP/HTTPS 做七层负载,就需要 ApiServer 的证书文件。在 ApiServer 设置栏目,填写 VIP 地址(即负载均衡器的 IP),如下图所示,就可以自动为负载均衡器配置 ApiServer 的证书。证书文件将存放到 Master 节点的 /etc/kubernetes/ssl 目录。

cluster-cert

cluster-ssl

4.4 CIS 安全扫描

KubeOperator 结合 kube-bench 实现了 CIS 安全扫描功能,通过 CIS 安全扫描功能,可以帮助集群管理员检查 Kubernetes 是否已安全部署。kube-bench 尽可能紧密地实现 CIS Kubernetes 基准,CIS Kubernetes 基准的详细信息可以通过下方链接查看:

https://www.cisecurity.org/benchmark/kubernetes/

cluster-cis