gpt4 book ai didi

kubernetes - 使用Helm运算符为Kubernetes自动化通配符子域支持

转载 作者:行者123 更新时间:2023-12-02 11:37:26 26 4
gpt4 key购买 nike

这是我的用例:
我们有一个客户,他们的每项服务都必须在专用子域上可用。命名约定应为service-name.customerdomain.com,其中service-name是已部署的服务,而customerdomain.com是客户域。创建新服务后,应自动将其设置为可用,即,将service-name服务部署到集群后,必须在service-name.customerdomain.com上可用。

我知道,可以通过以下步骤手动实现 :

  • 将Ingress Controller 添加到集群
  • 创建通配符DNS *.customerdomain.com并将其指向
    入口 Controller
  • 每个正在运行的服务的Map子域。对于群集中的每个现有服务,请在Ingress资源文件ingress.yaml中创建一个单独的部分,例如

  • Spec:     
    rules:
    - host: helloworld.awesome-customer.com
    http:
    paths:
    - path: /*
    backend:
    serviceName: helloworld
    servicePort: 8080
    - host: nextfineapp.awesome-customer.com
    http:
    paths:
    - path: /*
    backend:
    serviceName: nextfineapp
    servicePort: 8080
    - [...]

  • 为每个新的Ingress资源文件添加新的-host部分
    部署服务
  • 对于每个已删除的入口资源文件-host部分
    服务

  • 基本上-我想自动执行第4步和第5步。我知道Ingress无法自行处理此问题,但是,四处搜寻,看来每次部署新服务/删除现有服务时都可以通过更新 ingress.yaml文件来实现 Helm及其值文件。

    如果能在下面指出/描述示例解决方案,我将不胜感激。

    最佳答案

    通常,您可以通过将Ingress资源的模板作为基础应用程序图表的一部分来实现此目的。您可以有多个Ingress对象,并且它们都将在运行时被多路复用以为您的 Controller 构建路由表。

    关于kubernetes - 使用Helm运算符为Kubernetes自动化通配符子域支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53952561/

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