我正在尝试在仅使用 IPv6 网络的裸机上安装 kubernetes 。每当我输入 IPv6 地址而不是 IPv4 地址时,我都会说“无效参数”。
任何人都可以建议有关如何在纯 IPv6 网络上安装 Kubernetes 的任何指南吗? 我知道,它还没有准备好 IPv6 生产,但在源代码中,似乎很少有组件支持 IPv6——这就是我尝试的原因。
最近为 Kubernetes 添加或提议支持 IPv6 的许多更改要么尚未合并,要么在 Kubernetesi 最新正式版本(1.8.0)之后合并。与此同时,我们需要一种在 Kubernetes 集群上执行这些“正在进行的”IPv6 更改的方法。本 wiki 为您提供了两种将这些更改包含在 Kubernetes 集群实例中的方法:
为 Kubernetes 组件使用“罐装”(预编译/预构建)版本二进制文件和容器映像(例如
https://github.com/leblancd/kubernetes/releases/tag/v1.9.0-alpha.0.ipv6.0我个人这样做是因为 IPv4 非常昂贵(每个 IP 至少 3 美元),而您可以获得任何 VPS 中包含的 IPv6 的整个子网。
这在使用 LoadBalancer 服务时非常重要,因为创建的每个 LoadBalancer 服务都需要为其分配一个
External IP
。这意味着拥有 10 个服务意味着拥有 10 个 IPv4 地址,这很快就会变得昂贵。使用 IPv6,您就不会遇到这个问题。
如果您在 Medium 上遵循本教程,您将获得有关如何从头开始自行部署它的所有详细信息。您还将了解如何设置一切以获取 LoadBalancer 服务上的外部 IP。 设置完成后,您可以创建服务并使用
ipFamilies
字段指定您要使用 IPv6 地址:
apiVersion: v1
kind: Service
metadata:
name: nginx-service
labels:
app: nginx-service
spec:
selector:
app: nginx-app
type: LoadBalancer
ipFamilies:
- IPv6
ports:
- protocol: TCP
port: 80
targetPort: 80