准备IPv6的SLB给容器服务ApiServer使用:
参考创建IPv6 SLB的文档,首先在集群所在的Region创建一个IPv6的SLB。
给IPv6的SLB绑定APIServer:
-
由于目前SLB的实现是将IPv6的包封装到IPv4的隧道中的,所以需要将机器的MTU改的更小一些,目前比较安全的值是1240,修改方式--登录到每个master节点上执行:
ip link set eth0 mtu 1240
- 将后端三个master节点绑定到刚才创建的IPv6的SLB的后端上,设置监听的前端端口和后端端口均为6443,等待健康检查全都正常
配置支持IPv6的kubectl配置
- 打开容器服务控制台的集群管理中,拿到kubeconfig的配置,例如:
-
修改kubeconfig配置中
server
的地址为IPv6的SLB的地址,修改certificate-authority-data: xxxx
为insecure-skip-tls-verify: true
,然后将内容放入$HOME/.kube/config文件中,就可以用kubectl在IPv6的网络中通过IPv6操作集群了,kubeconfig示例:~ cat ~/.kube/config apiVersion: v1 clusters: - cluster: server: https://[2400:3200:1600::29e]:6443 # ipv6的链接地址 insecure-skip-tls-verify: true name: kubernetes contexts: - context: cluster: kubernetes user: "kubernetes-admin" name: kubernetes-admin-xxx current-context: kubernetes-admin-xxx kind: Config preferences: {} users: - name: "kubernetes-admin" user: client-certificate-data: {clicert} client-key-data: {clikey}