在AWS EC2搭建Kubernetes集群时遭遇salt-master未正常工作错误
解决
kube-up.sh执行时salt-master未正常运行的问题 我之前在AWS上用kube-up.sh搭建K8s集群时也碰到过一模一样的问题,大概率是salt服务初始化异常、网络权限限制或者配置冲突导致的,试试下面这些排查修复步骤:
1. 登录Master节点检查salt-master状态
既然日志提示SSH已经能连通Master节点,直接登录进去查看salt服务的运行情况:
# 查看salt-master服务状态 sudo systemctl status salt-master
如果服务未启动,手动启动并设置开机自启:
sudo systemctl start salt-master sudo systemctl enable salt-master
要是启动失败,查看日志定位具体报错:
sudo journalctl -u salt-master -f
常见问题包括4505/4506端口被占用、salt配置目录权限不正确等,根据日志提示针对性修复即可。
2. 验证AWS安全组与节点网络
salt-master需要通过4505(发布端口)和4506(执行端口)与集群节点通信,务必确认:
- Master节点的安全组规则,已允许集群内所有节点访问这两个端口
- 节点的防火墙(iptables/firewalld)没有拦截salt的通信,可执行以下命令检查:
sudo iptables -L | grep 4505 sudo firewall-cmd --list-ports
如果存在拦截,添加对应的端口放行规则。
3. 重新初始化Salt本地状态
有时候Salt的初始化配置会出现异常,执行以下命令重新应用本地状态:
sudo salt-call --local state.highstate
这个命令会自动修复Salt相关的配置文件、依赖和服务状态。
4. 重置集群后重新执行部署
如果以上步骤都无效,可能是初始化过程中产生了临时错误,尝试先清理现有集群资源再重新部署:
# 清理现有集群 bash cluster/kube-down.sh # 重新设置环境变量并启动部署 export KUBERNETES_PROVIDER=aws bash cluster/kube-up.sh
内容的提问来源于stack exchange,提问作者Ashish Karpe
相关产品推荐
相关产品推荐

