Kubernetes 如文件所示,与库伯内特斯的traefik一起转发ExternalName
沿着这条路,我到达了关于的部分。上面写着: 指定外部名称时,Træfik将相应地将请求转发给给定主机 指向库伯内特斯的文件 这让我创建了一个服务Kubernetes 如文件所示,与库伯内特斯的traefik一起转发ExternalName,kubernetes,traefik,Kubernetes,Traefik,沿着这条路,我到达了关于的部分。上面写着: 指定外部名称时,Træfik将相应地将请求转发给给定主机 指向库伯内特斯的文件 这让我创建了一个服务 kind: Service apiVersion: v1 metadata: name: my-service namespace: prod spec: type: ExternalName externalName: my.database.example.com 当我指着它时,Traefik很高兴地忽略了这一点: --- api
kind: Service
apiVersion: v1
metadata:
name: my-service
namespace: prod
spec:
type: ExternalName
externalName: my.database.example.com
当我指着它时,Traefik很高兴地忽略了这一点:
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: my-service
namespace: kube-system
spec:
rules:
- host: my-service.example.com
http:
paths:
- path: /
backend:
serviceName: my-service
servicePort: 4080
我也尝试过作为终点
---
kind: Service
apiVersion: v1
metadata:
name: my-service
namespace: kube-system
spec:
ports:
- protocol: TCP
port: 80
targetPort: 4080
---
kind: Endpoints
apiVersion: v1
metadata:
name: my-service
subsets:
- addresses:
- ip: 10.0.0.3
ports:
- port: 4080
有人知道如何让traefik指向文档中建议的外部名称吗?如我所见,您的入口对象中至少漏了一行-
traefik.frontend.passHostHeader:“false”
此外,您还需要在同一个数据库中创建一个入口对象
所以,你的答案应该是:
apiVersion:extensions/v1beta1
种类:入口
元数据:
姓名:我的服务
名称空间:prod
注释:
traefik.frontend.passHostHeader:“false”
规格:
规则:
-主持人:my-service.example.com
http:
路径:
-路径:/
后端:
服务名称:我的服务
服务端口:4080
和服务:
种类:服务
版本:v1
元数据:
姓名:我的服务
名称空间:prod
规格:
类型:ExternalName
端口:
-名称:应用程序端口
端口:4080
externalName:my.database.example.com
在注释中添加's'确实让kubernetes接受了它,但它似乎没有将端口'4080'关联起来。是的,感谢您对's'的评论。错误类型:(我在回答中修复了它。如何关联…是的,您可以只使用一个端口,而不使用名称-“4080”。是的,在端口上,在traefik UI中,右侧的所有端点都有一个端口,即,除了使用上述服务和入口创建的条目外,它看起来没有连接端口:4080。我从未见过它的UI:)但是根据它的配置应该是可以的。您的版本可能有问题……您知道webUI,它向您显示了哪些端点是活动的,这是由它带来的