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 IngressRancher 中默认支持 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 集群的节点,粘贴并运行上一步复制的命令。
最后点击
完成


