2017-11-15 4 views
0

내 Kubernetes Pod에서 NodeJS 이미지를 실행하면서 특정 포트 (9080)를 드러내고 Traick을 측면 카 컨테이너로 리버스 프록시로 실행합니다. 배포 템플릿에서 Traefik 경로를 어떻게 지정합니까? 만약 내가 제대로 이해하고Side-car Kuberenets의 포트에 대한 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 
+0

포트에서 Node.js를면 차 용기로 전달받을한다 ing) Traefik route "? 그 부분은 나에게 분명하지 않다. –

+0

즉, 'traefik.frontend.rule = Host : machine-echo.example.com'과 같은 레이블을 정의합니다. 이는 도커에서 Traefik을 사용하는 것과 유사합니다. 요컨대 포드 내의 포트 9080에 노출 된'nodeJS-image' 컨테이너로 요청을 전달하려면 Traefik이 필요합니다. 부정확 한 용어를 사용하고 있으면 사과드립니다. – Khaled

+0

좋아요, 그래서 나는 당신이 의미하는 것을 알고 답을 추가했습니다. 그것이 당신의 질문과 일치하는지 아닌지 알려주십시오. –

답변

1

, 당신은 같은 포드에서 Node.js를 신청 생활에 Traefik 컨테이너를 타격 요청을 전달합니다. 응용 프로그램이 Traefik의 관점에서 정적으로 구성되었다고 가정하면 적절한 파일 공급자 구성을 사이드 카 컨테이너를 가리키는 Traefik 포드 (아마도 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" 

당신은 Traefik 포드에 TOML 구성 파일을 마운트하는 경우 기본 경로 (/etc/traefik.toml)가 아닌 다른 경로에서 파일의 올바른 위치를 참조하는 매니페스트에 --configFile 옵션을 전달해야합니다.

은 그 후, machine-echo.example.com의 호스트 헤더와 포트 (80)에 Traefik 컨테이너를 치는 모든 요청은 당신이 (지정 "무슨 뜻인지 명확히 수 9080

+0

좋아요! configFile을 컨테이너 arg로'args : --configfile =/config/traefik.toml'과 같이 kubernetes를 마운트하여 configMap 볼륨 'volume : - 이름 : config configMap : 이름 : traefik-configmap으로 마운트합니다. - 이름' – Khaled