主题
配置文件参考
auto-docker.conf(容器化部署,推荐)
主机名配置
bash
# 是否自定义主机名
# true: 按 host_name+序号 自动命名(如 antispam01, antispam02)
# false: 保持服务器现有主机名(要求各节点主机名唯一)
host_name_custom=false
# 主机名前缀(host_name_custom=true 时生效)
host_name=antispamSSH 认证
bash
# 认证方式: password(密码)或 key(密钥,推荐)
ssh_auth_type=key
# SSH 端口(默认 22)
ssh_port=22
# SSH 用户名
ssh_user=root
# 密码认证时使用
ssh_password='your-password'
# 密钥认证时的私钥路径
ssh_private_key_file=/root/.ssh/id_ed25519SQL 初始化
bash
# SQL 压缩包路径,留空则跳过数据初始化和应用部署
# 支持格式: .tar.gz / .tgz / .tar / .zip
# 压缩包内含多个 <数据库名>.sql 文件
sql_path=/data/sql-package.tar.gz数据库连接
bash
# 数据库连接(留空则自动通过 NodePort 连接)
# 注意:ops 容器不能直接访问 ClusterIP
db_host= # 留空用 127.0.0.1
db_port= # 留空自动获取 NodePort
db_user=admin
db_password='eHSkDv7c77*j'
db_charset=utf8mb4存储路径
bash
# Docker 数据目录(建议放在空间最大的分区)
docker_path="/data"
# Docker bridge 网段(避免与现有网段冲突)
docker_bip="172.18.0.1"
# K3s 数据目录
k3s_path="/data"K3s 集群配置
bash
# K3s 版本
k3s_version="v1.35.3+k3s1"
# 网卡名(必须填写服务器实际网卡名)
# 查看方法: ip link show
k3s_flannel_iface="enp0s3"
# Flannel 网段前缀(确保不与现有网络冲突)
# Pod 网段: <prefix>.0.0/18
# Service 网段: <prefix>.64.0/18
k3s_flannel_network_prefix="10.233"节点 IP 配置
bash
# Master 节点 IP(1个=单机,3个=HA集群,不能为2)
k8s_master_ip=(
192.168.56.102
)
# Worker 节点 IP(可以留空)
k8s_worker_ip=(
)
# GPU 节点 IP(可以留空)
gpu_type=tesla # tesla 或 gtx
nvidia_ip=(
)中间件节点配置
bash
# 各中间件的部署节点 IP(留空则自动选择性能最优的节点)
# 多节点模式下,每个组件会在指定节点上创建副本
ingress_node=()
zookeeper_node=()
mysql_node=()
kafka_node=()
storm_node=()
rediscluster_node=()
minio_node=()
elasticsearch_node=()
kibana_node=()
# 要部署的中间件列表(按顺序安装)
apps_name=(zookeeper mysql kafka rediscluster minio elasticsearch)其他配置
bash
# 是否使用宿主机 DNS(true=将宿主机 /etc/resolv.conf 转发给 CoreDNS)
k8s_resolv=true
# 镜像仓库路径(留空使用默认路径)
registry_path=
# 是否设置 at 定时任务(部署完成后询问)
at_status=trueauto.conf(传统部署,参考)
与 auto-docker.conf 基本相同,差异如下:
| 差异 | auto.conf | auto-docker.conf |
|---|---|---|
| SSH 认证类型 | 无此字段(仅密码) | ssh_auth_type 字段 |
| K3s 版本 | 硬编码 v1.28.5+k3s1 | k3s_version 字段 |
| 默认网卡 | bond0.3101(网易内部) | enp0s3(通用) |
| 默认 SSH 端口 | 1046(网易内部) | 22 |
| 断点续传 | 不支持 | 支持 |
配置示例
示例 1:单机测试环境
bash
ssh_auth_type=password
ssh_port=22
ssh_user=root
ssh_password='your-password'
k3s_flannel_iface="eth0"
k3s_flannel_network_prefix="10.233"
k8s_master_ip=(192.168.1.10)
k8s_worker_ip=()
nvidia_ip=()
docker_path="/data"
k3s_path="/data"
sql_path=/data/sql.tar.gz
apps_name=(zookeeper mysql kafka rediscluster minio elasticsearch)示例 2:三节点高可用生产环境
bash
ssh_auth_type=key
ssh_private_key_file=/root/.ssh/id_rsa
ssh_port=22
ssh_user=root
k3s_flannel_iface="bond0"
k3s_flannel_network_prefix="10.100"
k8s_master_ip=(
10.0.1.10
10.0.1.11
10.0.1.12
)
k8s_worker_ip=(
10.0.1.20
10.0.1.21
)
# 手动指定中间件节点(每个节点分配一个中间件)
zookeeper_node=(10.0.1.10 10.0.1.11 10.0.1.12)
mysql_node=(10.0.1.10)
kafka_node=(10.0.1.10 10.0.1.11 10.0.1.12)
rediscluster_node=(10.0.1.10 10.0.1.11 10.0.1.12)
minio_node=(10.0.1.10 10.0.1.11 10.0.1.12)
elasticsearch_node=(10.0.1.10 10.0.1.11 10.0.1.12)
docker_path="/data"
k3s_path="/data"
sql_path=/data/sql.tar.gz
apps_name=(zookeeper mysql kafka rediscluster minio elasticsearch)示例 3:带 GPU 的混合集群
bash
# ... 基础配置同上 ...
gpu_type=tesla
nvidia_ip=(
10.0.1.30
10.0.1.31
)
# GPU 节点会被打标签 nvidia-gpushare=true
# AI 模块(yidun-ai)会调度到这些节点