侧车Traefik集装箱路线到Kuberenets的港口

时间:2017-11-15 14:34:01

标签: node.js kubernetes traefik

我正在我的Kubernetes Pod中运行NodeJS图像,同时公开特定端口(9080),并将Traefik作为侧车容器运行作为反向代理。如何从部署模板中指定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

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您希望将访问Traefik容器的请求转发到位于同一窗格中的Node.js应用程序。鉴于应用程序是从Traefik的角度静态配置的,您只需将正确的文件提供程序配置安装到指向侧面汽车容器的Traefik pod(可能是通过ConfigMap)。

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

function fireClick(number){
    fires = fires + number;
    document.getElementById("fires").innerHTML = fires;
};

如果将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" )以外的路径下的Traefik pod中,则还需要在清单中传递/etc/traefik.toml选项,引用正确的位置该文件。

之后,任何使用主机标头--configFile在端口80上访问Traefik容器的请求都应转发到端口9080上的Node.js侧汽车容器。