給容器服務的APIServer開放IPv6的訪問
準備IPv6的SLB給容器服務ApiServer使用:
參考建立IPv6 SLB的文件,首先在叢集所在的Region建立一個IPv6的SLB。
給IPv6的SLB繫結APIServer:
-
1. 由於目前SLB的實現是將IPv6的包封裝到IPv4的隧道中的,所以需要將機器的MTU改的更小一些,目前比較安全的值是 1240,修改方式--登入到每個master節點上執行:
ip link set eth0 mtu 1240
-
2. 將後端三個master節點繫結到剛才建立的IPv6的SLB的後端上,設定監聽的前端埠和後端埠均為6443,等待健康檢查全都正常
配置支援IPv6的kubectl配置
-
1. 開啟容器服務控制檯的叢集管理中,拿到kubeconfig的配置,例如:
-
2. 修改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}