4

我正在尝试将流量路由到 GCE 上的静态存储桶。现在我正在使用入口,但在这里找到了谷歌的文档:

https://cloud.google.com/compute/docs/load-balancing/http/adding-a-backend-bucket-to-content-based-load-balancing

我一直通过,但在主机和路径菜单中进行 url 映射时无法选择“后端存储桶”......即使它列在后端存储桶下。可以选择“后端服务”选项,但禁用后端存储桶菜单。有谁知道更好的教程,或者将流量路由到静态内容存储桶的更好方法?

我可以在入口 yaml 中指定它吗?

4

3 回答 3

5

看起来这将在 Kubernetes 1.19中可用

但是请注意,1.19 在 GKE 上尚不可用(截至本文发布之时),但无论如何我认为这对登陆这里的人来说是有用的信息。当 1.19 可用时,我会尝试并更新此答案。

为了预览这在配置中的外观,该功能的拉取请求包括一个示例

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-resource-backend
spec:
  defaultBackend:
    resource:
      apiGroup: k8s.example.com
      kind: StorageBucket
      name: static-assets
  rules:
    - http:
        paths:
          - path: /icons
            pathType: ImplementationSpecific
            backend:
              resource:
                apiGroup: k8s.example.com
                kind: StorageBucket
                name: icon-assets
于 2020-08-30T22:58:01.400 回答
2

GCE Ingress yaml 规范目前不支持指定“后端存储桶”。

如果您修改由 Ingress 控制器创建的负载均衡器以将一些流量路由到后端存储桶(通过编辑其 URL 映射),您的更改将被 Ingress 控制器定期覆盖。

您唯一的选择可能是为您的“后端存储桶”创建一个单独的负载均衡器。

于 2018-04-18T04:55:06.020 回答
1

如果您启用ConfigConnector,您可以使用它从 GKE 内的资源(例如您的 Ingress)中引用在 GKE 之外创建的资源。您将使用外部引用来执行此操作。

或者,如果您想在 GKE 中创建/管理存储桶,您可以使用StorageBucket自定义资源定义来执行此操作。

这可能看起来像这样(更新:我使用 GKE 1.20 尝试过,但它不起作用):

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-resource-backend
spec:
  defaultBackend:
    resource:
      apiGroup: resourcemanager.cnrm.cloud.google.com
      kind: StorageBucket
      name: static-assets
  rules:
    - http:
        paths:
          - path: /icons
            pathType: ImplementationSpecific
            backend:
              resource:
                apiGroup: resourcemanager.cnrm.cloud.google.com
                kind: StorageBucket
                name: icon-assets
于 2021-07-05T14:52:45.623 回答