nginx - 如何在通过 Helm 安装的 Nginx DaemonSet 中禁用 HTTPS?

标签 nginx kubernetes kubernetes-helm

我正在尝试使用 Helm 作为 DaemonSet 在 K8S 集群上使用 HostNetwork 安装 Ngnix Ingress。目标是将其用作 AWS ALB 后面的反向代理,将外部请求路由到集群中。我正在使用如下(它是 CDK,但应该没关系):

cluster.addChart('NginxIngress', {
  chart: 'nginx-ingress',
  repository: 'https://kubernetes-charts.storage.googleapis.com',
  namespace: 'ingress-nginx',
  wait: true,
  values: {
    controller: {
      kind: 'DaemonSet',
      hostNetwork: true,
      daemonset: {
        useHostPort: true,
      },
      service: {
        enabled: false,
      },
    }
  }
});
当我描述 DaemonSet 时,我仍然看到 HTTPS 端口:
  Containers:
   nginx-ingress-nginx-ingress:
    Image:       us.gcr.io/k8s-artifacts-prod/ingress-nginx/controller:v0.34.1
    Ports:       80/TCP, 443/TCP
    Host Ports:  80/TCP, 443/TCP
我无法验证它是否真的在监听节点上的端口,因为它是私有(private)的(有什么方法可以使用 kubectl 对节点端口进行端口转发,就像我们为服务所做的那样?请注意,其中没有 Nginx 服务我的配置。)
有什么我需要做的吗?同样,我的目标是让 Nginx 作为 HTTP(不是 HTTPS)反向代理。谢谢。
更新 #1
我已经尝试设置 controller.service.enableHttps=false .它禁用了我完全禁用的服务上的 HTTPS。
也离开controller.daemonset.hostPorts.https empty 不起作用,因为我认为,如果为空,它会选择默认值。

最佳答案

根据https://github.com/helm/charts/tree/master/stable/nginx-ingress
您可以使用下面的 bool 标志来禁用 https
如果应该为服务打开端口 443 - 默认为 true

controller.service.enableHttps  
hostPort 还有其他选项
如果 controller.daemonset.useHostPort 为 true 且非空,则设置 hostPort
根据说明,您可以取消设置此值以禁用该端口
controller.daemonset.hostPorts.https    

关于nginx - 如何在通过 Helm 安装的 Nginx DaemonSet 中禁用 HTTPS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63121772/

相关文章:

amazon-web-services - AWS 上的 Helm prometheus 自定义负载均衡器配置

nginx - Helm Nginx Ingress - 如何在 "helm install"命令中指定外部 IP

php - 如何禁止直接访问浏览器网址中的网站目录,但在网站内部请求时允许?

kubernetes - kubectl - 以 json 格式检索部署的当前/"new"副本集

docker - GO - Docker 在 K8S 容器上询问证书

kubernetes - Helm 模板算术除法

nginx - 为什么我从 Nginx 收到只读文件系统错误?

django - Django + Gunicorn + NGINX的docker-compose.yml设置不适用于 `docker-compose up`

python - 使用 django 设置 nginx

ssl - 如果我们更新 SSL 证书并花时间部署到服务器,网站将无法运行吗