【k8s】混合架构、离线环境、部署k8s和ks管理平台?不用怕,4条命令,一键部署,轻松搞定

张开发
2026/4/29 5:44:25 15 分钟阅读

分享文章

【k8s】混合架构、离线环境、部署k8s和ks管理平台?不用怕,4条命令,一键部署,轻松搞定
本文使用x86_64和arm64混合架构不同操作系统在离线环境下使用4条命令轻松部署k8s和KubeSphere。1.环境准备服务器基本信息主机名架构OS配置IPharborx86_64CentOS 8.22核4G192.168.0.210masterx86_64Rocky Linux 9.62核4G192.168.0.211node1arm64openEuler 22.032核4G192.168.0.212node2x86_64Kylin V10 SP34核8G192.168.0.2131.1 上传离线制品操作系统不需要安装docker,不需要设置selinux,swap等操作全新的操作系统即可。将离线制品、配置文件、kt和sh脚本上传至服务器其中一个节点(本文以master为例)后续在该节点操作创建集群。本文使用kt:3.1.14.1版本1.2 修改配置文件根据实际服务器信息配置到生成的config-sample.yaml中默认使用containerd运行时如果需要使用docker运行时请修改31行 为dockercontainerManager: dockerkind: Cluster metadata: name: sample spec: hosts: - {name: harbor, address: 192.168.0.210, internalAddress: 192.168.0.210, user: root, password: 123213} - {name: master, address: 192.168.0.211, internalAddress: 192.168.0.211, user: root, password: 123213} - {name: node1, address: 192.168.0.212, internalAddress: 192.168.0.212, user: root, password: 123213, arch: arm64} - {name: node2, address: 192.168.0.213, internalAddress: 192.168.0.213, user: root, password: 123213} roleGroups: etcd: - master control-plane: - master worker: - node1 - node2 # 如需使用 kk 自动部署镜像仓库请设置该主机组 建议仓库与集群分离部署减少相互影响 # 如果需要部署 harbor 并且 containerManager 为 containerd 时由于部署 harbor 依赖 docker建议单独节点部署 harbor registry: - harbor controlPlaneEndpoint: ## Internal loadbalancer for apiservers internalLoadbalancer: haproxy domain: lb.kubesphere.local address: port: 6443 kubernetes: version: v1.30.14 clusterName: cluster.local autoRenewCerts: true containerManager: containerd etcd: type: kubekey network: plugin: calico kubePodsCIDR: 10.233.64.0/18 kubeServiceCIDR: 10.233.0.0/18 ## multus support. https://github.com/k8snetworkplumbingwg/multus-cni multusCNI: enabled: false registry: type: harbor registryMirrors: [] insecureRegistries: [] privateRegistry: dockerhub.kubekey.local namespaceOverride: kubesphereio auths: # if docker add by docker login, if containerd append to /etc/containerd/config.toml dockerhub.kubekey.local: username: admin password: Harbor123 # 此处可自定义kk3.1.8新特性 skipTLSVerify: true # Allow contacting registries over HTTPS with failed TLS verification. plainHTTP: false # Allow contacting registries over HTTP. certsPath: /etc/docker/certs.d/dockerhub.kubekey.local addons: [] --- apiVersion:1.3 系统初始化解压kt-x86.tar.gz文件后执行./kt init-os -f config-sample.yaml已适配操作系统和架构见1.说明该命令kt会根据配置文件自动判断操作系统和架构以完成所有节点的初始化配置和依赖安装。很快将会执行完成2 创建 Harbor私有仓库2.1 创建镜像仓库./kt init registry -f config-sample.yaml -a artifact-x86-arm-k8s13014-ks3.4.1.tar.gz此命令会在harbor节点自动安装docker和docker-composeharbor节点可x86_64也可以是arm64架构。等待几分钟可以看到成功消息如果失败请确认harbor服务器是否安装过docker等服务。2.2 创建harbor项目说明Harbor 管理员账号admin密码Harbor123。密码同步使用配置文件中的对应passwordharbor 安装文件在/opt/harbor目录下可在该目录下对 harbor 进行运维。创建 Harbor 项目chmod x create_project_harbor.sh ./create_project_harbor.sh3 创建k8sKs管理平台./kt create cluster -f config-sample.yaml -a artifact-x86-arm-k8s13014-ks3.4.1.tar.gz此命令kt会自动将离线制品中的镜像推送到harbor私有仓库执行后会有如下提示,输入yes/y继续执行等待一段时间直至出现熟悉的等待安装完成的小箭头—期间可以另开一个窗口用以下命令查看部署日志kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app in (ks-install, ks-installer) -o jsonpath{.items[0].metadata.name}) -f继续等待一段时间最终可以看到安装成功的消息4 验证登录页面集群管理监控告警配置文件默认只安装了监控如果需要安装其他组件可以自行在自定义资源中开启集群信息工作负载集群节点节点情况node1node2可以看到node1为arm64架构node2为x86_64架构所有服务都已正常工作5.总结使用kt工具不论在线还是离线。即使混合架构操作系统部署k8s和KubeSphere也非常简单只需要4条命令轻松部署。初始化操作系统./kt init-os -f config-sample.yaml部署harbor私有仓库./kt init registry -f config-sample.yaml -a artifact-x86-arm-k8s13014-ks3.4.1.tar.gz创建harbor项目chmod x create_project_harbor.sh ./create_project_harbor.sh部署k8s:./kt create cluster -f config-sample.yaml -a artifact-x86-arm-k8s13014-ks3.4.1.tar.gz6.说明关于ktkt是基于kk二次开发的产物具备kk的所有功能。二开主要为适配信创国产化环境、简化arm部署过程和国产化环境离线部署。支持arm64和amd64架构国产操作系统已适配芯片操作系统 如下。kt新增功能点适配arm架构harbor和支持部署体验与X86一样简单。离线环境部署增强。常用国际和国产操作系统依赖内置到安装包中。已适配芯片和操作系统如下./kt init-os -f config-sample.yaml一条命令完成操作系统依赖安装和初始化操作。CPU鲲鹏、飞腾、海光、兆芯、intel、amd等。OSCentos、Rocky Linux、Ubuntu、Debian、银河麒麟V10、麒麟V11、麒麟国防版、麒麟信安、中标麒麟V7、统信UOS、华为欧拉、移动大云、阿里龙蜥、TencenOS等。支持开启防火墙只暴露30000-32767端口其他k8s端口添加到节点白名单。./kt firewall一条命令自动获取节点信息开白名单和防火墙。kt版本更新和下载地址ktkt关注我不迷路

更多文章