【发布时间】:2019-10-25 21:42:27
【问题描述】:
使用 Kubernetes 是否有办法从其他 pod 获取 ingress.spec.tls.hosts 值而不使用 kubectl(DNS、ENVVAR、OTHER)?
我知道我能做到:
# in other pod
dig +short my-app.default.svc.cluster.local
172.20.203.19
echo $MY_APP_SERVICE_HOST
172.20.203.19
echo $MY_APP_SERVICE_PORT
3000
或者:
# in other pod
dig +short SRV my-app.default.svc.cluster.local
0 100 3000 my-app.default.svc.cluster.local.
但我实际上想连接到 my-app 的外部负载均衡器,其入口定义为:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-app-ingress
annotations:
kubernetes.io/ingress.class: "traefik"
kubernetes.io/tls-acme: "true"
spec:
tls:
- hosts:
- myapp.mydomain.com
rules:
- host: myapp.mydomain.com
http:
paths:
- path: /
backend:
serviceName: my-app
servicePort: http
所以,我想从 pod 中动态获取 myapp.mydomain.com。
【问题讨论】:
标签: kubernetes kubernetes-ingress kubernetes-service