【问题标题】:Side-car Traefik container route to ports in Kuberenets边车 Traefik 容器路由到 Kubernetes 中的端口
【发布时间】:2017-11-15 14:34:00
【问题描述】:

我在我的 Kubernetes Pod 中运行 NodeJS 映像,同时公开特定端口 (9080),并将 Traefik 作为侧车容器作为反向代理运行。如何从 Deployment 模板中指定 Traefik 路由。

部署

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  labels:
    app: web
  name: web-controller
spec:
  replicas: 1
  selector:
     matchLabels:
       app: web
  template:
    metadata:
      labels:
        app: web
    spec:
      containers:
      - image: "nodeJS-image"
        name: web
        ports:
        - containerPort: 9080
          name: http-server
      - image: "traefik-image"
        name: traefik-proxy
        ports:
        - containerPort: 80
          name: traefik-proxy
        - containerPort: 8080
          name: traefik-ui
        args:
        - --web
        - --kubernetes

【问题讨论】:

  • 你能澄清一下“指定(ing)Traefik路线”的意思吗?那部分我不清楚。
  • 即定义traefik.frontend.rule=Host:machine-echo.example.com等标签,类似于在dockers上使用Traefik。简而言之,我需要 Traefik 将请求转发到暴露在 Pod 内端口 9080 的 nodeJS-image 容器。如果我使用了不准确的术语,我们深表歉意。
  • 好的,所以我认为我知道你的意思并添加了一个答案。让我知道这是否符合您的问题。

标签: node.js kubernetes traefik


【解决方案1】:

如果我理解正确,您希望将访问 Traefik 容器的请求转发到位于同一 pod 中的 Node.js 应用程序。鉴于应用程序是从 Traefik 的角度静态配置的,您可以简单地将适当的文件提供程序配置挂载到指向 side car 容器的 Traefik pod(可能通过 ConfigMap)中。

实现这一点(as documented)的最简单方法是直接在 Traefik 的 TOML 配置文件的底部附加以下文件提供程序配置:

[file]

[backends.backend.servers.server]
url = "http://127.0.0.1:9080"
[frontends.frontend]
backend = "backend"
[frontends.frontend.routes.route]
host = "machine-echo.example.com"

如果您将 TOML 配置文件挂载到 Traefik pod 的默认路径 (/etc/traefik.toml) 下,您还需要在清单中传递 --configFile 选项,以引用文件的正确位置。

之后,任何访问端口 80 上的 Traefik 容器且主机标头为 machine-echo.example.com 的请求都应转发到端口 9080 上的 Node.js 侧车容器。

【讨论】:

  • 太棒了!通过挂载 kubernetes configMap 卷 volumes: - name: config configMap: name: traefik-configmap-name,我设法将 configFile 作为容器 arg 传递为 args: - --configfile=/config/traefik.toml
猜你喜欢
  • 1970-01-01
  • 2023-03-23
  • 2022-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多