1.更新系统源
apt update
2.更新系统版本
apt upgrade
3.设置主机名
hostnamectl set-hostname master.k3s.lab
hostnamectl set-hostname node01.k3s.lab
hostnamectl set-hostname node02.k3s.lab
4.关闭swap
swapoff -a
sed -i 's/.*swap.*/#&/g' /etc/fstab
// 解决执行上述命令后依旧挂载swap的情况
systemctl list-unit-files | grep swap
systemctl mask dev-sda2.swap
5.设置hosts
cat <<EOF >> /etc/hosts
10.22.4.21 master master.k3s.lab
10.22.4.22 worker01 worker01.k3s.lab
10.22.4.23 worker02 worker02.k3s.lab
10.22.4.24 worker02 worker02.k3s.lab
EOF
6.关闭防火墙
ufw disable
7.k3s server配置docker hub加速源
mkdir -p /etc/rancher/k3s/
cat > /etc/rancher/k3s/registries.yaml << EOF
mirrors:
docker.io:
endpoint:
- "https://docker.m.daocloud.io"
- "https://dh-mirror.gitverse.ru"
- "https://dockerhub1.beget.com"
- "https://noohub.ru"
gcr.io:
endpoint:
- "https://gcr.m.daocloud.io"
quay.io:
endpoint:
- "https://quay.m.daocloud.io"
registry.k8s.io:
endpoint:
- "https://k8s.m.daocloud.io"
EOF
8.开始安装k3s server
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn K3S_KUBECONFIG_MODE="644" INSTALL_K3S_VERSION=v1.29.13+k3s1 INSTALL_K3S_EXEC="server --flannel-backend=none --cluster-cidr=10.41.0.0/16 --service-cidr=10.42.0.0/16 --disable-network-policy --disable=traefik" sh -
K3S_KUBECONFIG_MODE="644"
INSTALL_K3S_VERSION=v1.29.13+k3s1
NSTALL_K3S_EXEC="server --flannel-backend=none --cluster-cidr=10.41.0.0/16 --service-cidr=10.42.0.0/16 --disable-network-policy --disable=traefik"
9.k3s server部署calico插件
$ mkdir -p ~/calico/v3.26.4
$ wget https://raw.githubusercontent.com/projectcalico/calico/v3.26.4/manifests/tigera-operator.yaml -O ~/calico/v3.26.4/tigera-operator.yaml
$ wget https://raw.githubusercontent.com/projectcalico/calico/v3.26.4/manifests/custom-resources.yaml -O ~/calico/v3.26.4/custom-resources.yaml
$ sed -i -e 's#blockSize: 26#blockSize: 24#g' ~/calico/v3.26.4/custom-resources.yaml -e 's#cidr: 10.41.0.0/16#cidr: 192.168.0.0/16#g' ~/calico/v3.26.4/custom-resources.yaml
$ kubectl create -f tigera-operator.yaml
$ kubectl create -f custom-resources.yaml
10.在master server获取node token
$ cat /var/lib/rancher/k3s/server/node-token
11.在agent节点上配置docker hub 加速源
mkdir -p /etc/rancher/k3s/
cat > /etc/rancher/k3s/registries.yaml << EOF
mirrors:
docker.io:
endpoint:
- "https://docker.m.daocloud.io"
- "https://dh-mirror.gitverse.ru"
- "https://dockerhub1.beget.com"
- "https://noohub.ru"
gcr.io:
endpoint:
- "https://gcr.m.daocloud.io"
quay.io:
endpoint:
- "https://quay.m.daocloud.io"
registry.k8s.io:
endpoint:
- "https://k8s.m.daocloud.io"
EOF
12.agent节点加入server节点
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn INSTALL_K3S_VERSION=v1.29.13+k3s1 K3S_TOKEN=K10230b4a9e87311ae7873e041da6592ab62b38644a77c4fe35ada5b43c0e680bbf::server:c3c27915bda49781e2839444c3b396da K3S_URL=https://10.22.4.21:6443 sh -
13.在server节点查看集群状态
$ kubectl get nodes
14.给agent节点打标签
$ kubectl label node node01.k3s.lab kubernetes.io/role=agent
$ kubectl label node node02.k3s.lab kubernetes.io/role=agent
$ kubectl label node node03.k3s.lab kubernetes.io/role=agent
15.server节点和agent节点安装calicoctl插件
curl -L https://github.com/projectcalico/calico/releases/download/v3.26.4/calicoctl-linux-amd64 -o /usr/local/bin/calicoctl && chmod +x /usr/local/bin/calicoctl
curl -L https://download.fgit.cf/projectcalico/calico/releases/download/v3.26.4/calicoctl-linux-amd64 -o /usr/local/bin/calicoctl && chmod +x /usr/local/bin/calicoctl
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?