2016-12-01 6 views
1

So habe ich Traefik "running" auf Kubernetes:Wie führe ich Traefik hinter Kubernetes auf Google Container Engine?

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 

Mein Problem ist, dass die externe IP von Kubernetes zugewiesen nicht wirklich vorwärts zu Traefik; Tatsächlich wird die zugewiesene IP-Adresse nicht einmal in meiner Google Cloud Platform-Konsole angezeigt. Wie kann ich Traefik mit einem Lastenausgleich in Google Container Engine arbeiten lassen?

Antwort

0

Es gab eine neue Gabelung von Traefik, die angeblich einige kubernetes Probleme behebt. Ich habe jedoch weiter über Traefik gelesen und darüber gesprochen und einige (jüngste) Hinweise auf mögliche Instabilität aufgedeckt. Während dies in neuer Software zu erwarten ist, entschied ich mich, zu NGINX zu wechseln, um meinen Reverse-Proxy zu handhaben. Es hat wunderbar funktioniert, also werde ich weitermachen und diese Frage schließen.

0

Wenn Sie

kubectl describe svc/traefik

Haben die endpoints Spiel die IPs von:

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

Was passiert, wenn Sie die LB IP getroffen haben? Wird es unbegrenzt geladen, oder erhalten Sie einen anderen Dienst?

Verwandte Themen