由于需要同步主机文件,所以需要安装相关插件vagrant-vbguest
. 注意,该版本目前一定要0.21
版本,其它版本暂时有问题
# 查看插件
vagrant plugin list
# sync folder plugin
vagrant plugin install vagrant-vbguest --plugin-version 0.21
当虚拟机启动后,集群还处于待激活状态,各节点还未加入到集群,需求一些简单的配置
vagrant up
由于 flannel
的镜像拉取失败,请先提前下载并载入. 然后修改 addon/flannel/flannel.yml
的镜像.
目前使用以下两个:
rancher/mirrored-flannelcni-flannel:v0.17.0
rancher/mirrored-flannelcni-flannel-cni-plugin:v1.0.1
cd /vagrant
kubectl apply -f addon/flannel/flannel.yml
查看 kubeadm.out
有加入节点的指令
kubeadm join --token <token> <control-plane-host>:<control-plane-port> --discovery-token-ca-cert-hash sha256:<hash>
kubectl taint nodes --all node-role.kubernetes.io/master
kubectl edit configmap -n kube-system kube-proxy
修改其中的
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: "ipvs"
ipvs:
strictARP: true
重启kube-proxy
的pod
kubectl get pod -n kube-system |grep kube-proxy |awk '{system("kubectl delete pod "$1" -n kube-system")}'
kubectl apply -f addon/metallb/namespace.yml
helm install metallb metallb/metallb -f addon/metallb/values.yml -n metallb-system
kubectl apply -f addon/ingress-nginx/namespace.yml
helm install ingress-nginx ingress-nginx/ingress-nginx -f addon/ingress-nginx/values.yaml -n ingress-nginx