Helm安装cert-manager失败:等待条件超时问题求助
解决OpenSUSE 15.4 K8s集群中Helm安装cert-manager超时问题
问题诊断步骤
查看startupapicheck Pod日志
直接获取Job对应的Pod输出,定位具体错误:kubectl logs -n cert-manager -l job-name=cert-manager-startupapicheck常见错误包括API Server访问失败、webhook未就绪、证书签发异常等。
检查K8s核心组件状态
确认集群API Server、控制器等核心服务正常运行:kubectl get pods -n kube-system重点查看
kube-apiserver、kube-controller-manager、kube-scheduler的Pod是否处于Running状态,无重启或错误。验证集群网络连通性
- 检查节点防火墙规则:OpenSUSE默认启用firewalld,需确保K8s集群内部流量(Pod CIDR、Service CIDR)被允许,可临时关闭防火墙测试:
sudo systemctl stop firewalld - 确认CNI插件(如flannel、calico)正常工作,Pod能获取IP且跨节点通信正常:
kubectl get pods -n kube-system -l k8s-app=calico-node # 替换为你的CNI插件标签 kubectl exec -n cert-manager <任意cert-manager Pod名> -- ping <API Server地址>
- 检查节点防火墙规则:OpenSUSE默认启用firewalld,需确保K8s集群内部流量(Pod CIDR、Service CIDR)被允许,可临时关闭防火墙测试:
检查版本兼容性
cert-manager v1.7.1仅支持Kubernetes 1.19~1.22版本,若你的集群版本超出此范围,会导致兼容性问题。执行以下命令确认K8s版本:kubectl version --short
解决方案
延长检查超时时间
若只是超时问题,可增大startupapicheck的超时参数重新安装:helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace --version v1.7.1 --set startupapicheck.timeout=20m --set webhook.timeoutSeconds=60 --debug临时禁用post-install检查
若确认集群环境正常,可跳过检查直接安装(仅临时使用,安装后需验证cert-manager状态):helm install cert-manager jetstack/cert-manager --namespace cert-manager --create-namespace --version v1.7.1 --set startupapicheck.enabled=false --set webhook.timeoutSeconds=60 --debug安装后验证:
kubectl get pods -n cert-manager kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.7.1/issuer.yaml # 替换为对应版本的测试Issuer kubectl get certificates升级/降级cert-manager版本
若K8s版本与cert-manager v1.7.1不兼容,选择匹配的cert-manager版本:- K8s 1.23+ 对应cert-manager v1.8+
- K8s 1.18及以下 对应cert-manager v1.6及以下
内容的提问来源于stack exchange,提问作者MB001
相关产品推荐
相关产品推荐

