我已经完成了以下所有必需的配置,以从kubernetes中的letsencrypt获取证书,但是我看不到任何已颁发的证书。
helm install my-nginx-ingress stable/nginx-ingress --set controller.publishService.enabled=true
kubectl apply -f https://raw.githubusercontent.com/jetstack/cert-manager/release-0.11/deploy/manifests/00-crds.yaml
kubectl create namespace cert-manager
helm repo add jetstack https://charts.jetstack.io
helm install my-cert-manager --namespace spinnaker jetstack/cert-manager --set ingressShim.defaultIssuerName=letsencrypt-prod --set ingressShim.defaultIssuerKind=ClusterIssuer
apiVersion: cert-manager.io/v1alpha2
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
acme:
email: test@test.test
server: https://acme-v02.api.letsencrypt.org/directory
privateKeySecretRef:
name: letsencrypt-prod
solvers:
- http01:
ingress:
class: nginx
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: spinnaker-ingress
namespace: spinnaker
annotations:
kubernetes.io/ingress.class: nginx
certmanager.k8s.io/cluster-issuer: letsencrypt-prod
spec:
tls:
- hosts:
- SpinnakerApiDomain
- SpinnakerDeckDomain
secretName: spinnaker
rules:
- host: SpinnakerApiDomain
http:
paths:
- backend:
serviceName: spin-gate
servicePort: 8084
- host: SpinnakerDeckDomain
http:
paths:
- backend:
serviceName: spin-deck
servicePort: 9000
我正在关注以下文档:
我也浏览了其他URL,这些步骤具有相同的步骤,但是当我进行kubectl get certificates --all-namespaces
时,看不到任何已颁发的证书。
基本上我是在HTTPS后面配置Spinnaker。
请告知。谢谢。
答案 0 :(得分:0)
如果要将自己的自签名证书用于Ingress,则必须创建TLS密钥。
首先,您必须生成自签名证书和私钥,例如:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem -subj "/CN=${HOST}/O=${HOST}"
它会提示您一些事情,例如“国家名称”或“州”,但是您可以点击
Enter
接受默认值。
然后创建您的tls机密:
kubectl create secret tls <secret_name> --key key.pem --cert cert.pem
然后您可以在Ingress中使用它:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: spinnaker-ingress
namespace: spinnaker
annotations:
kubernetes.io/ingress.class: nginx
certmanager.k8s.io/cluster-issuer: letsencrypt-prod
spec:
tls:
- hosts:
- SpinnakerApiDomain
- SpinnakerDeckDomain
secretName: <secret_name>
rules:
- host: SpinnakerApiDomain
http:
paths:
- backend:
serviceName: spin-gate
servicePort: 8084
- host: SpinnakerDeckDomain
http:
paths:
- backend:
serviceName: spin-deck
servicePort: 9000