У меня есть Elasticsearch Pod и Сервис. У меня также есть еще один Pod (то же пространство имен - по умолчанию) под названием «website», который хочет получить html-контент Elasticsearch (используя curl).
Когда я захожу в Pod веб-сайта (используя exec) и запускаю $curl -v elasticsearch-service
, я получаю:
curl -v elasticsearch-service
* Rebuilt URL to: elasticsearch-service/
* Trying 10.111.159.30...
* TCP_NODELAY set
примечание: 10.111.159.30 - IP-адрес службы эластичного поиска.
Но когда я запускаю $curl 172.15.0.5:9200
(IP-адрес POD), я получаю правильный вывод:
$curl 172.15.0.5:9200
{
"name" : "1X7ZARS",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "V8GX-5STSoW_PJ8Qguu7Jw",
"version" : {
"number" : "6.6.1",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "1fd8f69",
"build_date" : "2019-02-13T17:10:04.160291Z",
"build_snapshot" : false,
"lucene_version" : "7.6.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
По какой-то причине служба Elasticsearch не перенаправляет на приложение els.
Это ямл Стручка:
apiVersion: v1
kind: Pod
metadata:
name: elasticsearch
spec:
containers:
- name: elasticsearch
image: yageldhn/els-java8:6.6.1
ports:
- containerPort: 9200
- containerPort: 9300
env:
- name: discovery.type
value: "single-node"
Это вид службы:
apiVersion: v1
kind: Service
metadata:
name: elasticsearch-service
spec:
ports:
- port: 9200
name: serving
protocol: TCP
- port: 9300
name: node2node
protocol: TCP
selector:
app: elasticsearch
Я довольно новичок с K8s, что я сделал не так?