三节点部署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

现在就需要漫长的等待了

好了之后就是这样

集群现在已经搭建完成!

可以正常运行了!

相关推荐
Henry-SAP7 小时前
SAP引领ERP智能化转型
人工智能·云原生·sap·erp
BTU_YC10 小时前
Docker Compose 部署 DozerDB 完整教程
运维·docker·容器
流烟默11 小时前
Kubernetes 调度器完全指南:从原理到生产实战
云原生·容器·kubernetes
styshoo11 小时前
[NVSentinel] gpu-health-monitor模块调研
人工智能·云原生·nvsentinel
流烟默14 小时前
Kubernetes Service 完全指南:从原理到生产实战
云原生·容器·kubernetes
airobotcn14 小时前
智能巡检平台容器化部署:Docker+K8s在工业边缘的实践
人工智能·docker·容器·kubernetes·机器人·自动化
重庆小透明16 小时前
深入探寻微服务【第四篇微服务监控实战】
微服务·云原生·架构
流烟默18 小时前
Kubernetes 探针完全指南:健康检查机制深度解析
云原生·容器·kubernetes
Kurisu_红莉栖18 小时前
关于docker的使用心得
运维·docker·容器
GGG76620 小时前
k8s-Pod Scheduler
云原生·容器·kubernetes