微搭私有部署 Kubernetes 集群版部署指南
本文档将指导您在 Kubernetes 集群环境中部署微搭私有化平台,实现高可用、可扩展的企业级部署。
适用范围
K8s 集群版仅适用于微搭私有化企业版以上套餐
部署概述
微搭 Kubernetes 集群版提供了高可用、可扩展的部署方案,适用于生产环境和大规模应用场景。
部署架构

1. 环境准备
1.1 集群要求
运维能力要求
部署前请确保具备 Kubernetes 集群运维能力,K8s 底层相关运维不在维保范围内
硬件配置要求
| 组件类型 | 节点数量 | 配置要求 | 用途说明 |
|---|---|---|---|
| 微搭核心服务 | 3 个节点 | 8 核 vCPU + 16GB 内存 | 部署底座平台服务(多副本、高可用、支持滚动更新) |
| CI/CD 服务 | 1 个节点 | 4 核 vCPU + 8GB 内存 | 可选:内置自动部署 或 单独部署 |
软件环境要求
| 软件组件 | 版本要求 | 说明 |
|---|---|---|
| Kubernetes | v1.22.0 以上 | 集群版本 |
| kubectl | 与集群版本兼容 | 安装指南 |
| helm | 3.x 版本 | 安装指南 |
| Ingress Controller | 任意兼容版本 | 配置指南 |
存储中间件要求
中间件依赖
以下中间件为必需组件,如无法提供请参考 中间件部署指南
| 中间件类型 | 版本要求 | 配置指南 |
|---|---|---|
| MySQL 数据库 | 8.x 版本 | MySQL 配置指南 |
| 对象存储 | S3 兼容协议 | S3 对象存储配置指南 |
系统工具要求
确保部署环境已安装以下工具:
wget:用于下载部署脚本unzip:用于解压安装包
1.2 网络配置要求
外网访问白名单
部署过程中需要访问以下外网地址,请确保网络策略允许:
| 地址 | 端口 | 用途 |
|---|---|---|
weda-private.tencentcloudcr.com | 443 | 镜像仓库访问 |
https://license.tcloudbasegateway.com | 443 | 证书激活/获取最新版本 |
https://weda-private.tencentcloudcr.com | 443 | 镜像拉取 |
https://tcr-9r3x9jec-1302110647.cos.ap-guangzhou.myqcloud.com | 443 | 镜像拉取 |
2. 部署配置
2.1 获 取部署工具
根据服务器架构选择对应的部署工具:
x86_64 架构
# 创建部署目录
mkdir -p k8s_weda && cd k8s_weda
# 下载部署工具
wget -L -O wedaCli https://software-1302110647.cos.ap-guangzhou.myqcloud.com/rc/k8s/x86_64/lastest/wedaCli && chmod +x wedaCli
aarch64 架构
# 创建部署目录
mkdir -p k8s_weda && cd k8s_weda
# 下载部署工具
wget -L -O wedaCli https://software-1302110647.cos.ap-guangzhou.myqcloud.com/rc/k8s/arm64/lastest/wedaCli && chmod +x wedaCli
初始化配置
# 初始化配置文件
./wedaCli init
2.2 配置参数说明
编辑生成的 config.yml 文件,该文件用于生成 Helm values.yaml。主要配置参数说明:
微搭核心配置
| 配置项 | 说明 | 示例值 |
|---|---|---|
weda.ns | 微搭部署的 K8s 命名空间 | weda-software |
weda.ingressClass | Ingress Controller 类名 | 使用 kubectl get ingressClass 获取 |
weda.nodeSelector | Pod 节点选择器 | 可选,用于指定部署节点 |
weda.replicaCount | 服务副本数 | 默认:1 |
weda.disableRollingUpdate | 是否禁用滚动更新 | false(默认滚动更新)/ true(停服更新) |
域名和访问配置
| 配置项 | 说明 | 示例值 |
|---|---|---|
weda.domain | 微搭服务域名 | weda.example.com(不含协议) |
weda.domainProtocol | 访问协议 | http 或 https |
weda.tlsSecretName | TLS 证书 Secret 名称 | 可选,HTTPS 访问时需要 |
weda.license | 微搭许可证书 | 从控制台获取的 License |
MySQL 数据库配置
| 配置项 | 说明 | 示例值 |
|---|---|---|
middleware.mysql.host | 数据库主机地址 | mysql.example.com |
middleware.mysql.port | 数据库端口 | 3306 |
middleware.mysql.username | 数据库用户名 | weda_user |
middleware.mysql.password | 数据库密码 | your_password |
middleware.mysql.dbname | 设计态数据库名 | lowcode |
middleware.mysql.dbRuntimeName | 运行态数据库名 | lcruntime |
数据库创建语句
-- 创建设计态数据库
CREATE DATABASE `lowcode` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 创建运行态数据库
CREATE DATABASE `lcruntime` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
S3 对象存储配置
| 配置项 | 说明 | 示例值 |
|---|---|---|
middleware.s3.endpoint | S3 服务地址 | s3.example.com(不含协议) |
middleware.s3.port | S3 服务端口 | 9000 |
middleware.s3.scheme | S3 访问协议 | http 或 https |
middleware.s3.accessKey | S3 访问密钥 | your_access_key |
middleware.s3.secretKey | S3 秘密密钥 | your_secret_key |
middleware.s3.region | S3 区域 | us-east-1 |
middleware.s3.pathStyle | 是否支持路径风格 | true 或 false |
middleware.s3.insecureSkipVerify | 跳过证书验证 | false(默认) |
S3 存储桶配置
| 配置项 | 权限要求 | 用途说明 |
|---|---|---|
middleware.s3.defaultBucket | 公有读私有写 | 默认存储桶 |
middleware.s3.cloudStorageBucket | 私有读私有写 | 云存储桶 |
middleware.s3.ciSource | 私有读私有写 | CI/CD 源码桶 |
存储桶命名
上述三个存储桶不能同名,详细配置请参考:S3 对象存储配置指南
CI/CD 服务配置
外部 CI/CD 服务
| 配置项 | 说明 | 示例值 |
|---|---|---|
middleware.build.enabled | 启用外部 CI/CD 服务 | true 或 false |
middleware.build.wedaInternalHost | 内网 Host 配置 | "10.0.0.1 weda.example.com" |
middleware.build.gitness.host | Gitness 访问地址 | gitness.example.com |
middleware.build.gitness.proxy | 微搭访问域名 | weda.example.com |
内置 CI/CD 服务
| 配置项 | 说明 | 示例值 |
|---|---|---|
middleware.internalBuild.enabled | 启用内置 CI/CD 服务 | true 或 false |
middleware.internalBuild.hostPath | 数据存放目录 | /data/cicd |
middleware.internalBuild.nodeSelector | 节点选择器 | 可选配置 |
CI/CD 服务优先级
当 middleware.build.enabled 和 middleware.internalBuild.enabled 都为 true 时,系统将优先使用内置 CI/CD 服务