我在几乎所有私有ipv4空间已经使用的公司工作,因此使用10.254.0.0/16作为服务地址空间是不可能的。我已经划出了一个可以使用的/ 64的ipv6空间,但我似乎无法使它工作。
这是我的apiserver配置:
# The address on the local server to listen to.
KUBE_API_ADDRESS="--address=::"
# The port on the local server to listen on.
KUBE_API_PORT="--port=8080"
# Port kubelets listen on
KUBELET_PORT="--kubelet-port=10250"
# Address range to use for services
# KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=10.254.0.0/16"
KUBE_SERVICE_ADDRESSES="--service-cluster-ip-range=fc00:dead:beef:cafe::/64"
# Add your own!
KUBE_API_ARGS=""
但是当我尝试启动kube-apiserver.service
时,我收到有关"无效参数"的错误。是否可以将IPv6用于kubernetes?
答案 0 :(得分:3)
I don't think IPv6 is fully supported。我不认为该项目的开发人员有强烈的动机来添加IPv6支持,因为最大的贡献者群体是Google employees。 Google Compute Engine(以及Google容器引擎)不支持IPv6,因此直接支付员工支持IPv6不会让Google受益。最好的办法可能是吸引在AWS上运行其托管产品的公司员工(如AWS支持IPv6),如RedHat,或尝试自己贡献一些工作。
从链接的PR看起来,无论出于什么原因,Brian Grant(谷歌)都有点兴趣并能够提供IPv6支持。如果你有兴趣将此功能贡献给Kubernetes,那么他可能是一个很好的资源来查询。
答案 1 :(得分:1)
AWS已默认为几乎所有主要服务制作IPv6 - https://aws.amazon.com/blogs/aws/new-ipv6-support-for-ec2-instances-in-virtual-private-clouds/
最近,the IPv6 support is accepted,一个接一个地开始了,事实上,POD实施到目前为止已经完成了。 k8正在向服务方向发展,然后发布。
目前,开放式拦截器问题依然存在,并有良好的使用案例 - https://github.com/kubernetes/kubernetes/issues/27398