gpt4 book ai didi

kubernetes - Kubernetes中的Rancher Metadata/Confd等效项

转载 作者:行者123 更新时间:2023-12-02 12:19:21 24 4
gpt4 key购买 nike

在当前的Rancher environment上,我们基于对Rancher元数据的调用来动态配置Nginx配置,使用容器上的标签来确定该容器是否包含在Nginx路由中。
我们将confdRancher后端一起使用,以完成此元数据检查并动态更改/重新加载新的Nginx配置。

我们已经开始着手迁移到Kubernetes(AWS EKS)。是否有等效于confd/RancherKubernetes

由于某些技术原因和时间限制的原因,我们目前无法用等效的nginx替换此ingress,因此正在研究在服务/ pods 上使用批注或标签来保持动态配置功能。

最佳答案

托管的Kubernetes提供程序通常不会直接为您提供后备etcd的访问权限,因此,最好的方法是为您感兴趣的资源挖掘Kubernetes API并生成配置。
这正是入口 Controller 的工作-监视Kubernetes资源的变化并为诸如nginx之类的负载均衡器生成配置。
Nginx Controller 之一可让您completely replace the template that it uses with one of your own.

The NGINX template is located in the file /etc/nginx/template/nginx.tmpl.

Using a Volume it is possible to use a custom template. This includes using a Configmap as source of the template

        volumeMounts:
- mountPath: /etc/nginx/template
name: nginx-template-volume
readOnly: true
volumes:
- name: nginx-template-volume
configMap:
name: nginx-template
items:
- key: nginx.tmpl
path: nginx.tmpl
您可以像 nginx-legacy一样部署nginx入口 Controller under a custom class的版本,这样它就不会尝试公开期望正常nginx入口的服务。

To do this, the option --ingress-class must be changed to a value unique for the cluster within the definition of the replication controller.

spec:
template:
spec:
containers:
- name: nginx-ingress-legacy-controller
args:
- /nginx-ingress-controller
- '--election-id=ingress-controller-leader-internal'
- '--ingress-class=nginx-legacy'
- '--configmap=ingress/nginx-ingress-internal-controller'
然后使用以下方法注释旧服务以将资源分配给该入口:
metadata:
name: foo
annotations:
kubernetes.io/ingress.class: "nginx-legacy"

关于kubernetes - Kubernetes中的Rancher Metadata/Confd等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52787837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com