rancher 创建自定义 k8s 集群
本文永久链接: https://www.xtplayer.cn/rancher/clusters/rancher-create-custom-cluster/
Rancher 创建自定义 kubernetes 集群,适用于拥有内部虚拟机、内部物理主机,或者没有提供 kubernetes 云服务的云服务器,通过自定义安装方式来快速安装 kubernetes 集群。
主机和端口需求
访问 https://docs.rancher.cn/docs/rancher2/installation_new/requirements/_index/ 了解基础环境硬件配置和端口需求的具体信息。
添加集群
进入
全局/集群
视图,再点击添加集群
选择
自定义
设置
集群名称
成员与角色
集群成员对应了 Rancher 中的一个真实的用户,角色则表示此用户具有的集群权限。要想在创建集群时添加成员和对应的成员角色,需要首先在全局下添加用户和集群角色。
集群选项
kubernetes 版本
每个 Rancher 发行版对应了不同的 kubernetes 版本,可根据需求进行选择;
网络组件
目前 Rancher 支持三种网络组件:flannel、calico、canal。canal 支持基于
项目
的网络隔离,可根据际需求选择是否开启,flannel 支持 Windows(实验阶段)。云提供商
根据主机所属的云平台,选择对应的云提供商。选择对应的云提供商,可以对接公有云上的一些基础设施,比 4 层负载均衡、存储。
显示高级选项
在集群选项页右下角可以看到高级选项按钮
私有镜像仓库
在全局系统设置中有个默认私有仓库,那个私有仓库是全局性的。如果设置后,安装任何集群都将从那个仓库拉取镜像。这个私有镜像仓库是集群层的,只作用于当前创建的集群。
授权集群访问地址
k8s 通过 ssl 来通信认证,而生成 ssl 证书时需要与域名绑定。所以在创建集群的时候为 K8S 集群预先设置一个访问地址,当 Rancher Server 无法访问时,可以通过 kubectl 连接此地址去管理 K8S 集群。
高级集群选项
Nginx Ingress
Rancher 中默认支持 Nginx Ingress,v2.0.7 开始支持根据自定义是否开启,默认开启。
NodePort 端口范围
采用 NodePort 网络模式时,Pod 映射的宿主机端口,默认 30000-32767
Metrics 服务监控
服务监控指标,
v2.0.7
开始支持根据自定义是否开启,默认开启。Pod 安全策略
根据需求选择启用或者禁止,如要启用,需现在
全局| 安全 |Pod 安全策略
中创建策略,默认禁止。主机 Docker 版本
当前版本,经过严格测试的 Docker 有三个版本:18.06.x、18.09.x、19.03.x,如果设置为
需要支的版本
,主机的 Docker 版本需要为三个版本其中之一,如果版本不一致将无法安装 K8S 集群。默认设置允不受支持的版本
,对于生产环境建议选择需要支持的版本
。Docker 根目录
如果 docker root 目录非默认,需在此指定;
ETCD 备份存储
可以选择 ETCD 备份存储路径,默认只存本地,也可以存储到 s3 存储;
ETCD 备份轮换
开启 ETCD 备份轮换后,将控制 ETCD 备份副本数据与快照创建周期;
最后点击
下一步
。自定义主机运行命令
主机角色
在 K8S 的架构中,必须至少有一个 etcd、Control、Worker,三种角色可以运行在同一台主机上。要保证集群的高可用,那么需要保证有多个 etcd、Control 实例并且运行在不同主机上。因为 etcd 数据同步机制,etcd 节点数需要为奇数个,比如 1、3、5,具体查看[etcd 集群容错表](https://docs2.rancher.cn/rancher2x/install-prepare/basic-environment-configuration/#10-etcd 集群容错表)。所以要保证 ETCD 高可用运行,那至少需要有三个节点来运行 etcd 服务。
高级选项
在高级选项中,可以指定节点的 IP 地址。对于内网环境的单 IP 主机,可以忽略此设置;如果是多 IP 主机,以通过此设置来指定主机的访问 IP。
主机标签
标签可用于主机的识别和应用的调度,可以在添加节点的时候为其指定。
假设目前只有一台主机,可按以下方式选择:
最后点击点击右侧的复制按钮
ssh 登录到准备添加到 K8S 集群的节点,粘贴并运行上一步复制的命令。
最后点击
完成