Как настроить IPv6-адрес с помощью Google Kubernetes Load Balancer

Я хочу настроить IPv6-адрес для обслуживания в кластере GKE. Основная причина, по которой я хочу это сделать, заключается в том, что я настраиваю сертификат, управляемый Google, и подключаю службу к доменному имени. Сертификат требует настройки записей типа A и типа AAAA. Я зарезервировал IPv6-адрес в сети VPC, но не могу его назначить. Даже пытался отредактировать YAML для поддержки семейства IPv6, но он просто показывает ошибку

      The Service "made-up-name" is invalid: spec.ipFamilies[1]: Invalid value: []string(nil): ipfamily IPv6 is not configured on cluster

Вот мой файл YAML на данный момент

      apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-stream-server-depl
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-stream-server
  template:
    metadata:
      labels:
        app: my-stream-server
    spec:
      containers:
        - name: my-stream-server
          image: gcr.io/reddo-346118/my-stream-server
---
apiVersion: v1
kind: Service
metadata:
  name: my-stream-server-srv
spec:
  ipFamilyPolicy: PreferDualStack
  ipFamilies:
  - IPv4
  - IPv6
  selector:
    app: my-stream-server
  ports:
    - name: http
      protocol: TCP
      port: 8000
      targetPort: 8000
    - name: rtmp
      protocol: TCP
      port: 1935
      targetPort: 1935
---
kind: Service
apiVersion: v1
metadata:
  name: my-stream-server-rtmp
spec:
  type: LoadBalancer 
  externalTrafficPolicy: Cluster  
  ports:
  - name: rtmp
    port: 1935
    targetPort: 1935
    protocol: TCP
  selector:
    app: my-stream-server

1 ответ

В настоящее время GKE не поддерживает IPv6 для модулей или служб. Однако вы можете назначить IPv6-адрес внешнему балансировщику нагрузки HTTP(S). Вы не сможете сделать это для Service типа LoadBalancer. Вместо этого вам потребуется создать ресурс Ingress, так как Ingress создает балансировщик нагрузки HTTP(S), который поддерживает IPv6.

Поддержка двойного стека в GKE в настоящее время запланирована на конец второго квартала 2022 года.