【发布时间】:2020-05-07 18:20:06
【问题描述】:
我删除了一个命名空间,该命名空间具有通过 nginx-ingress 公开的服务,并带有由 cert-manager 控制的 Let's Encrypt 证书。命名空间的删除以终止状态挂起。
这可能是内部 API 的问题,如 here 所述。当我跑步时:
kubectl api-resources
它返回 certmanager webhook API 不可访问:
错误:无法检索服务器 API 的完整列表:webhook.certmanager.k8s.io/v1beta1:服务器当前无法处理请求
当我运行kubectl get apiservices v1beta1.webhook.certmanager.k8s.io -o yaml,检查它的状态时:
...
service:
name: cert-manager-webhook
namespace: nginx-ingress
port: 443
version: v1beta1
versionPriority: 15
status:
conditions:
- lastTransitionTime: "2020-01-21T15:02:23Z"
message: 'failing or missing response from https://10.24.32.6:10250/apis/webhook.certmanager.k8s.io/v1beta1:
bad status from https://10.24.32.6:10250/apis/webhook.certmanager.k8s.io/v1beta1:
404'
reason: FailedDiscoveryCheck
status: "False"
type: Available
所有 nginx-ingress 和 cert-manager pod 都处于良好状态。我在部署和删除此命名空间时对 certmanager 进行了更新,这可能是对问题的解释。这个问题怎么解决?
版本:
- Kubernetes:v1.15.4-gke.22
- cert-managerv0.12.0
- nginx-ingress:1.29.3
【问题讨论】:
标签: kubernetes nginx-ingress cert-manager