我已安装SSL证书的cert-manager 0.12.0。
我的Issuer文件是
apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: my@email.com
privateKeySecretRef:
name: letsencrypt-prod
http01: {}
我的证书文件
apiVersion: cert-manager.io/v1alpha2
kind: Certificate
metadata:
name: tls-secret
spec:
secretName: tls-secret-prod
dnsNames:
- mydomain.com
acme:
config:
- http01:
ingressClass: nginx
domains:
- mydomain.com
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
入口配置为
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: cms
annotations:
kubernetes.io/ingress.class: nginx
cert-manager.io/cluster-issuer: letsencrypt-prod
kubernetes.io/tls-acme: "true"
spec:
tls:
- hosts:
- mydomain.com
secretName: tls-secret-prod
rules:
- host: mydomain.com
http:
paths:
- backend:
serviceName: apostrophe
servicePort: 80
path: /
但是,SSL证书仍然无效。通用名称是“ Kubernetes入口控制器伪造证书”。
以下显示订单和挑战的结果
kubectl get orders, challenges -o wide
NAME STATE DOMAIN REASON AGE
challenge.certmanager.k8s.io/tls-secret-155743219-0 pending mydomain.com pods "cm-acme-http-solver-gk2zx" is forbidden: minimum cpu usage per Container is 100m, but request is 10m. 26m
我已经更新了资源限制范围并重新安装了带证书的cert-manager。我仍然收到此错误。 我不确定出什么问题或显示如何解决此问题。
请告诉我您是否需要任何东西。预先感谢!
答案 0 :(得分:1)
问题在于为特定容器定义的CPU限制。 您必须在部署配置文件中更改最低CPU限制。如您所见,pod( cm-acme-http-solver )正在请求 100m CPU使用率,而为特定Pod定义的最低CPU使用率是* 10m **。因此,将部署配置文件中的CPU限制从 100m 更改为 10m 或更小,或者您还可以增加CPU请求。
在这里看看:cert-manager-kubernetes,pod-min-cpu-request。
有用的文章:resources-limits-kubernetes。