Skip to content

配置文件参考

auto-docker.conf(容器化部署,推荐)

主机名配置

bash
# 是否自定义主机名
# true: 按 host_name+序号 自动命名(如 antispam01, antispam02)
# false: 保持服务器现有主机名(要求各节点主机名唯一)
host_name_custom=false

# 主机名前缀(host_name_custom=true 时生效)
host_name=antispam

SSH 认证

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_ed25519

SQL 初始化

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=true

auto.conf(传统部署,参考)

auto-docker.conf 基本相同,差异如下:

差异auto.confauto-docker.conf
SSH 认证类型无此字段(仅密码)ssh_auth_type 字段
K3s 版本硬编码 v1.28.5+k3s1k3s_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)会调度到这些节点

内部使用文档,请勿外传