安装OpenShift 4.x启动master节点时api-int接口GET报错如何解决
22623是OpenShift安装阶段bootstrap节点运行的Machine Config Server服务专属端口,负责向master、worker节点下发初始系统配置,三类报错分别对应连通性异常、服务响应异常、证书校验异常三类根因,排查步骤如下:
1. 无后缀GET报错(连通性类)排查
- 确认负载均衡上
api-int.openshiftX.yyyy.com的22623端口后端是否正确绑定bootstrap节点的22623端口,注意:安装初期master节点未就绪时,该端口后端必须绑定bootstrap,3个master全部上线后再切换到master节点 - 进入master节点的紧急控制台,执行
curl -v telnet://api-int.openshiftX.yyyy.com:22623验证端口连通性,不通的话检查中间防火墙、安全组是否放通22623端口的双向流量 - 验证master节点使用的DNS服务器是否可以正常解析
api-int.openshiftX.yyyy.com,解析结果必须为负载均衡对应虚拟IP
2. EOF报错(服务响应类)排查
- 登录bootstrap节点,执行
ss -tulnp | grep 22623确认端口是否被machine-config-server进程正常监听,无监听的话执行journalctl -u bootkube.service -f查看bootkube服务启动日志,排查启动失败原因 - 检查bootstrap节点磁盘使用率,
/var目录占满会导致Machine Config Server无法正常响应请求,清理磁盘空间即可恢复 - 确认负载均衡22623端口的会话保持策略是否配置合理,该端口无需开启会话保持,不合理的会话保持配置会导致负载均衡主动断开连接触发EOF
- 若使用bootstrap内置haproxy的部署模式,检查
/etc/haproxy/haproxy.cfg中22623端口的转发规则是否配置正确
3. x509证书异常排查
- 校验所有节点(bootstrap、master、DNS/NTP服务器)的系统时间是否同步,节点间时间误差超过5分钟会直接触发证书校验失败,统一配置相同的内部NTP服务器同步时间即可
- 登录bootstrap节点执行
openssl x509 -in /opt/openshift/tls/ignition-ca.crt -text -noout查看ignition根证书的有效起止时间,证书过期的话需要重新执行openshift-install create manifests、openshift-install create ignition-configs命令生成全新的安装配置和证书 - 禁止复用旧集群的ignition配置文件,每次全新安装必须重新生成所有ignition文件,旧集群的证书会和新集群的域名、IP不匹配导致校验失败
4. 修复验证
完成上述排查修复后,重启master节点即可正常拉取配置进入后续初始化流程,待3个master节点全部就绪后,将负载均衡22623端口的后端从bootstrap切换到master节点,再销毁bootstrap节点即可完成后续安装流程。
内容的提问来源于stack exchange,提问作者sanyam bhardwaj
相关产品推荐
相关产品推荐

