三节点部署K8S(超级简单+详细步骤)

  • Master: k8s-master(IP: 10.0.0.20)
  • Worker1: k8s-worker1(IP: 10.0.0.21)
  • Worker2: k8s-worker2(IP: 10.0.0.23)【确保三台机器互相可通】

在所有节点上准备系统

修改名称并更新/etc/hosts

禁用 Swap

systemctl disable --now swap.img.swap;systemctl mask swap.target

时间同步

apt -y install chrony

chronyc sources -v

加载内核模块:

  • 解释:启用 overlay 和 br_netfilter 模块,支持容器网络。

    sudo modprobe overlay
    sudo modprobe br_netfilter

  • 永久配置:

    cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
    overlay
    br_netfilter
    EOF

配置网络参数:

  • 解释:启用 IP 转发和桥接过滤,支持 Pod 网络。

    cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
    net.bridge.bridge-nf-call-iptables = 1
    net.bridge.bridge-nf-call-ip6tables = 1
    net.ipv4.ip_forward = 1
    EOF

应用但不重启

sysctl --system

所有主机安装 Containerd

up date

apt -y install containerd

检查一下

修改containerd配置基于toml

复制代码
mkdir /etc/containerd/
containerd config default > /etc/containerd/config.toml
grep sandbox_image  /etc/containerd/config.toml
#新版k8s-v1.34.1
sed -i 
"s#registry.k8s.io/pause:3.8#registry.aliyuncs.com/google_containers/pause:3.10.1#g"  /etc/containerd/config.toml

进入改其为 SystemdCgroup=true

然后增加一部分

复制代码
[plugins."io.containerd.grpc.v1.cri".registry.mirrors](在此行下增加以下两行)
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
  endpoint = ["https://docker.m.daocloud.io","https://docker.1panel.live"]

重启

所有主机安装 kubeadm、kubelet 和 kubectl

第一步

复制代码
curl -fsSL https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.34/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.34/deb/ /" |
    tee /etc/apt/sources.list.d/kubernetes.list
deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.34/deb/ /

更新:apt-get update

安装

复制代码
K8S_RELEASE_VERSION=1.34.1

apt install -y  kubeadm=${K8S_RELEASE_VERSION}-1.1 kubelet=${K8S_RELEASE_VERSION}-1.1 kubectl=${K8S_RELEASE_VERSION}-1.1

进行初始化

复制代码
K8S_RELEASE_VERSION=1.34.1


kubeadm init \
--kubernetes-version=v${K8S_RELEASE_VERSION} \
--pod-network-cidr=10.244.0.0/16 \
--service-cidr=10.96.0.0/12 \
--token-ttl=0 \
--image-repository registry.aliyuncs.com/google_containers

然后就得到

在第一个 master 节点生成 kubectl 命令的授权文件

#mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

在从节点上输最后两行

集群就会上线(默认没有网络插件,所以显示如下状态)

下载插件

wget https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml

(不行的话在github后加一个fast)

wget https://githubfast.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml

然后应用

kubectl apply -f kube-flannel.yml

现在就需要漫长的等待了

好了之后就是这样

集群现在已经搭建完成!

可以正常运行了!

相关推荐
脸先着地天使1 小时前
KK+KubeSphere实战:从零搭建生产级K8s集群的5个关键配置陷阱
kubernetes·kubesphere·集群部署·生产环境
羑悻的小杀马特1 小时前
从虚拟化基石到云原生架构的降维打击:用dd/mkfs玩转namespace隔离,解锁Docker/K8S资源密码,看透物理机到云服务器的进化之路
docker·云原生·架构·namespace
小小工匠2 小时前
极客防御美学:在微服务架构中落地 PoW 工作量证明与防重放机制
微服务·云原生·架构·pow
小义_3 小时前
【Kubernetes】(二)k8s基础
linux·云原生·k8s
糟糕喔4 小时前
k8s集群部署(Ubuntu22.04)
云原生·容器·kubernetes
山北雨夜漫步4 小时前
Docker
运维·docker·容器
悠闲蜗牛�4 小时前
2026年边缘云原生实战:Kubernetes向边缘计算的全面演进
云原生·kubernetes·边缘计算
Elastic 中国社区官方博客4 小时前
推出 Elastic Serverless Plus 附加组件,支持 AWS PrivateLink 功能
大数据·elasticsearch·搜索引擎·云原生·serverless·全文检索·aws
切糕师学AI4 小时前
Kubernetes ReplicaSet 详解
云原生·容器·kubernetes