K8S搭建以及所遇到的问题
1
| kubectl edit configmap -n kube-system kube-proxy
|
执行上方命令,进入vim面板后,使用“/”键进行搜索,然后进行修改
1 2
| mode: "" 改为 mode: "ipvs" strictARP: false 改为 strictARP: true
|
拉取yaml文件
1 2 3 4
| #官方镜像 kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.14.8/config/manifests/metallb-native.yaml #国内镜像 kubectl apply -f https://raw.githubusercontent.com/xiaohh-me/kubernetes-yaml/main/network/metallb/metallb-native-v0.14.8.yaml
|
验证是否安装完成(当ready的数量对上和STATUS状态都为Running的时候则安装完成)
1
| kubectl get all -o wide -n metallb-system
|
编辑meatllb.yaml文件
1
| vim meatllb.yaml#进入vim编辑面板
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| apiVersion: metallb.io/v1beta1 kind: IPAddressPool metadata: name: first-pool namespace: metallb-system spec: addresses: - 172.18.8.83-172.18.8.89 --- apiVersion: metallb.io/v1beta1 kind: L2Advertisement metadata: name: example namespace: metallb-system spec: ipAddressPools: - first-pool #此处应该与上面spec的IP地址池同名
|
在执行该文件
1
| kubectl apply -f meatllb.yaml
|
两台ubuntu进行ssh连接
kubectl获取pod列表时,连接被拒绝
1 2
| [root@localhost ~]# kubectl get nodes The connection to the server localhost:8080 was refused - did you specify the right host or port?
|
复制config文件到指定目录,重启
1 2 3
| mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config source ~/.bash_profile
|
主节点生成token
1
| kubeadm token create --print-join-command
|
工作节点加入节点时使用生成的token(使用cri-docker搭建集群时需要添加)
1
| --cri-socket /var/run/cri-dockerd.sock
|
当工作节点加入一个新的主节点时
彻底卸载kubeadm、kubectl、kubelet,再重新安装
1 2 3 4 5 6 7 8 9 10 11
| sudo apt-get purge kubeadm kubectl kubelet kubernetes-cni kube* #删除软件包 sudo apt-get autoremove sudo yum remove -y kubeadm kubectl kubelet kubernetes-cni kube* sudo yum autoremove -y systemctl stop kubelet #停止服务清理配置 systemctl disable kubelet rm -rf /etc/systemd/system/kubelet.service rm -rf /etc/systemd/system/kube* sudo rm -rf ~/.kube #清理kubernetes配置 sudo rm -rf /etc/kubernetes/ sudo rm -rf /var/lib/kube*
|
重新安装
1 2 3 4 5 6
| apt-get update && apt-get install -y apt-transport-https curl -fsSL https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.29/deb/Release.key | gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.29/deb/ /" | tee /etc/apt/sources.list.d/kubernetes.list apt-get update apt-get install -y kubelet kubeadm kubectl apt-mark hold kubelet kubeadm kubectl # 锁定版本,apt upgrade时不会更新
|