【发布时间】:2021-07-13 18:29:31
【问题描述】:
我使用kustomize 部署了一个简单的测试ingress 和一个externalName service。
部署工作正常,我得到了预期的结果,但是当describing test-ingress 它显示错误:<error: endpoints "test-external-service" not found>。
这似乎是一个 k8s 错误。它显示此错误,但一切正常。
这是我的部署:
kustomization.yaml:
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: platform
resources:
- test-ingress.yaml
- test-service.yaml
generatorOptions:
disableNameSuffixHash: true
test-service.yaml:
apiVersion: v1
kind: Service
metadata:
name: test-external-service
namespace: platform
spec:
type: ExternalName
externalName: "some-working-external-elasticsearch-service"
test-ingress.yaml:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: test-ingress
annotations:
kubernetes.io/ingress.class: nginx-external
nginx.ingress.kubernetes.io/configuration-snippet: |
proxy_cache_bypass $http_upgrade;
spec:
rules:
- host: testapi.mydomain.com
http:
paths:
- path: /
backend:
serviceName: test-external-service
servicePort: 9200
在这里,我将外部服务连接到工作中的elasticsearch 服务器。当浏览到testapi.mydomain.com(“mydomain”当然被我们的真实域替换)时,我得到了众所周知的预期elasticsearch 结果:
{
"name" : "73b40a031651",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "Xck-u_EFQ0uDHJ1MAho4mQ",
"version" : {
"number" : "7.10.1",
"build_flavor" : "oss",
"build_type" : "docker",
"build_hash" : "1c34507e66d7db1211f66f3513706fdf548736aa",
"build_date" : "2020-12-05T01:00:33.671820Z",
"build_snapshot" : false,
"lucene_version" : "8.7.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
所以一切正常。但是在描述test-ingress时,出现如下错误:
test-external-service:9200 (<error: endpoints "test-external-service" not found>)
这是什么错误?为什么即使一切正常,我也会得到它?我在这里错过了什么?
【问题讨论】:
-
运行
kubectl describe ing命令后,Events部分中是否有任何警告/错误条目?如果您没有任何警告/错误条目,则一切都应按预期工作。
标签: kubernetes google-kubernetes-engine kubernetes-ingress nginx-ingress