我正在尝试使用SSL终止的GKE上的nginx-ingress用例 . 我已经访问了数百万个关于这个过程的博客,该过程使用了带有nginx入口控制器的cert-manager,但在我的案例中没有一个能够工作 .
这当然意味着我做错了什么 . 但我不确定是什么 . 这是我做的:
-
创建在ClusterIP上公开的示例应用程序
-
部署nginx-ingress
-
创建发行人
-
使用颁发者创建nginx ingress .
结果:
在描述nginx入口之后,事件区域显示 none
. 这意味着一切都是空白的 . 请求证书,http验证等没有发生过任何事情 .
nginx ingress:
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: {}
我不确定是否还有其他事需要做 .
1 回答
尝试Ingress额外注释喜欢
https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/