Dynami c маршрут к указанному c StateFulSet POD по имени хоста - PullRequest
1 голос
/ 03 апреля 2020

У меня есть StatefulSet, который имеет 2 реплики. Я хочу создать конечную точку, чтобы иметь возможность получать доступ к любой из этих реплик, передавая ей идентификатор имени хоста, и таким образом, чтобы, если я масштабирую ее для большего количества реплик, новые модули должны быть доступны.

Я могу сделайте это, создав Ingress, как это:

apiVersion: voyager.appscode.com/v1beta1
kind: Ingress
metadata:
  name: test-ingress
  namespace: default
spec:
  rules:
  - host: appscode.example.com
    http:
      paths:
      - path: /0
        backend:
          hostNames:
          - web-0
          serviceName: nginx-set
          servicePort: '80'
      - path: /1
        backend:
          hostNames:
          - web-1
          serviceName: nginx-set
          servicePort: '80'

При этом GET на appscode.example.com/0 будет перенаправлено на web-0 pod. Но как я могу сделать это динамически c? Если я изменю реплики на 3, мне нужно будет вручную создать новый маршрут к модулю web-2, чтобы он был доступен.

1 Ответ

1 голос
/ 04 апреля 2020

Вам нужна программа (оператор), слушающая API Kubernetes и исправляющая входной ресурс каждый раз, когда количество пакетов в наборе состояний.

Использование go:

...