rke部署集群的准备条件

Rancher 的部署有三种架构:单节点 Kubernetes ,单节点 Docker, 高可用 Kubernetes。
这里总结一下高可用的集群的准备条件。
节点配置
在 RKE 集群中安装 Rancher 高可用,官方建议为高可用配置以下基础设施:

  • 3 个 Linux 节点,通常是虚拟机,可以自行选择的基础设施提供商,例如阿里云,腾讯云。
  • 1 个负载均衡器,用于将流量转发到这三个节点。
  • 一条 DNS 记录,用于将 URL 指向负载均衡器。这将成为 Rancher Server 的 URL,下游集群需要可以访问到这个地址。
    在 RKE 集群中,Rancher Server 数据存储在 etcd 中。这个 etcd 数据库在所有三个节点上运行。

为什么etcd 数据库需要奇数个节点呢?选举方式是要一半+1的节点同意。因此它始终可以选举出被大多数 etcd 节点认可的集群的领导者。如果 etcd 数据库无法选出领导者,则 etcd 可能会遭受脑裂的困扰,这时将需要从备份中恢复集群。如果三个 etcd 节点之一发生故障,则其余两个节点可以选择一个领导者,因为它们占 etcd 节点总数的大部分。

操作系统
Rancher 应用可以兼容当前任何流行的 Linux 发行版,Ubuntu,CentOS, 和 RedHat Enterprise Linux。

硬件要求
RKE 高可用安装的 CPU 和 内存要求, 这些要求适用于安装了 Rancher Server 的 RKE Kubernetes 集群中的每个主机。

部署规模集群节点vCPUs内存
最多 150 个最多 1500 个28 GB
最多 300 个最多 3000 个416 GB
最多 500 个最多 5000 个832 GB
特大最多 1000 个最多 10,000 个1664 GB
超大最多 2000 个最多 20,000 个32128 GB

时间同步
安装 ntp (Network Time Protocol),这样可以防止在客户端和服务器之间因为时钟不同步而发生证书验证错误。

docker
任何运行 Rancher Server 的节点上都需要安装 Docker。最新的版本的docker容易出现版本依赖问题,建议使用稳定版本。

# 1 安装依赖工具
  yum install -y yum-utils
 
# 2 配置docker仓库
 sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
   
# 国外的仓库很慢,可以使用国内的镜像快一点 
 sudo yum-config-manager \
	--add-repo \
	http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 3 安装docker
# sudo yum install docker-ce docker-ce-cli containerd.io
# 3 指定版本docekr 例如 18.09.7 # 这里不能用最新版本的,经过测试,最新版本和rek2不兼容。
 # yum list docker-ce --showduplicates | sort -r # 查看可用版本
 #yum install docker-ce-18.09.7  docker-ce-cli-18.09.7
# 4 配置镜像 
cat > /etc/docker/daemon.json <EOF
    {
    "registry-mirrors": [
     "https://mirror.ccs.tencentyun.com"
    ]
    }
EOF
# 5 重启启动 
systemctl enable docker 
systemctl restart docker 

端口
Rancher 节点的入站规则

协议端口描述
TCP80负载均衡或反向代理到 Rancher UI/API 的 HTTP 流量
TCP443负载均衡或反向代理 / 所有集群节点的 IP 和其他 API/UI 客户端到 Rancher UI/API 的 HTTPS 流量

Rancher 节点的出站规则

协议端口目的描述
TCP22使用主机驱动创建的节点中的任何节点 IP使用主机驱动通过 SSH 进行节点配置
TCP44335.160.43.145/32,35.167.242.46/32,52.33.59.17/32git.rancher.io (应用商店)
TCP2376使用主机驱动创建的节点中的任何节点 IPDocker Machine 使用的 Docker 守护进程的 TLS 端口
TCP取决于供应商托管集群的 Kubernetes API 端口Kubernetes API

通常情况下,可以将这些端口在 Kubernetes 节点上开放,无论它是哪种类型的集群。

协议端口描述
TCP22使用主机驱动通过 SSH 进行节点配置
TCP2376主机驱动与 Docker 守护进程通信的 TLS 端口
TCP2379etcd 客户端请求
TCP2380etcd 节点通信
UDP8472Canal/Flannel VXLAN overlay 网络
UDP4789Windows 集群中 Flannel VXLAN overlay 网络
TCP9099Canal/Flannel 健康检查
TCP9796集群监控拉取节点指标的默认端口(仅需要内网可达)
TCP6783Weave 端口
UDP6783-6784Weave UDP 端口
TCP10250kubelet API
TCP10254Ingress controller 健康检查
TCP/UDP30000-32767NodePort 端口范围
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值