在 Debian 上使用 kubeadm 安装 Kubernetes 单主集群
一 前置准备
sudo swapoff -a,并在 /etc/fstab 中注释 swap 行。二 所有节点安装与系统配置
sudo apt-get update && sudo apt-get upgrade -ysudo apt-get install -y apt-transport-https ca-certificates curlsudo apt-get install -y containerdsudo mkdir -p /etc/containerd && containerd config default | sudo tee /etc/containerd/config.tomlsudo systemctl enable --now containerdsudo apt-get install -y docker.iosudo systemctl enable --now dockerecho -e "overlay\nbr_netfilter" | sudo tee /etc/modules-load.d/k8s.confsudo modprobe overlay && sudo modprobe br_netfilterecho -e "net.bridge.bridge-nf-call-iptables = 1\nnet.ipv4.ip_forward = 1" | sudo tee /etc/sysctl.d/99-kubernetes.confsudo sysctl --systemcurl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor | sudo tee /usr/share/keyrings/kubernetes-archive-keyring.gpg >/dev/nullecho "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.listsudo apt-get update && sudo apt-get install -y kubelet kubeadm kubectlsudo apt-mark hold kubelet kubeadm kubectlsudo systemctl enable --now kubelet三 初始化 Master 节点
sudo kubeadm init --pod-network-cidr=10.244.0.0/16sudo kubeadm init --pod-network-cidr=192.168.0.0/16mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/configkubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlkubectl apply -f https://docs.projectcalico.org/manifests/calico.yamlkubectl get nodes 应看到 Master 状态为 Ready。四 加入 Worker 节点
kubeadm token create --print-join-commandkubeadm join ... 命令,完成后回到 Master:
kubectl get nodes 应看到 Worker 加入并变为 Ready。五 常见问题与常用命令
sudo kubeadm resetsudo rm -rf /etc/cni/net.dsudo iptables -F && sudo iptables -t nat -F && sudo iptables -t mangle -F && sudo iptables -X--image-repository 参数。kubectl cluster-info、kubectl get nodes、kubectl get pods --all-namespaces