【发布时间】:2020-12-03 18:20:29
【问题描述】:
在我看来,我们不能在 Kubernetes 服务 loadBalancerSourceRanges 中使用 IPv6。我将复制简化为一个非常简单的配置,如下所示:
kind: Pod
apiVersion: v1
metadata:
name: apple-app
labels:
app: apple
spec:
containers:
- name: apple-app
image: hashicorp/http-echo
args:
- "-text=apple"
---
kind: Service
apiVersion: v1
metadata:
name: apple-service
spec:
selector:
app: apple
type: "LoadBalancer"
loadBalancerSourceRanges:
- "2600:1700:aaaa:aaaa::aa/32"
ports:
- port: 5678 # Default port for image
在 GKE 上部署它,当我“kubectl describe service apple-service”时出现以下故障:
Warning KubeProxyIncorrectIPVersion 13m (x11 over 62m) kube-proxy, gke-xxxx
2600:1700:aaaa:aaaa::aa/32 in loadBalancerSourceRanges has incorrect IP version
Normal EnsuringLoadBalancer 51s (x18 over 62m) service-controller
Ensuring load balancer
Warning SyncLoadBalancerFailed 46s (x17 over 62m) service-controller
Error syncing load balancer: failed to ensure load balancer: googleapi: Error 400: Invalid
value for field 'resource.sourceRanges[1]': '2600:1700::/32'. Must be a valid IPV4 CIDR address range., invalid
只是想确认我的结论(即 k8s 不支持此功能),或者,如果我的结论不正确,解决方法是什么。也许有办法让整个集群都在 IPv6 上,这样就可以了?
非常感谢!
【问题讨论】:
标签: kubernetes service ipv6