Как настроить кластер ETCD в Kubernetes, используя обнаружение DNS (SRV)? - PullRequest
0 голосов
/ 13 февраля 2019

Мне нужен динамический кластер etcd, работающий внутри моего кластера k8s.Лучший способ сделать это динамически (без жестко закодированных адресов, имен и т. Д.) - это использовать обнаружение DNS с внутренним DNS-сервером k8s (CoreDNS).

Я нахожу отдельную информацию о SRV записяхсозданный для сервисов в k8s, и некоторые пояснения о том, как etcd обнаружение DNS работает, но не полное руководство.

Например:

  • как k8s называет SRV записи?
  • должны ли они быть названы определенным образом, чтобы etcd мог их найти?
  • должен ли быть установлен какой-либо специальный параметр CoreDNS?

Любая помощьна это будет принята с благодарностью.

ссылки:

1 Ответ

0 голосов
/ 13 февраля 2019

как k8s называет записи SRV?

через Service.port[].name, поэтому почти все в kubernetes должно быть DNS-дружественным именем: потому что много раз,он помещает их в DNS для вас.

Модуль с dig или достаточно новым nslookup покажет вам:

$ dig SRV kubernetes.default.svc.cluster.local.

и вы увидите именапортов, которые kubernetes Service рекламирует.

должны ли они быть названы определенным образом, чтобы etcd мог их найти?

ДаНа странице, на которую вы ссылаетесь, видно, что их нужно назвать одним из следующих четырех:

  • _etcd-client
  • _etcd-client-ssl
  • _etcd-server
  • _etcd-server-ssl

так что-то вроде этого на стороне kubernetes:

ports:
- name: etcd-client
  port: 2379
  containerPort: whatever
- name: etcd-server
  port: 2380
  containerPort: whatever
...