Штаб Kubernetes Redis Google Cloud MemoryStore - обслуживание против конечной точки - PullRequest
0 голосов
/ 02 июля 2019

Я ищу, чтобы настроить Redis для Sidekiq и Rails в k8s.Использование Google Cloud Memory Store с IP-адресом.

У меня есть шаблон helm, подобный следующему (с gcpRedisMemorystore, указанным отдельно) - Мой вопрос: что объект Service добавляет в систему?Это необходимо или конечная точка обеспечивает весь необходимый доступ?

charts / app / templates / app-memorystore.service.yaml

kind: Service
apiVersion: v1
metadata:
  name: app-memorystore
spec:
  type: ClusterIP
  clusterIP: None
  ports:
  - name: redis
    port: {{ .Values.gcpredis.port }}
    protocol: TCP
---
kind: Endpoints
apiVersion: v1
metadata:
  name: app-memorystore
subsets:
- addresses:
  - ip: {{ .Values.gcpredis.ip }}
  ports:
  - port: {{ .Values.gcpredis.port }}
    name: redis
    protocol: TCP

1 Ответ

3 голосов
/ 02 июля 2019

Да, вам все еще это нужно.

Вообще говоря, служба - это имя, которое используется приложениями для подключения к конечной точке.Обычно служба со селектором автоматически создает соответствующую конечную точку с IP-адресами модулей, найденных селектором.

Когда вы определяете службу без селектора, вам необходимо присвоить соответствующую конечную точку с тем же именем.так что Сервису есть куда идти.Этот бит информации находится в документации, но немного похоронен.На https://kubernetes.io/docs/concepts/services-networking/service/#without-selectors он упоминается во втором пункте маркировки для служб без заголовка без селекторов:

Для сервисов без заголовка, которые не определяют селекторы, контроллер конечных точек не создает записи конечных точек.Однако система DNS ищет и настраивает:

  • Записи CNAME для служб типа ExternalName.
  • Записи для любых конечных точек, которые совместно используют имя со службой, для всех остальныхтипы.
...