恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

K8S集群安装部署

  • 首页
  • 资讯中心
  • /
  • K8S集群安装部署

相关资讯

pep8speaks是什么?GitHub免费Python代码风格审查机器人完整入门指南 2026/8/26 15:32:13
一文讲清利润指标:毛利润、边际贡献、EBIT、EBITDA,管理层到底该怎么看? 2026/8/26 15:27:12
为什么你的.NET软件需要授权保护?Portable.Licensing跨平台软件授权框架完全解析 2026/8/26 15:27:12

最新资讯

前端现在只会玩框架,原生JS全忘光了,行业集体退化到令人发指
JSON Web Token (JWT)入门教程
Linux Devfreq 深度解析:GPU/DDR/ISP外设动态调频、架构原理、与CPUFreq区别、实操调优
web前端开发前景分析
离线安装Nginx
全球首场人机网球赛开战,机器人极限救球,让郑洁看呆了

今日推荐

Python random 模块常用函数详解:从入门到实战
Hermes接入团队协作后,我推翻了三个效率假设
免费AI大模型调教指南:打造专属网文写作助手

本周热门

Nextcloud 桌面客户端:把同步交给它,你只管改文件
如何将 HTML 转成 Word 文档且格式不丢失?html-to-docx 使用教程
Anki 批量操作卡片完整指南:一次搞定上千张,不再逐张修改

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

K8S集群安装部署

发布时间:2026/8/26 15:32:13
K8S集群安装部署 本次安装使用kubeadmcontainerd运行时方式进行安装三台master,三台node,两台主机安装haproxy所有系统均为ubuntu24.04主机规划IP地址hostname安装组件192.168.10.31k8s-master-01kube-apiserver/kube-controller-manager/kube-scheduler/etcd192.168.10.32k8s-master-02kube-apiserver/kube-controller-manager/kube-scheduler/etcd192.168.10.33k8s-master-03kube-apiserver/kube-controller-manager/kube-scheduler/etcd192.168.10.34k8s-node-01kubelet/kube-proxy192.168.10.35k8s-node-02kubelet/kube-proxy192.168.10.36k8s-node-03kubelet/kube-proxy192.168.10.21haproxy-01haproxy/keepalive192.168.10.22haproxy-02haproxy/keepalive192.168.10.20k8s-vipvip地址主机系统初使化设置主机名及配置hosts在所有k8s-master与k8s-node节点执行。vim /etc/hosts 192.168.10.31 k8s-master-01 192.168.10.32 k8s-master-02 192.168.10.33 k8s-master-03 192.168.10.34 k8s-node-01 192.168.10.35 k8s-node-02 192.168.10.36 k8s-node-03 192.168.10.30 k8s-vip关闭swap在所有k8s-master与k8s-node节点执行。swapoff -a sed -i /\sswap\s/s/^/#/ /etc/fstab加载内核模块与网络参数cat EOF | sudo tee /etc/modules-load.d/k8s.conf overlay br_netfilter EOF sudo modprobe overlay sudo modprobe br_netfilter # 设置桥接流量走 iptables 开启转发 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 sudo sysctl --system # 验证三项(缺 sysctl --system 或跳过本节,init 会报 ip_forward ! 1) lsmod | grep br_netfilter # 有输出 sysctl net.ipv4.ip_forward # 1 sysctl net.bridge.bridge-nf-call-iptables # 1配置时间同步apt update -y apt install chrony -y systemctl enable --now chrony timedatectl set-timezone Asia/Shanghai安装containerd运行时apt install containerd -y 生成默认配置 mkdir -p /etc/containerd containerd config default | tee /etc/containerd/config.toml /dev/null 关键点 开启SystemdCgroup 配置完毕重启containerd服务 systemctl restart containerd systemctl enable containerd说明因为可以上外网配置加速这里暂不进行。可选安装crictl,crictl是排障工具不参与集群部署。安装kubeadm/kubelet/kubectl v1.35,所有节点都进行安装添加官方v1.35软件源并安装sudo apt-get install -y apt-transport-https ca-certificates curl gpg # 下载 v1.35 仓库的 GPG 公钥 curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.35/deb/Release.key \ | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg # 添加 apt 源(注意 URL 里的 v1.35) echo deb [signed-by/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.35/deb/ / \ | sudo tee /etc/apt/sources.list.d/kubernetes.list 安装 apt update -y apt install kubelet kubeadm kubectl 锁住版本防止apt upgrade 时被升级要升级时由kubeadm管理 apt-mark hold kubelet kubeadm kubectl 安装完毕查看一下版本 rootk8s-master-01:~# kubectl version --client Client Version: v1.35.8 Kustomize Version: v5.7.1 rootk8s-master-01:~# kubeadm version kubeadm version: version.Info{Major:1, Minor:35, EmulationMajor:, EmulationMinor:, MinCompatibilityMajor:, MinCompatibilityMinor:, GitVersion:v1.35.8, GitCommit:1c2e10a409eb1b03f2f28f401ce935312e20d9fb, GitTreeState:clean, BuildDate:2026-08-20T15:18:24Z, GoVersion:go1.26.5, Compiler:gc, Platform:linux/amd64} rootk8s-master-01:~#至此所有maste和node节点的准备工作已经就绪下面开始分角色安装。安装haproxykeepalived在两台ha主机上执行 cat /etc/sysctl.conf EOF net.ipv4.ip_nonlocal_bind 1 EOF sysctl -p apt update apt install haproxy -y 修改haproxy配置文件 listen stats mode http bind 0.0.0.0:8888 stats enable log global stats uri /status stats auth admin:work123 listen kubernetes-api-6443 bind 192.168.10.30:6443 mode tcp server master1 192.168.10.31:6443 check inter 3s fall 3 rise 3 #server master2 192.168.10.32:6443 check inter 3s fall 3 rise 3 #server master3 192.168.10.33:6443 check inter 3s fall 3 rise 3 systemctl start haproxy systemctl enable haproxy apt install keepalived -y vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { router_id kaikai1 } vrrp_script check_haproxy { script /etc/keepalived/check_haproxy.sh interval 1 weight -30 fall 3 rise 2 timeout 2 } vrrp_instance VI_1 { state MASTER interface ens33 garp_master_delay 10 smtp_alert virtual_router_id 66 priority 100 advert_int 1 authentication { auth_type PASS auth_pass work123 } virtual_ipaddress { 192.168.10.30/24 dev ens33 label ens33:1 } track_script { check_haproxy } } ! Configuration File for keepalived global_defs { router_id kaikai2 } vrrp_script check_haproxy { script /etc/keepalived/check_haproxy.sh interval 1 weight -30 fall 3 rise 2 timeout 2 } vrrp_instance VI_1 { state BACKUP interface ens33 garp_master_delay 10 smtp_alert virtual_router_id 66 priority 80 advert_int 1 authentication { auth_type PASS auth_pass work123 } virtual_ipaddress { 192.168.10.30/24 dev ens33 label ens33:1 } track_script { check_haproxy } } systemctl restart keepalived systemctl enable keepalived初使化master在第一个节点上执行K8S_RELEASE_VERSION1.35.6 kubeadm init --kubernetes-versionv${K8S_RELEASE_VERSION} --control-plane-endpointk8s-vip.local --pod-network-cidr10.244.0.0/16 --service-cidr10.96.0.0/12 --token-ttl0 --upload-certs [init] Using Kubernetes version: v1.35.6 [preflight] Running pre-flight checks [preflight] Pulling images required for setting up a Kubernetes cluster [preflight] This might take a minute or two, depending on the speed of your internet connection [preflight] You can also perform this action beforehand using 执行成功输出加入集群的master和node所需的key执行上面的命令将另外两台master和三台node加入集群。并在三台master上执行以下命令mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/configmaster都已经加入集群从haproxy上可以看到状态现在所有节点已经都加入集群网络因为学没有安装插件还不正常。安装网络CNI插件Calico# 用 Tigera Operator 方式安装(Calico 官方推荐) # 版本号请到 Calico releases 核对最新稳定版,这里以 v3.29.x 为例 kubectl create -f https://raw.githubusercontent.com/projectcalico/calico/v3.29.1/manifests/tigera-operator.yaml # 下载自定义资源配置 curl -O https://raw.githubusercontent.com/projectcalico/calico/v3.29.1/manifests/custom-resources.yaml # 编辑 custom-resources.yaml,把 cidr 改成 10.244.0.0/16 sed -i s#192.168.0.0/16#10.244.0.0/16# custom-resources.yaml # 应用 kubectl create -f custom-resources.yaml这个时候可以看到正在下载加载镜像这时已拉取完毕现在再执行kubectl get nodes 可以看到STATUS状诚应景Ready集群安装完毕验证现在执行几条命令查看一下集群是否正常。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号