我正在 GKE 上尝试使用 SSL 终止的 nginx-ingress 以用于用例。我已经访问了数百万个有关此过程的博客,这些博客使用 cert-manager 和 nginx 入口控制器,但在我的情况下它们都不起作用。
这当然意味着我做错了什么。但我不确定是什么。这是我所做的:
- 创建在 ClusterIP 上公开的示例应用程序
- 部署 nginx-ingress
- 创建发行人
- 使用颁发者创建 nginx 入口。
结果:
描述 nginx 入口后,事件区域显示none
. 这意味着一切都是空白的。请求证书、http 验证等没有发生任何事情。
nginx入口:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-ingress
annotations:
kubernetes.io/ingress.class: nginx
certmanager.k8s.io/cluster-issuer: letsencrypt-staging
kubernetes.io/tls-acme: 'true'
spec:
rules:
-
host: wptls.ml
http: {paths: [{path: /, backend: {serviceName: web, servicePort: 80}}]}
tls:
-
secretName: tls-staging-cert
hosts: [wptls.ml]
clusterissuer.yml:
apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
name: letsencrypt-staging
spec:
acme:
server: 'https://acme-staging-v02.api.letsencrypt.org/directory'
email: xyz@gmail.com
privateKeySecretRef:
name: letsencrypt-sec-staging
http01: {}
我不确定是否还有其他需要做的事情。