2016-12-01 61 views
1

所以我有Traefik上Kubernetes「跑」:如何在Google Container Engine上的Kubernetes後面運行traefik?

apiVersion: v1 
kind: Service 
metadata: 
    annotations: 
    kubectl.kubernetes.io/last-applied-configuration: '{"kind":"Service","apiVersion":"v1","metadata":{"name":"traefik","namespace":"kube-system","creationTimestamp":null,"labels":{"k8s-app":"traefik-ingress-lb"}},"spec":{"ports":[{"name":"http","port":80,"targetPort":80},{"name":"https","port":443,"targetPort":443}],"selector":{"k8s-app":"traefik-ingress-lb"},"type":"LoadBalancer"},"status":{"loadBalancer":{}}}' 
    creationTimestamp: 2016-11-30T23:15:49Z 
    labels: 
    k8s-app: traefik-ingress-lb 
    name: traefik 
    namespace: kube-system 
    resourceVersion: "9672" 
    selfLink: /api/v1/namespaces/kube-system/services/traefik 
    uid: ee07b957-b752-11e6-88fa-42010af00083 
spec: 
    clusterIP: 10.11.251.200 
    ports: 
    - name: http 
    nodePort: 30297 
    port: 80 
    protocol: TCP 
    targetPort: 80 
    - name: https 
    nodePort: 30247 
    port: 443 
    protocol: TCP 
    targetPort: 443 
    selector: 
    k8s-app: traefik-ingress-lb 
    sessionAffinity: None 
    type: LoadBalancer 
status: 
    loadBalancer: 
    ingress: 
    - ip: # IP THAT IS ALLOCATED BY k8s BUT NOT ASSIGNED 
--- 
apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    annotations: 
    deployment.kubernetes.io/revision: "1" 
    kubectl.kubernetes.io/last-applied-configuration: '###' 
creationTimestamp: 2016-11-30T22:59:07Z 
    generation: 2 
    labels: 
    k8s-app: traefik-ingress-lb 
    name: traefik-ingress-controller 
    namespace: kube-system 
    resourceVersion: "23438" 
    selfLink: /apis/extensions/v1beta1/namespaces/kube-system/deployments/traefik-ingress-controller 
    uid: 9919ff46-b750-11e6-88fa-42010af00083 
spec: 
    replicas: 1 
    selector: 
    matchLabels: 
     k8s-app: traefik-ingress-lb 
    strategy: 
    rollingUpdate: 
     maxSurge: 1 
     maxUnavailable: 1 
    type: RollingUpdate 
    template: 
    metadata: 
     creationTimestamp: null 
     labels: 
     k8s-app: traefik-ingress-lb 
     name: traefik-ingress-lb 
     version: v1.1 
    spec: 
     containers: 
     - args: 
     - --web 
     - --kubernetes 
     - --configFile=/etc/config/traefik.toml 
     - --logLevel=DEBUG 
     image: gcr.io/myproject/traefik 
     imagePullPolicy: Always 
     name: traefik-ingress-lb 
     ports: 
     - containerPort: 80 
      hostPort: 80 
      protocol: TCP 
     - containerPort: 8080 
      protocol: TCP 
     resources: 
      limits: 
      cpu: 200m 
      memory: 30Mi 
      requests: 
      cpu: 100m 
      memory: 20Mi 
     terminationMessagePath: /dev/termination-log 
     volumeMounts: 
     - mountPath: /etc/config 
      name: config-volume 
     - mountPath: /etc/traefik 
      name: traefik-volume 
     dnsPolicy: ClusterFirst 
     restartPolicy: Always 
     securityContext: {} 
     terminationGracePeriodSeconds: 60 
     volumes: 
     - configMap: 
      defaultMode: 420 
      name: traefik-config 
     name: config-volume 
     - emptyDir: {} 
     name: traefik-volume 
status: 
    observedGeneration: 2 
    replicas: 1 
    unavailableReplicas: 1 
    updatedReplicas: 1 

我的問題是,Kubernetes分配的外部IP實際上並不期待Traefik;實際上,分配的IP甚至不會顯示在我的Google Cloud Platform控制檯中。如何讓Traefik在Google Container Engine上使用負載平衡器?

回答

0

有一個Traefik的新分支,據說修復了一些kubernetes問題。但是,我進一步閱讀和談論了Traefik,並發現了一些(最近)關於潛在不穩定性的建議。雖然這是在新軟件中預期的,但我決定切換到NGINX來處理我的反向代理。它的工作非常出色,所以我會繼續討論這個問題。

0

如果

kubectl describe svc/traefik

執行endpoints比賽從IPS:

kubectl get po -lk8s-app=traefik-ingress-lb -o wide

當你打LB IP,會發生什麼?它會無限期加載,還是獲得不同的服務?

相關問題