4 集群部署(Day 1)

4.1 创建集群

4.1.1 基本信息

点击【集群】页的【添加】按钮进行集群的创建。在【基本信息】里首先选择项目,然后输入集群的名称,选择该集群所要部署的 Kubernetes 版本。

cluster-create-1

注:集群名称不要和主机名称、存储节点名称相同。

4.1.2 部署模型

选择 Kubernetes 集群的部署模型。KubeOperator 当前支持一主多节点和多主多节点。选择部署模型后,KubeOperator 将展示集群中各个角色节点的详细配置要求。现在节点支持操作系统包括 CentOS 7.4/7.5/7.6/7.7 。

cluster-create-2

KubeOperator 支持 MultiAZ(多故障域),多主多节点模式适合在 MultiAZ 下部署,实现双活环境下的高可用。

4.1.3 配置节点

【添加主机】环节,把集群所需的主机添加到了 KubeOperator 中。在【配置节点】环节,可以根据需求选择 worker 节点数量,这里以一个 master 和一个 worker 节点为例。

cluster-create-3

4.1.4 选择节点

在【选择节点】环节,则可以根据不同的节点角色,选择主机列表中的各个主机。

cluster-create-4

4.1.5 配置网络

【配置网络】环节,选择集群的 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.6 配置存储

【添加存储】环节,支持两张存储方案,一种是 NFS 存储,新增加 Rook Ceph 存储方案。

如果选择使用 Rook Ceph 存储时,需要设置存储介质和存储路径,存储介质使用推荐测试环境使用的配置,Path 使用推荐路径 /data/ceph,当然可以根据实际环境修改配置。 如何登录 Ceph 控制台查看存储监控信息,请参考第 3.1.4.1 节详细内容。

cluster-create-7

如果选择 NFS 存储, NFS 主机的节点已经在 1.3 节添加到【存储】页面,选择外部持久化存储时,在下来菜单中会列出该节点。

cluster-create-6

4.1.7 配置检测

完成上述 6 个步骤后,KubeOperator 会对当前集群所选择的部署节点进行配置检测,包含 CPU、内存和操作系统的检测,检查是否满足节点最低配置要求。

cluster-create-7

4.1.8 其他设置

在【其他设置】中,我们增加了建议的可运行 POD 数量和 Docker 数据目录。用户可根据实际环境修改。

cluster-create-8

4.1.9 集群配置概览

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

cluster-create-9

4.2 部署集群

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

cluster-deploy

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

cluster-deploy-1

如果是内网环境的话,一个典型的 3 节点集群的部署大概需要 10 分钟左右的时间。在出现类似下图的信息后,表明集群已部署成功:

cluster-deploy-2

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