如何将Nginx配置转换为Nginx-ingress?

时间:2019-02-28 11:13:57

标签: nginx kubernetes nginx-ingress

我的nginx具有以下配置:

  proxy_redirect off;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
  client_max_body_size 1g;
  client_body_buffer_size 128k;
  proxy_connect_timeout 120;
  proxy_send_timeout 240;
  proxy_read_timeout 240;
  proxy_buffers 32 4k;

  proxy_hide_header Strict-Transport-Security;
  proxy_hide_header Content-Type;
  add_header Content-Type application/json;

我想将我的Nginx配置转换为kubernetes ingress-nginx(入口资源)。有没有一种使用kubernetes Ingress资源来实现此配置的方法?在阅读ingress-nginx文档时,我还没有找到如何将proxy_pass或多个重写映射到Ingress资源的方法。我希望参考一些具有类似配置的详细文档或示例。

1 个答案:

答案 0 :(得分:0)

是的,可以使用Nginxinc的NGINX Ingress Controller文档中的here中所述的代码段和自定义模板来实现。

通过ConfigMap使用代码段的示例:

---
# Source: nginx-ingress/templates/controller-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: nginx-config
  labels:
    app.kubernetes.io/name: nginx-ingress
    helm.sh/chart: nginx-ingress-0.3.4
    app.kubernetes.io/managed-by: Tiller
    app.kubernetes.io/instance: RELEASE-NAME
data:
   server-snippets: |
    location /helloworld {
      proxy_redirect off;
      proxy_http_version 1.1;
    }