【问题标题】:Getting Consul and Registrator to work in Kubernetes让 Consul 和 Registrator 在 Kubernetes 中工作
【发布时间】:2017-06-22 12:26:16
【问题描述】:

我正在尝试在 GCE 和 K8s 中使用 ConsulRegistrator。除“注册器”外,一切正常。

这是我的部署:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  creationTimestamp: null
  name: consul
spec:
  replicas: 1
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        service: consul
    spec:
      restartPolicy: Always
      containers:
        - name: consul
          image: eu.gcr.io/xxx/consul
          ports:
          - containerPort: 8300
            protocol: TCP
          - containerPort: 8400
            protocol: TCP
          - containerPort: 8500
            protocol: TCP
          - containerPort: 53
            protocol: UDP
          env:
            - name: MY_POD_IP
              valueFrom:
                fieldRef:
                  fieldPath: status.podIP
          args:
            - -server
            - -bootstrap
            - -advertise=$(MY_POD_IP)

        - name: registrator
          args:
            - -internal
            - -ip=$(MY_POD_IP)
            - consul://localhost:8500
          env:
            - name: MY_POD_IP
              valueFrom:
                fieldRef:
                  fieldPath: status.podIP
          image: eu.gcr.io/xxx/registrator
          volumeMounts:
            - mountPath: /tmp/docker.sock
              name: registrator-claim0
      volumes:
        - name: registrator-claim0 
          persistentVolumeClaim:
            claimName: registrator-claim0
status: {}

以下是日志输出: 领事: 注册人:

在 docker-compose 中一切正常,但我对 K8s 和 GCE 还没有完全理解。感谢您的帮助!

【问题讨论】:

  • 您能否解释一下为什么您更喜欢 consul/registrator 而不是内置的 Pod 标签/服务标签查询和端点来进行服务发现? Kubernetes 与 Compose 的不同之处在于它提供了集成方式来发现和负载平衡您的部署
  • 在我的应用程序中,我使用 consul api 来查询他们必须与之通信的其他应用程序的主机和端口。我知道 K8s 使用 etcd,但我还没有使用过。
  • 对于 k8s,您不直接与 etcd 对话,您有一个服务 API(但它是使用 DNS 抽象出来的)。它也是可插拔的,因此您可以使用 Linkerd 或其他任何东西。 consul 也必须有 k8s 控制器(所以你不需要注册器)
  • 谢谢。让我了解linkerd。看起来很酷。

标签: kubernetes google-cloud-platform consul registrator


【解决方案1】:

我已切换到 Linkerd,它与 k8s 配合得非常好。

【讨论】:

  • 亲爱的,如果你有时间写下你的经验,请链接一篇博客文章:D
猜你喜欢
  • 2015-12-21
  • 1970-01-01
  • 1970-01-01
  • 2016-10-08
  • 2018-11-30
  • 1970-01-01
  • 1970-01-01
  • 2016-12-11
  • 1970-01-01
相关资源
最近更新 更多