gpt4 book ai didi

Kubernetes 跨命名空间入口网络

转载 作者:行者123 更新时间:2023-12-04 01:46:37 27 4
gpt4 key购买 nike

我有一个简单的入口网络,我想从这个入口网络访问不同命名空间的服务。

我怎么能做到这一点?
我的入口网络 yaml 文件:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress
spec:
rules:
- host: api.myhost.com
http:
paths:
- backend:
serviceName: bookapi-2
servicePort: 8080
path: /booking-service/

我已将 ExternalNames 服务类型设置为 yaml 文件:
 apiVersion: v1
kind: Service
metadata:
name: bookapi-2
namespace: booking-namespace
spec:
type: ExternalName
externalName: bookapi-2
ports:
- name: app
protocol: TCP
port: 8080
targetPort: 8080
selector:
app: bookapi-2
tier: backend-2

最佳答案

An ExternalName service is a special case of service that does not have selectors and uses DNS names instead.



您可以从官方 Kubernetes documentation 中了解有关 ExternalName 服务的更多信息:

当您想从不同的命名空间访问服务时,您的 yaml 可以为 example ,看起来像这样:
kind: Service
apiVersion: v1
metadata:
name: test-service-1
namespace: namespace-a
spec:
type: ExternalName
externalName: test-service-2.namespace-b.svc.cluster.local
ports:
- port: 80

至于你的 Ingress yaml 文件,请重新检查它并确保它符合官方示例,例如 example这个因为它包含一些不一致:
apiVersion: extensions/v1beta1  
kind: Ingress
metadata:
name: my-ingress
spec:
rules:
- host: www.mysite.com
http:
paths:
- backend:
serviceName: website
servicePort: 80
- host: forums.mysite.com
http:
paths:
- path:
backend:
serviceName: forums
servicePort: 80

还请重新检查 ExternalName yaml,因为它具有未在此类 Service 中使用的 TargetPorts 和选择器并确保:

ExternalName Services are available only with kube-dns version 1.7 and later.



如果您不会成功,请分享您遇到的问题。

关于Kubernetes 跨命名空间入口网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51878195/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com