如何使用Google Kubernetes负载均衡器设置IPv6地址

68de4m5k  于 2023-03-01  发布在  Kubernetes
关注(0)|答案(1)|浏览(154)

我想在GKE集群上设置一个IPv6地址。我想这样做的主要原因是我正在设置一个Google管理的证书,并将服务连接到一个域名。该证书需要配置类型A和类型AAAA记录。我在VPC网络上保留了一个IPv6地址,但没有办法分配它。即使尝试编辑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
t8e9dugd

t8e9dugd1#

GKE当前不支持pod或服务的IPv6。但是,你可以将IPv6地址分配给外部HTTP(S)负载平衡器。你将无法为类型为 LoadBalancer 的 * 服务 * 执行此操作。你将需要创建一个入口资源,因为入口会创建一个支持IPv6的HTTP(S)负载平衡器。
目前计划于2022年第2季度末在GKE上支持双协议栈。

相关问题