容器服务 VKE 持续增强 IPv6 使用场景,支持通过 IPv6 公网或私网访问 API Server,本文为您详细介绍如何通过 IPv6 访问 API Server。
说明
【邀测·申请试用】:通过 VKE 使用 IPv6 相关功能目前处于邀测阶段,如需使用,请提交申请。
随着互联网的发展,IPv4 地址已经逐渐枯竭,IPv6 作为下一代互联网协议,具有更加丰富的地址空间和更加安全的特性。为了满足用户对 IPv6 的需求,双栈过渡是最佳选择。
容器服务全面支持 IPv6 双栈能力,目前已经支持搭建 IPv4/IPv6 双栈集群、通过 IPv6 公网或私网访问 API Server、通过 IPv6 公网访问 Server 等能力。
暂不支持通过容器服务 VKE 为 IPv6 地址绑定公网带宽,若有需要,可前往负载均衡控制台进行配置。
本文将详细介绍通过 IPv6 公网/私网访问 API Server 两个场景的详细操作步骤,可根据实际场景选择。
修改 步骤二 中获取私网访问 KubeConfig 配置中的 server 地址为 步骤一 中获取的 API Server IPv6 私网地址。并修改certificate-authority-data: XXXXXXX
为insecure-skip-tls-verify: true
。
更新后的 KubeConfig 示例如下:
~ cat ~/.kube/config apiVersion: v1 clusters: - cluster: server: https://[2406:d440:10b:3e94:9350:ffcb:9503:71a9]:6443 # IPv6 的链接地址,中括号中的内容为 API Server 的 IPv6 私网地址。 insecure-skip-tls-verify: true # 固定值,替换 certificate-authority-data 后的参数。 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}
登录 负载均衡控制台,开通 IPv6 公网带宽。详细介绍参见:管理 IPv6 公网带宽 章节中关于开通 IPv6 公网带宽的详细介绍。
修改 步骤四 中获取公网访问 KubeConfig 配置中的 server 地址为 步骤三 中获取的 API Server IPv6 公网地址。并修改certificate-authority-data: XXXXXXX
为insecure-skip-tls-verify: true
。
更新后的 KubeConfig 示例如下:
~ cat ~/.kube/config apiVersion: v1 clusters: - cluster: server: https://[2400:3200:1600::29e]:6443 # IPv6 的链接地址,中括号中的内容为 API Server 的 IPv6 公网地址。 insecure-skip-tls-verify: true # 固定值,替换 certificate-authority-data 后的参数。 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}
将以上配置 IPv6 的 KubeConfig 文件内容复制到计算机$HOME/.kube/config
(kubectl 的默认路径)文件中,然后在 kubectl 客户端执行kubectl get namespace
命令。
若能够正常返回集群中的命名空间信息,即表示通过 IPv6 访问 API Server 成功。返回示例如下:
NAME STATUS AGE default Active 17h kube-node-lease Active 17h kube-public Active 17h kube-system Active 17h