我已经安装SSL证书的cert-manager 0.12.0。
我的发行者文件是
apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: [email protected]
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。我仍然收到此错误。我不确定出什么问题或显示如何解决此问题。
请让我知道您是否需要任何东西。预先感谢!
问题在于为特定广告连播定义的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。