Loading... # 序 首先主机支持IPV6网络,注意主机的网卡IPV6的地址段不要和下面设置的K3S网络有冲突! # 安装 K3S默认的一些组件是不支持IPV6的所以我们需要禁用它们。 ``` curl -sfL https://get.k3s.io | sh -s - --disable traefik --disable servicelb --disable metrics-server --disable-cloud-controller --kube-proxy-arg proxy-mode=ipvs --cluster-cidr=10.42.0.0/16,fd42::/48 --service-cidr=10.43.0.0/16,fd43::/112 --disable-network-policy --flannel-backend=none --node-ip=10.0.0.48,fd00::2a0:98ff:fe2d:a28 ``` ## 安装Calico 我们禁用了自带的traefik,负载均衡器,指标服务,flannel网络 我们需要安装Calico来替代flannel ``` wget https://docs.projectcalico.org/manifests/calico.yaml ``` 修改下载的`calico.yaml`,找到`ipam`修改成下面这样 ``` "ipam": { "type": "calico-ipam", "assign_ipv4": "true", "assign_ipv6": "true" }, ``` 然后在`calico.yaml`中找到 FELIX_IPV6SUPPORT 变量并将其设置为 true  部署`calico.yaml` ``` k3s kubectl apply -f calico.yaml ``` ## 安装 Metallb ``` wget https://raw.githubusercontent.com/metallb/metallb/v0.10.2/manifests/namespace.yaml -O metallb-namespace.yaml wget https://raw.githubusercontent.com/metallb/metallb/v0.10.2/manifests/metallb.yaml -O metallb-0.10.2-manifest.yaml k3s kubectl apply -f metallb-namespace.yaml -f metallb-0.10.2-manifest.yaml ``` 创建一个`metallb-config.yaml`文件,内容如下 ``` apiVersion: v1 kind: ConfigMap metadata: namespace: metallb-system name: config data: config: | address-pools: - name: default protocol: layer2 addresses: - 10.0.0.48 - fd00::2a0:98ff:fe2d:a28 ``` address可以写网段,根据自己的网络填写,填写的网段就是LoadBalancer会分配的 部署`metallb-config.yaml` ``` k3s kubectl apply -f metallb-config.yaml -n metallb-system ``` 最后修改:2022 年 04 月 24 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意赞赏