为什么Kubernetes 1.16上的Elasticsearch-master-headless的搜索名称解析失败?

问题描述 投票:0回答:1

[我正在尝试在GKE上的Helm 3上在Kubernetes 1.16上运行elasticsearch。我知道目前尚不支持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开头的Pod中的Shell ping kubectl exec,则也无法访问它。

我试图用/etc/resolv.conftelnet中的名称服务器联系,因为它允许指定特定的端口:

[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混淆了项目ID。

已经建议将该补丁与https://github.com/elastic/helm-charts/pull/496处的其他更改一起合并到上游。

elasticsearch kubernetes kubernetes-helm kubernetes-1.16
1个回答
0
投票

[可能是防火墙(防火墙)阻止了53 / udp,tcp或正在执行测试的群集出现网络问题。

© www.soinside.com 2019 - 2024. All rights reserved.