TKE Anywhere 集群支持部署和运行在用户自有 IDC、边缘机房或者虚拟机等环境上,请仔细阅读以下安装前提条件,确保现场环境满足 TKE Anywhere 的部署和运行要求。
产品依赖
创建和使用 TKE Anywhere 集群,您需要 注册腾讯云账号,并完成 实名认证,并完成开通 TDCC 云原生分布式云中心服务,参考 快速入门。如需选择公网方式部署 TKE Anywhere 集群,依赖 TDCC 云原生分布式云中心服务开启 Hub 集群 API Server 公网访问和创建 TKE Anywhere 集群能力,开启上述功能将自动创建公网 CLB 和 EIP 实例。如在使用 TKE Anywhere 集群时使用到 负载均衡 CLB、弹性公网 IP 等其他收费产品时,按原产品计费原则计费,请参考 CLB 收费标准 和 EIP 计费标准。
硬件要求
部署 TKE Anywhere 前请确保有足够的 CPU、内存和存储资源,以满足集群和您运行的工作负载的需求。根据不同使用用途,部署 TKE Anywhere 的服务器硬件配置最低应满足下表要求。
部署模式 | 节点类型 | CPU 核数 | 内存 | 磁盘 | 数量 |
高可用生产部署 | master | 8 | 16GB | 磁盘容量: /var 目录所在的分区剩余容量大于100GB | 3 |
| worker | 2 | 4GB | 磁盘容量:/var 目录所在的分区剩余容量大于100GB | N(根据业务规划配置) |
试用或 POC 演示 | master | 8 | 16GB | 磁盘容量: /var 目录所在的分区剩余容量大于100GB | 1 |
| worker | 2 | 4GB | 磁盘容量: /var 目录所在的分区剩余容量大于100GB | N(根据业务规划配置) |
注意事项
1. 上述表格不涉及用户自身业务的容量规划,请根据实际业务情况,设置合适的 Worker 节点资源配置。2. 如果 Worker 节点数为0,且未启用 Master 节点调度,创建出的集群将没有可供业务调度使用的节点。3. 默认使用的服务器存储目录:a. 容器镜像默认存储在 /var/lib/containerd 目录。b. 容器日志默认存储在 /var/log 目录。c. K8s etcd 数据库默认存储在 Master 节点 /var/lib/etcd 目录。4. 服务器至少含有一块网卡(推荐万兆以上网卡),同一集群下服务器网卡名称需要保持一致。5. 支持 GPU 如下:Volta 架构:V100 Turing 架构:T4Ampere 架构:A100、A10
网络要求
部署 TKE Anywhere 支持跳板机和反向通道两种连接方式,请选择其中一种部署连接方式。
跳板机连接方式
1. 需要准备一台可供公网 SSH 登录的跳板机,并且跳板机与需要部署 TKE Anywhere 的服务器可以通过 SSH 内网互通。2. 跳板机可与 Master 节点为同一服务器。3. 跳板机带宽 ≥ 10Mbps4. 部署 TKE Anywhere 的服务器需要具有访问公网能力,用于访问:TDCC Hub 集群 APIServer 的地址:用于 TKE Anywhere 的注册。ccr.ccs.tencentyun.com:拉取集群部署依赖的镜像。
反向通道连接方式
1. 需要准备一台可访问公网的跳板机,并且跳板机与需要部署 TKE Anywhere 的服务器可以通过 SSH 内网互通。2. 跳板机可与 Master 节点为同一服务器。3. 跳板机带宽 ≥ 10Mbps4. 部署 TKE Anywhere 的服务器需要具有访问公网能力,用于访问:TDCC Hub 集群 APIServer 的地址:用于 TKE Anywhere 的注册。ccr.ccs.tencentyun.com:拉取集群部署依赖的镜像。注意:如果通过内网连接现场 IDC 部署 TKE Anywhere,需确保支持通过内网 SSH 登录跳板机,或跳板机可内网访问部署通道地址,所有部署 TKE Anywhere 的服务器应支持通过内网访问 Hub 集群 APIServer 的地址和 ccr.ccs.tencentyun.com 镜像仓库地址。
端口要求
Master 节点应满足以下端口开放策略,保证集群正常工作。
协议 | 端口 | 来源IP | 说明 |
TCP | SSH 登录端口,按需放行 | 跳板机 | TDCC 通过跳板机 SSH 部署管理 TKE Anywhere |
TCP | 80 | 所有节点 | ingress 占用 |
TCP | 8181 | 所有节点 | ingress 占用 |
TCP | 2379 – 2380 | 所有 Master&Etcd 节点 | etcd 通信 |
TCP | 443 | 所有节点 | ingress 占用 |
TCP | 9100 | 所有节点 | node exporter |
TCP | 6443 | 所有节点 | Kubernetes API Server 服务 |
TCP | 10250-10255 | 所有节点 | kubelet 通信 |
TCP | 30086 | 所有节点 | tke-monitor 通信 |
TCP | 31138 | 所有节点 | tke-auth 通信 |
TCP | 31180 | 所有节点 | tke-gateway 通信 |
TCP | 31443 | 所有节点 | tke-gateway 通信 |
Worker 节点应满足以下端口开放策略,保证集群正常工作
协议 | 端口 | 来源IP | 说明 |
TCP | 22 | 跳板机 | TDCC 通过跳板机 SSH 部署管理 TKE Anywhere |
TCP | 9100 | 所有节点 | 本地监控 node exporter 通信 |
TCP | 10250-10255 | 所有节点 | kubelet 通信 |
集群 API Server 高可用要求
为满足集群高可用特性,集群 Master 节点采用高可用方式部署,支持 Keepalived 和使用已有 LB 两种高可用模式,根据选择分别应满足:Keepalived 模式需要提供一个 VIP,网络开启 VRRP 组播模式,该 VIP 需要和集群节点 IP 在同一个二层网段,并保证与服务器互通。使用已有 LB 模式需要提供 LB VIP,VIP 绑定所有 Master 节点的80(容器服务控制台)、443(容器服务控制台)、6443(kube-apiserver 端口)、31138(tke-auth-api 端口)端口。注意:因为提供的 VIP 或 LB 导致的服务不可用问题,不计为 TKE Anywhere 产品问题。
存储类型
TKE Anywhere 平台本身不提供高可用的存储,如使用本地磁盘方式部署,部分数据(如镜像仓库数据,监控数据)默认保存在节点指定目录下。如需要对该数据进行高可用的存储,需要提供外部存储,支持对接以下存储类型:NFS 存储Ceph FS 存储Ceph RBD 存储注意:1. 使用本地磁盘方式部署仅用于试用或 POC 演示,因为本地磁盘方式不支持平台高可用特性。2. 因为外部存储故障导致的如数据丢失、读取失败或服务不可用等问题,不计为 TKE Anywhere 产品问题。3. 由于本地磁盘和 Ceph RBD 块存储的技术限制,可能导致在节点发生故障情况下,镜像数据不能动态迁移导致镜像拉取失败。建议对镜像仓库组件指定外部 S3 对象存储,否则 TKE Anywhere 将不保证完整的平台高可用特性。
软件要求
请仔细阅读部署前软件要求说明,针对集群中的所有节点(服务器),操作系统和软件需要满足:
检查项 | 具体要求 | 命令参考 |
操作系统 | TencentOS Server 2.4(TK4) |
cat /etc/redhat-release |
kernel 版本 | TK4-5.4 |
uname -sr |
集群节点时间 | 集群节点时间要同步 | date 命令查看集群节点的时间,如果不同步需要进行同步操作 |
空间目录要求 | /var/lib 目录可用空间大于100G |
du -sh /opt du -sh /var/lib |
ssh sudo yum CLIsftp | 确保 Installer 节点及其容器、Global 集群节点及其容器、业务集群节点及其容器之间能够 ssh 互联。确保每个节点都有基础工具。 | 1. 确保在添加所有节点时,IP 和密码输入正确2. 确保每个节点都有 sudo 或 root 权限3. 确保拥有 yum4. 确保拥有命令行工具 |
Swap | 关闭。 如果 Swap 分区被启用,系统可能会出现 IO 飙升的问题,导致 Docker 卡死。如果 Swap 分区被启用,kubelet 可能会启动失败。您可以在 kubelet 启动参数中设置 --fail-swap-on=false ,以关闭 Swap 检查。 |
sudo swapoff -a sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab 注意:如果 /etc/fstab 有挂载 swap,必须要注释掉,否则重新开机时会重新挂载 swap。 |
防火墙 | 关闭。或者至少要放通22、80、8080、8089、443、9100、6443、2379、2380、10250-10255、31138、31180、31443 端口。 | 可通过以下命令关闭防火墙:
systemctl stop firewalld && systemctl disable firewalld 可通过以下命令放通指定端口,例如只放通80端口: firewall-cmd --zone=public --add-port=80/tcp --permanent |
SELinux | 关闭。Kubernetes 官方要求,否则 kubelet 挂载目录时可能报错 Permission denied。 |
setenforce 0 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config |
时区 | 所有服务器时区必须统一,建议设置为 Asia/Shanghai。 |
timedatectl set-timezone Asia/Shanghai |
时间同步 | 为了确保 ETCD 集群的正常运行,各机器的时间必须同步。建议使用 chrony 工具进行系统时间同步。同时,所有服务器的时间也必须同步,并且误差不得超过 2 秒。 |
yum install -y chronyd systemctl enable chronyd && systemctl start chronyd |
containerd 检查 | 在安装 TKE Anywhere 之前,建议先检查是否已经安装了 containerd,并且版本是否与 TKE Anywhere 一致。 如果版本不兼容,建议先卸载旧版本的 containerd,再安装 TKE Anywhere 所需的版本。 |
yum remove containerd -y |
其他残留软件 | 在部署 TKE Anywhere 之前,建议先检查环境中是否存在残留的 dockerd、containerd、kubelet、kubectl、kubeadm、kubernetes-cni 等容器运行时以及 Kubernetes 软件。如果存在,需要先将其卸载并清理干净,以确保部署过程的顺利进行。 | – |
磁盘格式 | 如需使用 LocalPV 存储,所在磁盘格式必须为 XFS。 |
执行以下命令,检查磁盘文件系统类型是否为 XFS($DeviceName 需要根据实际环境填写具体的盘符名称):
blkid -p -s TYPE -s PTTYPE -o export $DeviceName 执行以下命令,检查挂载磁盘是否指定磁盘: findmnt -o source --noheadings --target /data1 |
注意事项
云原生 paas 功能使用 LocalPV 存储,要求节点上存储 PaaS 中间件数据的磁盘格式为标准 XFS。如果磁盘检查未通过,在需要刷新磁盘的节点上依次进行如下操作:1. 升级 xfsprogs
wget https://kincos-1251707795.cos.ap-guangzhou.myqcloud.com/localpv/xfsprogs-5.9.0-8.tl2.x86_64.rpmrpm -Uvh xfsprogs-5.9.0-8.tl2.x86_64.rpm
2. 格式化本地磁盘
mkfs.xfs -m crc=1,reflink=1 -n ftype=1 $DeviceName
3. 挂载到指定路径
mkdir /data1mount -o defaults,prjquota,noatime,nodiratime $DeviceName /data1echo "$DeviceName /data1 xfs defaults,prjquota,noatime,nodiratime 1 1" >> /etc/fstab
容器服务官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/148109.html