下游集群的 kubernetes(rancher)入口

问题描述 投票:0回答:1

我所知道的:

我可以使用以下命令访问 Rancher 下游集群的服务..

https:///k8s/clusters//api/v1/namespaces/app-namespace/services/http:app-service:80/proxy/

但是当我登录到牧场主服务器时我可以访问它。

我想做什么或我的问题:

如果我想在不登录rancher服务器的情况下使用上述URL访问下游集群的某个服务,如何访问。

我在这里看到了一些与此相关的答案。

kubernetes(牧场主)入口理解

但仍然不确定要修改或重建代理容器的内容

任何人都可以帮我解决问题吗?

@PythonLearner 你能帮忙解释一下你是如何做到的吗?

提前致谢。

我已经在下游集群上安装了trefik Ingress Controller,并为该服务创建了一个Ingress。

rancher k3s
1个回答
0
投票

如果需要在不登录Rancher服务器的情况下访问下游集群中的服务,可以使用下游集群中配置的Ingress资源。

您可以按照以下步骤操作:

  1. 在下游集群中安装并配置 Traefik Ingress Controller。您提到您已经完成了此操作,因此您应该运行并配置 Traefik。

  2. 在下游集群中为您的服务创建 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 将传入请求路由到应用程序命名空间中的应用程序服务。

  1. 使用 kubectl 或任何其他 Kubernetes 管理工具将 Ingress YAML 文件应用到下游集群:kubectl apply -f ingress.yaml。确保您处于下游集群的适当上下文中。

  2. Ingress 创建并成功应用后,您应该能够使用 Ingress 中配置的 URL 访问服务。在你的情况下,它会是这样的:https:///.

确保替换为下游集群的实际 URL 或 IP 地址。

通过使用此 Ingress 配置,您无需访问 Rancher 服务器即可访问您的服务。相反,您可以使用配置的 URL 直接访问它。

© www.soinside.com 2019 - 2024. All rights reserved.