2017-02-05 16 views
0

Я пытаюсь использовать Consul с Registrator в GCE & K8s. Все запускается отлично, кроме «Регистратора».Получение консула и регистратора для работы в Кубернете

Вот мое развертывание:

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: {} 

Вот бревенчатые выходы: Консул: enter image description here Registrator: enter image description here

В докер-компоновать все работает отлично, но я не получил моя голова полна вокруг K8s и GCE. Спасибо за помощь!

+0

Не могли бы вы объяснить, почему вы предпочитаете консула/регистратора вместо встроенных запросов или конечных точек Lab Label/Service Label для обнаружения сервисов? Kubernetes отличается от Compose тем, что он предоставляет интегрированные способы обнаружения и балансировки ваших развертываний. –

+0

В моих приложениях я использую consul api для запроса хостов и портов других приложений, с которыми им нужно общаться. Я знаю, что K8s использует etcd, но я еще не использовал его. – Tino

+0

с k8s, с которым вы не разговариваете напрямую, у вас есть API-интерфейс служб (но он абстрагируется с использованием DNS). Он также подключается, поэтому вы можете использовать Linkerd или что-то еще. Также должны быть контроллеры k8s для консула (так что вам не нужен регистратор) –

ответ

1

Я переключился на Linkerd, который отлично работает вместе с k8s.

+0

сладкий, ссылку на сообщение в блоге, если у вас есть время, чтобы записать свой опыт: D –

 Смежные вопросы

  • Нет связанных вопросов^_^