Используйте Google Cloud Storage Bucket с GCE LoadBalancer без хоста и путей

Я пытаюсь направить трафик в статический сегмент GCE. Сейчас я использую ingress, но нашел здесь документы для Google:

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

Я прохожу полностью, но не могу выбрать «backend bucket», пока в меню hosts и paths выполняю сопоставление URL ... даже если он указан в backend bucket. Можно выбрать параметры «Серверные службы», но меню сегментов серверной части отключено. Кто-нибудь знает лучший учебник или лучший способ перенаправить трафик в корзину для статического контента?

Могу ли я указать это в входящем ямле?


person ThatCampbellKid    schedule 16.04.2018    source источник
comment
Я бы сказал, что документация, которую вы просматриваете, - лучшая документация на данный момент для достижения вашей цели. Вы пытаетесь просто добавить новый путь маршрута корзины к существующему балансировщику нагрузки или создаете балансировщик нагрузки только для перенаправления сегмента?   -  person Alessio    schedule 17.04.2018
comment
Я создал его через вход, так что, может быть, мне уже стоит создать балансировщик нагрузки специально, а не входящий? Ржу не могу   -  person ThatCampbellKid    schedule 17.04.2018
comment
Да, я определенно предлагаю создать выделенный балансировщик нагрузки, потому что на данный момент нет возможности создать правило пути к хосту от входа в соответствии с этой ошибкой github.com/kubernetes/ingress-gce/issues/33   -  person Alessio    schedule 17.04.2018
comment
Отлично, я обязательно попробую и дам вам знать. Так что, подумайте, а затем направьте статический путь к выделенному балансировщику нагрузки, как вы думаете?   -  person ThatCampbellKid    schedule 17.04.2018
comment
Ага, вот что я имел в виду!   -  person Alessio    schedule 19.04.2018


Ответы (3)


Похоже, это будет доступно в 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
person davnicwil    schedule 30.08.2020

В настоящее время спецификация yaml GCE Ingress не поддерживает указание "серверных сегментов".

Если вы измените балансировщик нагрузки, созданный контроллером Ingress, чтобы направить часть трафика в серверную корзину (путем редактирования его карты URL-адресов), ваши изменения будут периодически перезаписываться контроллером Ingress.

Ваш единственный вариант, вероятно, создать отдельный балансировщик нагрузки для вашей «серверной корзины».

person Ahmet Alp Balkan    schedule 18.04.2018
comment
это должно сработать? stackoverflow.com/questions/55779048 / - person ses; 22.04.2019

Если вы включите ConfigConnector, вы можете использовать его для ссылки на ресурсы, созданные вне GKE из ресурсов внутри GKE (например, вашего Ingress). Вы бы использовали внешнюю ссылку сделать так.

В качестве альтернативы, если вы хотите создавать сегменты или управлять ими из 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
person subpixel    schedule 05.07.2021