银河麒麟系统部署SaltStack有四种方案:一、官方YUM源安装配置;二、RPM离线包部署适配封闭环境;三、容器化Master支持云原生;四、对接KOS-MMP平台实现统一纳管。

如果您在银河麒麟(KOS)操作系统上部署SaltStack以支撑大规模集群运维,可能遇到兼容性配置、服务通信异常或密钥认证失败等问题。以下是针对银河麒麟系统安装与集成SaltStack的多种可行方案:
一、基于官方YUM源的SaltStack安装与Master/Minion配置
该方法适用于银河麒麟5.8 SP1及以上版本,依赖系统内置的yum包管理器与官方兼容仓库,确保二进制包签名可信、依赖自动解析完整。
1、在Master节点执行以下命令配置SaltStack官方YUM源:
2、运行yum安装salt-master主控端:
3、编辑主配置文件,启用监听与自动认证:
4、启动并设为开机自启:
5、在每台Minion节点(银河麒麟客户端)安装salt-minion:
6、修改Minion配置,指定Master IP及唯一ID(建议使用主机名或IP):
7、启动Minion服务,并在Master端执行密钥签发:
8、验证连通性:
二、使用RPM离线包部署SaltStack(适用于无外网环境)
该方法专为银河麒麟封闭生产环境设计,避免网络依赖,所有组件(master/minion/依赖库)均通过离线RPM包一次性部署,适配KOS x86_64与ARM64双架构。
1、从SaltStack官网下载对应KOS内核版本的RPM包集合(如salt-master-3002.9-1.el8.noarch.rpm等)并同步至内网服务器。
2、在Master节点执行本地安装(忽略GPG校验以适配国产签名体系):
3、手动安装缺失依赖(如python3-msgpack、python3-pyzmq),优先选用银河麒麟系统源中同版本包:
4、创建/etc/salt/master.d/secure.conf,禁用TLS强制校验(适配国产SSL中间件):
5、在Minion节点重复步骤2–3,安装salt-minion RPM包。
6、配置/etc/salt/minion.d/id.conf,强制设定ID为hostname -f输出值,避免因DNS缺失导致ID为空。
7、执行salt-key -L确认未签名密钥列表,使用salt-key -a minion-hostname逐台签署。
三、容器化SaltStack Master(适配Kubernetes+麒麟云环境)
该方案面向已构建银河麒麟云原生平台的用户,将SaltStack Master封装为OCI镜像,在KOS容器运行时(如iSulad)中部署,实现高可用与弹性伸缩,同时复用麒麟云监控告警体系。
1、拉取兼容KOS的SaltStack官方Alpine或CentOS基础镜像:
2、编写Dockerfile,集成银河麒麟CA证书与salt-master配置模板:
3、构建镜像并推送至企业私有镜像仓库(如Harbor-KOS):
4、使用KOS云平台CLI部署StatefulSet,挂载持久卷用于保存keys和file_roots:
5、为Minion节点配置/etc/salt/minion,master字段指向Service DNS名称:salt-master.kos-system.svc.cluster.local。
6、通过kubectl exec进入Master Pod,执行salt-key -A批量接受Minion请求。
7、验证跨节点执行能力:
四、对接银河麒麟服务器迁移运维平台(KOS-MMP)实现统一纳管
该方法充分利用银河麒麟原生生态能力,将SaltStack作为KOS-MMP平台的底层执行引擎,实现主机分组、漏洞修复指令下发、配置变更溯源与可视化监控联动。
1、在KOS-MMP管理控制台启用“SaltStack插件模块”,输入已部署Salt Master的API地址与Token。
2、通过MMP平台导入主机资产清单,自动触发Salt Minion安装脚本(由MMP内置分发通道推送)。
3、在MMP策略中心创建“安全基线加固”策略,绑定Salt State SLS文件路径:/srv/salt/kos_baseline/init.sls。
4、设置分组执行模式:选择“麒麟V10-数据库组”,点击“立即执行”,MMP自动调用salt '*' state.apply命令。
5、执行完成后,MMP自动采集各节点返回结果,生成合规率热力图与差异对比报告。
6、在MMP审计日志中可追溯每次Salt命令的发起人、时间、目标主机及原始命令行参数。

















