Я пытаюсь запустить эластичный поиск на Kubernetes 1.16 с Helm 3 на GKE. Я знаю, что и 1.16 и 3 еще не поддерживаются. Я хочу подготовить PR, чтобы сделать его совместимым. Я использую рулевые диаграммы из https://github.com/elastic/helm-charts.
Если я использую исходную диаграмму 7.6.1, создание модуля завершается неудачей из-за create Pod elasticsearch-master-0 in StatefulSet elasticsearch-master failed error: pods "elasticsearch-master-0" is forbidden: unable to validate against any pod security policy: [spec.volumes[1]: Invalid value: "projected": projected volumes are not allowed to be used]
. Поэтому я создал следующий патч:
diff --git a/elasticsearch/values.yaml b/elasticsearch/values.yaml
index 053c020..fd9c37b 100755
--- a/elasticsearch/values.yaml
+++ b/elasticsearch/values.yaml
@@ -107,6 +107,7 @@ podSecurityPolicy:
- secret
- configMap
- persistentVolumeClaim
+ - projected
persistence:
enabled: true
С этим патчем на master / d9ccb5a и тегом 7.6.1 (пробовал оба) стручки быстро попадают в нездоровое состояние из-за failed to resolve host [elasticsearch-master-headless]
, вызванного java.net.UnknownHostException: elasticsearch-master-headless
.
Я не понимаю, почему разрешение имен не работает, поскольку в 1.16 не внесено никаких изменений, которые изменяют разрешение имен с именами Kubernetes afaik. Если я попытаюсь пропинговать elasticsearch-master-headless
из оболочки в модуле, начинающемся с kubectl exec
, я тоже не смогу связаться с ним.
Я попытался связаться с сервером имен в /etc/resolv.conf
с помощью telnet
, потому что это позволяет указать указанный c порт:
[elasticsearch@elasticsearch-master-1 ~]$ cat /etc/resolv.conf
search default.svc.cluster.local svc.cluster.local cluster.local us-central1-a.c.myproject.internal c.myproject.internal google.internal
nameserver 10.23.240.10
options ndots:5
[elasticsearch@elasticsearch-master-1 ~]$ telnet 10.23.240.10
Trying 10.23.240.10...
^C
[elasticsearch@elasticsearch-master-1 ~]$ telnet 10.23.240.10 53
Trying 10.23.240.10...
telnet: connect to address 10.23.240.10: Connection refused
Я запутал идентификатор проекта с помощью myproject.
Патч уже предлагается объединить в апстрим с другими изменениями на https://github.com/elastic/helm-charts/pull/496.