Kubernetes readness не может посещать сервис по DNS - PullRequest
0 голосов
/ 08 апреля 2019

Я развертываю Elastic Search и Fluentd в одном и том же пространстве имен test и пишу ниже конфигурацию, чтобы Fluentd мог посещать Elastic serach:

        livenessProbe:
          failureThreshold: 5
          httpGet:
            host: elasticsearch-logging
            path: /
            port: 9200
            scheme: HTTP
          initialDelaySeconds: 10
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1

Это не сработало, поэтому я использовал полное DNS-имя, который все еще не удался:

Readiness probe failed: Get http://elasticsearch-logging.test.svc.cluster.local:9200/: dial tcp: lookup elasticsearch-logging.test.svc.cluster.local: no such host

Я удалил часть живучести и использую curl в модуле Fluentd, который работает:

root@fluentd-es-2dvmf:/# curl http://elasticsearch-logging:9200/
{
  "name" : "elasticsearch-logging-0",
  "cluster_name" : "skydiscovery-es-cluster",
  "cluster_uuid" : "fr3oSzpHT_qP9HQJ1WygnA",
  "version" : {
    "number" : "6.2.4",
    "build_hash" : "ccec39f",
    "build_date" : "2018-04-12T20:37:28.497551Z",
    "build_snapshot" : false,
    "lucene_version" : "7.2.1",
    "minimum_wire_compatibility_version" : "5.6.0",
    "minimum_index_compatibility_version" : "5.0.0"
  },
  "tagline" : "You Know, for Search"
}

Почему они ведут себя по-разному?

Есть ли способ сделать это?

Ответы [ 2 ]

0 голосов
/ 17 апреля 2019

Это невысказанные правила о проверке, подробности см. PR . Это не связано с неправильными настройками.

Отображение IP-адреса модуля и имени службы на /etc/hosts может работать, поскольку хост может подключаться к IP-адресу модуля, но не может разрешить имя службы.

0 голосов
/ 14 апреля 2019

Пожалуйста, подтвердите ваше развертывание.В описании мы видим « livenessProbe », в то время как в «разделе ошибок» есть « Проверка готовности ».

С точки зрения " fluentd " ( IP-адрес кластера ) известны как имя службы , так и IP-адрес (как вы можете видеть выполнение скручивания по имени или по IP-адресу).

С точки зрения Kubelet ( узел ) (во время "проверки живучести") вместо этого используйте " IP-адрес службы ".В целях тестирования вы можете добавить « IP-адрес службы » и « имя службы » в ваш известный файл / etc / hosts .Пожалуйста, поделитесь с вашими результатами.

...