天翼云CCE Anywhere集群是面向分布式云场景,提供的一种全新本地 Kubernetes 集群部署选项:构建在Kubernetes子项目Cluster API(CAPI)之上,通过申明式API和控制器模式,让您在自己管理的IDC基础设施或边缘设施中,创建、管理和升级基于天翼云CCE Distro发行版的Kubernetes集群;拥有与云上CCE发行版相同可靠性和安全性的同时,通过连接到云上注册集群,可获得标准化集群运维(含日志、监控、巡检、诊断、备份等)、丰富的插件扩展,以及智算套件、集群联邦等高阶扩展能力,实现轻量敏捷、云边一体的分布式容器云服务。
产品优势
公有云标准化交付,相同可靠性与安全性;
丰富扩展能力,将云上现代化操作实践和工具适配本地集群环境;
支持纯离线环境部署交付;
基于云原生开源标准构建;
典型应用场景
将本地应用从虚拟机迁移到现代化容器;
基于容器构建内部开发平台,以标准化团队资源使用;
将本地基础设施容器化后,与云上资源打通以实现极致弹性能力;
将本地基础设施容器化后,接入CCE One集群联邦以实现分布式智算能力;
施工指南
部署工具
天翼云CCE Anywhere集群支持丰富的交付部署方式,以确保可满足您交付环境的依赖需要。
CCE One Web 远程在线交付
若您环境可正常访问公网,后续也希望将部署的CCE Anywhere集群接入云上,体验标准云上容器管理能力及扩展能力,建议基于天翼云CCE One Anywhere集群Web UI界面引导配置和部署;方便快捷,全流程UI指引,远程自动交付。
CCE AnyWhere CLI 离线环境交付
若您环境为封闭内网环境,无法访问公网也不允许被公网访问,可使用CCE AnyWhere CLI工具的离线部署模式,进行环境部署与生命周期管理;
若您环境可正常访问公网,但只部署标准Anywhere集群并后续内网维护和使用,可使用CCE AnyWhere CLI工具的在线部署模式,简单配置快速交付集群;
部署架构
CCE Anywhere集群支持两种集群部署模式,分别为独立模式和受控模式,您可按照您实际资源及管控需求,选择合适的架构模式来部署;
独立模式
独立模式只需要您提供一台管理机+多台工作集群节点,即可将Anywhere集群部署到您提供的工作节点上去;最小部署、敏捷交付,适合IDC计划只一套Kubernetes集群或少量集群模式。
该模式下,Anywhere生命周期管理组件需运行在工作集群中,对集群资源有一定占用,且可能和用户业务应用Pod存在相互干扰情况,建议将Anywhere生命周期管理组件调度到独立的节点上运行,并预留足够的资源给相关组件服务。
受控模式
受控模式依赖单独的已提前部署好的管理集群(管理集群与独立模式工作集群部署要求及方式相同,只用于运行Anywhere集群生命周期管理组件,不承载任何用户业务workload),通过管理集群中相关管控Controller,来实现按需的工作集群部署及相关生命周期调谐动作;管控分离、易扩展,适合一个IDC网络中部署管理多套Anywhere集群场景。
部署指引
本施工指南中,我们将以全新独立模式工作集群的交付部署作为参考说明;在此基础上,若您想进一步体验受控模式工作集群部署,只需要在部署好独立模式工作集群后:
创建新受控模式工作集群的cluster.yaml及准备相关机器信息文件;
将这些文件apply到前面部署好的独立模式工作集群中去。
此时,前面独立模式工作集群即为当前受控模式中的管理集群,专门负责运行Anywhere控制面相关组件服务;这些组件服务在监听到新集群的配置文件apply后,会及时调谐和部署新的工作集群,即受控模式下的工作集群。这些由专门管理集群调谐出来的工作集群,将只运行K8S容器本身组件服务及您后续部署的业务应用服务,其容器生命周期管理由管理集群相关组件负责。
部署配置前,需要您准备两种类型的机器:管理机、集群节点。其中:
管理机:管理机是您环境中CCE Anywhere集群生命周期管理操作的来源客户端环境,可以是一台临时笔记本或您IDC环境中的服务器或虚拟机,需要能联通Anywhere集群节点网络、控制面APIServer,以及满足最小规格要求(4C8G+100G存储)以便运行临时部署服务组件;管理机理论上不要求长期存在,但在清理管理机前,建议您对机器上相关目录及配置文件进行备份,以便下次在其他管理机上时,可基于这些配置文件对Anywhere集群进行管理;
集群节点:部署由CCE Anywhere控制面创建和管理的目标集群,用于长期运行CCE Anywhere部署服务组件及运行用户工作负载;其生命周期由Anywhere控制面组件控制。
说明
独立模式,即全新部署,需要提供管理机和集群节点两类机器。
受控模式,即基于之前已创建的 AnyWhere 通道部署工作集群,则确保已有 AnyWhere 通道可用后,只需提供工作集群所需的集群节点即可。
以下以在您环境中,使用cce-anywhere CLI结合管理机引导部署一套全新的独立模式工作集群为例进行说明;若您采用的是我们推荐的CCE One WEB UI在线交付方式,整体流程上基本保持一致,只下图中相关文件基于控制台您的输入生成、执行命令创建集群由控制台后端您的部署配置提交触发。
相关关键部署流程参考如下:
1、集群信息准备(Cluster.yaml)
参考上图所示确定相关集群规划信息,并基于此生成部署所需Cluster.yaml文件。核心需要明确两个信息:
基于IDC机器环境是否可以主动访问公网,明确是采用在线部署方式,还是选择离线部署?若选择离线部署,需要提供本地可用的OCI及S3存储,并基于cce-anywhere工具将云上物料导入到您IDC本地OCI和S3存储中去;另外,也需要在最终生成的Cluster.yaml文件中新增imageMirror等相关配置,以使最终从您本地存储中获取集群部署所需物料。
基于是否使用您本地LB来高可用部署,确定是否需要部署CCE Anywhere控制面LB组件?若您有本地可用LB且期望使用本地LB,可配置SkipLoadBalanceDeployment=true;若您本地为裸金属、裸机环境,无可用LB,且环境支持ARP或BGP协议,可设置SkipLoadBalanceDeployment=false。
除此之外,还需您确定部署的K8S集群版本(从Anywhere支持范围中选择,建议最新),集群的Pod CIDR、Service CIDR,Master、Worker节点数量,以及是否需要自定义Kubelet、Master组件等运行配置等。
通过执行以下命令,可生成cluster.yaml的参考模板文件。
./cce-anywhere generate clusterconfig ${clusterName} -p tinkerbell > cluster.yaml基于该文件,您可参考您实际集群规划进行相关配置参数的调整。
2、设备信息准备(hardware.csv)
准备部署天翼云CCE Anywhere集群所需的集群节点相关信息,并参考generate模板中提供的hardware.csv文件格式,整理相关机器信息记录到hardware.csv文件中。
您需要清晰了解不同集群节点类型或管理方式,对您机器网络的要求,以便正确地被CCE Anywhere管理:
若您选择的节点类型是【物理机(托管)】,也即将由天翼云自动给您节点安装操作系统并部署集群相关基础组件和服务;该节点类型情况下,要求所有集群组件需要处于相同二层网络下,否则自动安装操作系统会因DHCP失败而安装失败;
该节点模式下,需要您提供相关机器的MAC、BMC访问及认证信息、节点网络信息(IP段、网关、DNS等)以及节点IP信息等,并按格式整理成headware.csv文件;
格式参考
hostname,bmc_ip,bmc_username,bmc_password,mac,ip_address,netmask,gateway,nameservers,labels,disk
eksa-cp01,10.10.44.1,root,PrZ8W93i,CC:48:3A:00:00:01,10.10.50.2,255.255.254.0,10.10.50.1,8.8.8.8|8.8.4.4,type=cp,/dev/sda
eksa-cp02,10.10.44.2,root,Me9xQf93,CC:48:3A:00:00:02,10.10.50.3,255.255.254.0,10.10.50.1,8.8.8.8|8.8.4.4,type=cp,/dev/sda若您选择的节点类型是【物理机(纳管)或虚拟机】,此时节点操作系统需要您自行提前安装好,需要确保已安装操作系统为天翼云CCE Anywhere支持的操作系统类型(默认支持CtyunOS);在此基础上,CCE Anywhere将进行操作系统优化配置,并按规划部署集群相关基础服务及组件;
此节点类型情况下,您只需提供节点的SSH登录信息,按格式整理汇总到hardware.csv文件即可。
格式参考
type,ip_address,port,username,password,labels
host,192.168.200.4,22,root,test_pwd,type=cp
host,192.168.200.5,22,root,test_pwd,type=worker节点部署时,相关物料将直接由节点进程从相关仓库中下载;若您选择的为在线部署模式,则需要节点能正常访问公网,以便从天翼云提供的公网仓库中下载相关物料资源。
3、管理机准备(cce-anywhere+docker)
管理机是集群部署的引导节点,独立模式工作集群将基于管理机上的命令执行进行引导安装部署。
基于部署集群节点类型不同,对管理机网络有不一样的要求:
若部署节点类型为【物理机(托管)】,要求管理机与集群节点属于同一个二层网络,且与节点BMC网络通,以支持PXE引导操作系统重装;
若部署节点类型为【物理机(纳管)或虚拟机】,只需要管理机可正常访问节点SSH IP端口即可;
由于管理机上需要执行集群部署引导命令,要求管理机还需满足以下要求:
已部署Docker并状态为运行中(建议最新版本,旧版本可能存在OCI协议兼容问题);
满足最小规格要求,建议最小4C8G + 200G可用存储空间;
4、开始集群部署(CLI命令)
在完成前面1、2、3步骤相关信息搜集及物料准备后,将其放入管理机同一目录文件下,并执行以下命令开始Anywhere集群部署引导:
./cce-anywhere create cluster --hardware-csv hardware.csv -f cluster.yaml其中,
hardware.csv文件为您前面准备的节点信息文件;
cluster.yaml为您前面准备的集群信息文件;
cce-anywhere将首先完成物料信息的校验,然后完成控制面引导组件服务的部署,再完成集群控制面Master节点部署,最后完成集群worker节点部署并加入到集群中;
整个部署引导过程可能花费数十分钟甚至更长时间,具体耗时与您提供的节点数量、是否重装系统、在/离线部署模式以及节点部署并发策略均有关,请耐心等待工具命令执行完成。