我们在GKE上的k8s集群上运行一个应用程序。
我们使用nginx-ingress-controller作为外部负载均衡器服务,我们可以在https://12.345.67.98上访问它。我们正面临一个问题,当我们直接访问前面提到的URL上的负载均衡器时,会收到一个证书警告,因为使用了自签名的"Kubernetes Ingress Controller Fake Certificate“。
我们只有将我们的域(例如app.our-company.com)映射到Kubernetes服务的Ingress对象。nginx负载均衡是负载均衡类型的Kubernetes服务。对于我们的域的SSL/TLS,使用cert-manager。只有当我们直接访问IP地址上的负载均衡器时,访问这些域时才不会出现问题。
有没有办法替换负载均衡器上的证书,这样它就不再使用默认的假证书了?
发布于 2021-05-28 01:19:22
您需要使用CA签名证书和私钥来定义密钥。这些必须在秘密中进行base64编码。然后,您将在入口清单的"tls“部分中使用此密码。
确保在上面的证书中建立证书链(证书、->、中间CA、->根CA)。
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: nginx-test
spec:
tls:
- hosts:
- foo.bar.com
# This assumes tls-secret exists and the SSL
# certificate contains a CN for foo.bar.com
secretName: tls-secret
rules:
- host: foo.bar.com
http:
paths:
- path: /
backend:
# This assumes http-svc exists and routes to healthy endpoints
serviceName: http-svc
servicePort: 80发布于 2021-08-01 13:12:28
您可以在Ingress Controller helm安装期间覆盖默认SSL证书。参考:https://github.com/kubernetes/ingress-nginx/blob/main/charts/ingress-nginx/values.yaml
## Additional command line arguments to pass to nginx-ingress-controller
## E.g. to specify the default SSL certificate you can use
## extraArgs:
## default-ssl-certificate: "<namespace>/<secret_name>"
extraArgs: {}https://stackoverflow.com/questions/67726579
复制相似问题