有人知道我在哪里可以编辑入口控制器算法吗?

is someone has any idea where can I edit ingress controller algorithm?

我用 helm 在我的 Kubernetes 机器上安装了入口控制器,但不知道入口控制器把要编辑的配置文件放在哪里。我们可以通过helm list找到helm文件但是我说的是程序本身的代码。 我想从入口控制器编辑一些算法来做一些项目。

现在我正在使用bitnami。我想尝试找到算法的代码。但是仍然对做什么和使用什么感到困惑。我必须使用 docker 吗?我需要使用任何特定的应用程序进行编辑吗? Nginx ingress算法文件源码在哪?

如果您使用任何开源入口控制器,您或许可以获得代码。

例如:

Nginx 入口控制器:https://github.com/kubernetes/ingress-nginx

Kong 入口控制器:https://github.com/Kong/kubernetes-ingress-controller

pro 或 plus 功能可能不会存在。

关于如何在官方 NGINX website 上构建 NGINX Ingress Controller Image 有很好的指南。 注意:此项目与 kubernetes/ingress-nginx 存储库中的 NGINX Ingress 控制器不同。

因此,更改入口控制器源代码以调整其算法并按照以下步骤操作:

  1. 在构建映像之前,请确保您的计算机上安装了以下软件:
  1. 克隆您的 Ingress Controller 存储库。

  2. 使用 make 工具构建图像,如下所示:
    $ make debian-image PREFIX=myregistry.example.com/nginx-ingress TARGET=download
    检查 Makefile here.

  3. 像这样将图像推送到您的 Docker 注册表:
    $ make push PREFIX=myregistry.example.com/nginx-ingress TAG=your-tag

之后,为您的自定义入口控制器创建您自己的 Helm 图表。

阅读本指南,了解如何创建您的第一个 Helm Chart here. As a good production example you can take this NGINX Ingress Controller Helm Chart。您需要更改引用的图像。 另外,查看 this guide 如何使用 Helm 安装 NGINX Ingress Controller。

我希望这能让您更好地了解如何从源代码构建自定义 Ingress Controller。

编辑:

至于负载均衡器算法,有几种built-in load balancer methods:least_conn、ip_hash、随机、随机二、随机二least_conn。 您可以使用注释 nginx.org/lb-method 选择负载均衡器方法。查看更多信息 here

但如果您仍想更改负载平衡器算法,则必须修改源代码并构建自定义入口控制器或使用其他一些现有入口控制器。