如何使用标志启动 Ingress Controller? (microk8s)

How to start an Ingress Controller with flags? (microk8s)

通常我可以通过在网络上搜索找到大多数东西 - 但是在这种情况下,网络上的说明谈论 - 可能是我还没有得到的非常基本的东西。

我想要实现的目标:我正在尝试使用 microk8s 和 nginx-ingress 安装 argocd。现在我坚持为 argocd 启用 SSL 直通。目前我根据 argocd 文档的说明配置了一个入口控制器并且入口控制器运行没有错误。

我的猜测是,正如到处都提到的那样,我必须使用“--enable-ssl-passthrough”标志启动入口控制器。

https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#ssl-passthrough “默认情况下禁用 SSL 直通,需要使用 --enable-ssl-passthrough 标志启动控制器。”

现在我的问题是:我该怎么做? - 对我来说,入口控制器“总是 运行”。我可以使用 kubectl 命令“create -f ingress.yaml”删除并重新创建控制器——这会在 argocd 命名空间中创建一个入口。

我有点缺乏 kubernetes 的基础知识,不知道如何停止和重新启动带有标志的入口控制器(也许我也弄错了“入口控制器”是什么)。有谁知道我该如何实现?

我是 运行 microk8s v1.23.1 Ubuntu 18.04.3 LTS

如果您可以编辑部署 YAML 配置以传递 参数,例如

kubectl edit deployment <Nginx ingress controller deployment name> -n <namespace-name- in which Nginx is there> -o yaml

您可以编辑控制器的 YAML,如

containers:
    - name: nginx-ingress-controller
      image: <IMAGE of Nginx>
      args:
        - --enable-ssl-passthrough

如果要添加入口注释

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: minimal-ingress
  annotations:
    #LIST OF ANNOTATION YOU CAN ADD
    nginx.ingress.kubernetes.io/secure-backends: "true"
    nginx.ingress.kubernetes.io/ssl-passthrough: "true"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  ingressClassName: nginx-example
  rules:
  - http:
      paths:
      - path: /testpath
        pathType: Prefix
        backend:
          service:
            name: test
            port:
              number: 80