我所知道的:
我可以使用以下命令访问 Rancher 下游集群的服务..
https:///k8s/clusters//api/v1/namespaces/app-namespace/services/http:app-service:80/proxy/
但是当我登录到牧场主服务器时我可以访问它。
我想做什么或我的问题:
如果我想在不登录rancher服务器的情况下使用上述URL访问下游集群的某个服务,如何访问。
我在这里看到了一些与此相关的答案。
但仍然不确定要修改或重建代理容器的内容
任何人都可以帮我解决问题吗?
@PythonLearner 你能帮忙解释一下你是如何做到的吗?
提前致谢。
我已经在下游集群上安装了trefik Ingress Controller,并为该服务创建了一个Ingress。
如果需要在不登录Rancher服务器的情况下访问下游集群中的服务,可以使用下游集群中配置的Ingress资源。
您可以按照以下步骤操作:
在下游集群中安装并配置 Traefik Ingress Controller。您提到您已经完成了此操作,因此您应该运行并配置 Traefik。
在下游集群中为您的服务创建 Ingress 资源。 Ingress 定义将传入请求路由到特定服务的规则。您可以创建一个 Ingress YAML 文件,类似于以下示例:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: app-ingress
namespace: app-namespace
spec:
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: app-service
port:
number: 80
在此示例中,Ingress 将传入请求路由到应用程序命名空间中的应用程序服务。
使用 kubectl 或任何其他 Kubernetes 管理工具将 Ingress YAML 文件应用到下游集群:kubectl apply -f ingress.yaml。确保您处于下游集群的适当上下文中。
Ingress 创建并成功应用后,您应该能够使用 Ingress 中配置的 URL 访问服务。在你的情况下,它会是这样的:https:///.
确保替换为下游集群的实际 URL 或 IP 地址。
通过使用此 Ingress 配置,您无需访问 Rancher 服务器即可访问您的服务。相反,您可以使用配置的 URL 直接访问它。