我们如何在Nginx入口控制器上安装动态模块(非官方支持)?(地形图,舵图)

mpbci0fu  于 2022-11-02  发布在  Nginx
关注(0)|答案(1)|浏览(148)

我在管理Kubernetes + nginx。
我想在Nginx上安装由Nginx入口控制器提供的动态模块。这些动态模块不是由Nginx入口控制器官方配置图(https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/)提供的
所以我相信,我需要建立我自己的Nginx入口控制器的Docker容器。(可以在这里添加吗?https://github.com/kubernetes/ingress-nginx/blob/8951b7e22ad3952c549150f61d7346f272c563e1/images/nginx/rootfs/build.sh#L618-L632)
你知道我们如何定制控制器并通过helm chart来管理它吗?我正在考虑从Github上的控制器主存储库中创建一个Fork分支。但是我不知道如何在terraform + helm chart上安装一个定制版本的控制器。
但是,我更喜欢使用非自定义解决方案(因为某些注解设置)
使用环境:Kubernetes Nginx入口控制器通过舵图+ Terraform Nginx入口控制器-〉https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx安装
地形:

resource "helm_release" "nginx-ingress-controller" {
  name      = "nginx-ingress-controller"
  chart     = "ingress-nginx/ingress-nginx"
  namespace = "kube-system"
  version   = "3.34.0"
}

动态模块https://docs.nginx.com/nginx/admin-guide/dynamic-modules/dynamic-modules/(安装过程可能正在使用--add-dynamic-module选项,并通过ingress.yamlnginx.conf上设置load_module modules/something.so

  • 谢谢-谢谢
hc2pp10m

hc2pp10m1#

请看一下Cloud Native Buildpacks。映像可以直接从应用程序源代码构建,无需额外的说明。
也许这个nginx-buildpack可以解决您的问题:
加载动态模块您可以使用模板通过load_module指令设置动态模块的路径。
PS. https://12factor.net/build-release-run打印机
这款12因素应用在构建、发布和运行阶段之间使用了严格的分离。例如,在运行时不可能对代码进行更改,因为没有办法将这些更改传播回构建阶段。

相关问题