简介:TG@luotuoemo
本文由阿里云代理商【聚搜云】撰写
一、准备工作(所有节点)
-
关闭防火墙:
bash复制
systemctl stop firewalld systemctl disable firewalld -
关闭 SELinux:
bash复制
sed -i 's/enforcing/disabled/' /etc/selinux/config reboot setenforce 0 -
关闭 Swap 分区:
bash复制
sed -ri 's/.*swap.*/#&/' /etc/fstab reboot swapoff -a -
设置主机名:
bash复制
hostnamectl set-hostname node1 -
配置网络设置:
bash复制
cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 vm.swappiness = 0 EOF modprobe br_netfilter sysctl --system -
安装 IPVS(可选) :
bash复制
apt update apt install ipset ipvsadm
二、安装必要组件
-
安装 Docker:
bash复制
apt-get remove docker docker-engine docker.io containerd runc apt-get update apt-get install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" apt-get update apt-get install -y docker-ce docker-ce-cli containerd.io -
安装 kubeadm、kubelet 和 kubectl:
bash复制
apt-get update && apt-get install -y apt-transport-https curl curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | tee -a /etc/apt/sources.list.d/kubernetes.list apt-get update apt-get install -y kubelet kubeadm kubectl apt-mark hold kubelet kubeadm kubectl
三、部署 Kubernetes Master 节点
-
初始化 Kubernetes Master:
bash复制
kubeadm init --pod-network-cidr=10.244.0.0/16注意:
--pod-network-cidr参数用于指定 Pod 网络的 IP 地址段。 -
设置 kubectl 配置:
bash复制
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config -
安装 Pod 网络插件:
bash复制
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
四、加入其他节点
-
在其他节点上运行
kubeadm join命令:bash复制
kubeadm join [Master-IP]:6443 --token [token] --discovery-token-ca-cert-hash sha256:[hash]注意:
token和hash是kubeadm init命令在 Master 节点上执行完成后输出的。 -
验证节点状态:
bash复制
kubectl get nodes
五、后续步骤
- 部署应用: 使用
kubectl部署应用并管理 Kubernetes 集群。 - 监控与日志: 可以结合 Prometheus 和 Grafana 实现集群的监控和日志管理。