Kubernetes入口如何设置default-ssl-certificate?

时间:2019-11-21 10:23:38

标签: kubernetes-helm kubernetes-ingress

我有一个通用SSL证书* .domain.com 我想为4级域(my4.level.domain.com)配置HTTPS 我读了in this discussion,我需要使用--default-ssl-certificate

但是我不知道如何使用

我应该如何更改此配置?

ingress:
  enabled: true
  annotations: {}
  labels: {}
  path: /
  hosts:
    - my4.level.domain.com
  extraPaths: []
  tls:
   - secretName: tls-tierra-ingress
     hosts:
       - '*.level.domain.com'
       - level.domain.com
       - my4.level.domain.com

还是我必须运行特殊命令?

2 个答案:

答案 0 :(得分:0)

--default-ssl-certificateIngress controller内部使用的参数。 Here是Ingress控制器接受的所有命令行参数的列表。

要查看使用了哪些参数,可以执行kubectl describe deployment/nginx-ingress-controller --namespace

您可能会看到:

Args:
  --default-backend-service=$(POD_NAMESPACE)/default-http-backend
  --tcp-services-configmap=$(POD_NAMESPACE)/tcp-services
  --annotations-prefix=nginx.ingress.kubernetes.io

您可以编辑控制器yaml并放置您的设置所需的内容,如果您没有该文件,则可以使用以下命令将部署的入口保存为ingress-controller.yamlkubectl get deployment/nginx-ingress-controller --namespace -o yaml > ingress-controller.yaml

您还可以使用以下命令即时编辑ingresskubectl edit deployment/nginx-ingress-controller --namespace

对于4级域SSL证书,我还没有尝试过,可惜我无济于事。

答案 1 :(得分:0)

我没有 kubernetes,但从这篇文章来看: https://kubernetes.github.io/ingress-nginx/user-guide/tls/

你需要在ingress controller中用参数--default-ssl-ceritifcate指定默认secret,然后在yalm中去掉"secretName"选项,它应该使用默认证书。