我有一个 opensearch 应用程序,我想通过服务公开它,以便它可以与我得到的 opensearch-dashboard 应用程序通信。当我在 pod 中打开 shell 时,我看到 opensearch 服务器工作正常。
当我运行提取网址时:
cat /etc/hosts
我得到:
opensearch-master-headless-0.opensearch-master-headless.search.svc.cluster.local
如果我在同一个 pod 中运行它,我会得到 200 响应。:
curl -XGET http://opensearch-master-headless-0.opensearch-master-headless.search.svc.cluster.local:9200 -u 'admin:admin' --insecure
如果我从同一命名空间中的仪表板 pod 运行它,它会说它没有解决:
curl -XGET http://opensearch-master-headless-0.opensearch-master-headless.search.svc.cluster.local:9200 -u 'admin:admin' --insecure
我的服务.yml
---
kind: Service
apiVersion: v1
metadata:
name: {{ .Values.global.appName }} --- evaluates to opensearch
namespace: {{ .Values.global.namespace }} --- evaluates to search
spec:
type: ClusterIP
clusterIP: None
publishNotReadyAddresses: true
ports:
- name: "http"
protocol: TCP
port: 9200
- name: "transport"
protocol: TCP
port: 9300
---
但是,如果我使用 opensearch 的 pod IP 地址:
curl -XGET http://<IP-ADDRESS>:9200 -u 'admin:admin' --inse
cure
这适用于 opensearch pod
- 我正在使用 argocd 进行部署,当我部署 opensearch 应用程序时,它不会在我的服务配置上引发任何错误