提供的:我想通过证书管理器运行一个带有letsencrypt的web应用程序
Problem我可以用http访问这个站点,但是https不起作用,即使我可以看到证书管理器创建了一个证书,该证书也被保存为一个秘密。
我做了什么,
1.)我用舵机安装了证书管理器
helm install --name cert-manager --namespace kube-system stable/cert-manager rbac.create=false然后我申请了我的k8s yaml。
apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
name: letsencrypt-staging
spec:
acme:
server: https://acme-staging-v02.api.letsencrypt.org/directory
email: myEmail
privateKeySecretRef:
name: letsencrypt-staging
http01: {}
---
apiVersion: certmanager.k8s.io/v1alpha1
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: myEmail
privateKeySecretRef:
name: letsencrypt-prod
http01: {}
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: api-runtime
labels:
name: api-runtime
app: api-runtime
spec:
replicas: 1
template:
metadata:
labels:
app: api-runtime
spec:
containers:
- name: clickouts-api-host
image: microsoft/dotnet-samples:aspnetapp
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: api-host-svc
labels:
app: api-runtime
spec:
type: NodePort
ports:
- port: 80
targetPort: 80
protocol: TCP
selector:
app: api-runtime
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: nginx-ingress
annotations:
kubernetes.io/ingress.class: "gce"
kubernetes.io/ingress.global-static-ip-name: api
kubernetes.io/tls-acme: "true"
certmanager.k8s.io/cluster-issuer: letsencrypt-prod
spec:
tls:
- hosts:
- mydomain.comt
secretName: api-tls
rules:
- host: mydomain.com
http:
paths:
- path: /*
backend:
serviceName: api-host-svc
servicePort: 80
---
apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate
metadata:
name: api-tls
spec:
secretName: api-tls
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuer
commonName: mydomain.com
dnsNames:
- mydomain.com
acme:
config:
- http01:
ingress: nginx-ingress
domains:
- mydomain.com我错过了什么同时也得到了https路由?
发布于 2018-08-02 15:31:59
我在tls中发现了一个错误:-host:- mydomain.comt
https://stackoverflow.com/questions/51600038
复制相似问题