【问题标题】:Is there a way to use Cloud CDN(backend bucket) with "GKE ingress"?有没有办法将 Cloud CDN(后端存储桶)与“GKE 入口”一起使用?
【发布时间】:2022-02-17 17:39:00
【问题描述】:

是否可以在 1.21.5-gke.1302 中将云 CDN storageBucket 设置为入口后端? 我在尝试:

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: test-ingress
  namespace: test-namespace
  annotations:
    kubernetes.io/ingress.global-static-ip-name: >
      test-gke-ingress,
      test-backendconfig
    kubernetes.io/ingress.allow-http: \"false\"
    networking.gke.io/managed-certificates: \"test-ssl,\"
spec:
  rules:
- host: test.example.com
  http:
    paths:
    - path: /*
      backend:
        serviceName: test-cdn-service
        servicePort: 80
    - path: /test
      backend:
        resource:
              kind: StorageBucket
              name: test-bucket

但是得到:

[ValidationError(Ingress.spec.rules[7].http.paths[1].backend): io.k8s.api.networking.v1beta1.IngressBackend 中的未知字段\"kind\",ValidationError(Ingress.spec.rules[ 7].http.paths[1].backend): io.k8s.api.networking.v1beta1.IngressBackend 中的未知字段\"name\"]

有没有办法将 Cloud CDN(后端存储桶)与“GKE 入口”一起使用?

标签: google-kubernetes-engine kubernetes-ingress google-cloud-cdn


【解决方案1】:

根据documentation

如果您使用的是 GKE 版本 1.16-gke。 3 或更高版本,您应该使用cloud.google.com/backend-config注释,即使beta.cloud.google.com/backend-config注释也将起作用。

对于 GKE 版本 1.16.8-gke.3 及更高版本,建议您使用cloud.google.com/v1API 版本。如果您使用的是较早的 GKE 版本,请使用cloud.google.com/v1beta1.

我认为这 PR 包含您正在寻找的更改。

`Ingress` and `IngressClass` resources have graduated to `networking.k8s.io/v1`. Ingress and IngressClass types in the `extensions/v1beta1` and `networking.k8s.io/v1beta1` API versions are deprecated and will no longer be served in 1.22+. Persisted objects can be accessed via the `networking.k8s.io/v1` API. Notable changes in v1 Ingress objects (v1beta1 field names are unchanged):
* `spec.backend` -> `spec.defaultBackend`
* `serviceName` -> `service.name`
* `servicePort` -> `service.port.name` (for string values)
* `servicePort` -> `service.port.number` (for numeric values)
* `pathType` no longer has a default value in v1; "Exact", "Prefix", or "ImplementationSpecific" must be specified
Other Ingress API updates:
* backends can now be resource or service backends
* `path` is no longer required to be a valid regular expression

有关更多详细信息,请参阅 GitHub 问题和 Stackexchange post

【讨论】:

  • 嗨法里亚,非常感谢您的回复。如何在后端配置中指定存储桶?
  • 请参阅Setting up Cloud CDN with a backend bucket上的链接。如果这有帮助,请告诉我
  • 我看到了这个文档,但它没有描述与后端配置相关的任何内容。仅如何使用后端存储桶设置 CDN。
  • GCE Ingress yaml 规范目前不支持指定“后端存储桶”。如果您修改由 Ingress 控制器创建的负载均衡器以将一些流量路由到后端存储桶(通过编辑其 URL 映射),您的更改将被 Ingress 控制器定期覆盖。您唯一的选择可能是为您的“后端存储桶”创建一个单独的负载均衡器。详情请参阅link
  • 谢谢你的回复!我会试试的!
猜你喜欢
  • 2021-12-12
  • 1970-01-01
  • 2017-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多