当前位置: 首页 > news >正文

k8s安装

1、环境准备

主机名 ip地址 操作系统
master 192.168.1.110 ubuntu-22.04.5-live-server-amd64.iso
node1 192.168.1.111 ubuntu-22.04.5-live-server-amd64.iso
node2 192.168.1.112 ubuntu-22.04.5-live-server-amd64.iso
2、安装前系统准备
以下操作建议在所有节点上执行。

2.1 更新系统与安装基础工具

#官网上的操作是
# apt-transport-https 可能是一个虚拟包(dummy package);如果是的话,你可以跳过安装这个包
#sudo apt-get install -y apt-transport-https ca-certificates curl gpg
sudo apt update && sudo apt upgrade -ysudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release  2.2 禁用Swap交Kubernetes要求禁用Swap。sudo swapoff -a
# 永久禁用,需注释掉/etc/fstab中swap相关行
sudo sed -i '/swap/s/^/#/' /etc/fstab
2.3 加载内核模块并配置网络参数
启用必要的内核模块并调整网络参数,确保容器网络通信正常。

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

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
3、安装与配置容器运行时(Containerd)
Containerd是Kubernetes推荐的容器运行时。

安装Containerd
通过Docker仓库安装稳定版本的Containerd。

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
sudo apt install -y containerd.io
配置Containerd
生成默认配置,并修改关键参数以适配Kubernetes及国内环境。

sudo containerd config default | sudo tee /etc/containerd/config.toml
# 启用systemd cgroup驱动
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
# 将sandbox镜像替换为阿里云镜像,加速拉取
sudo sed -i 's#registry.k8s.io/pause:[0-9.]*#registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9#' /etc/containerd/config.toml
# 重启服务使配置生效
sudo systemctl daemon-reload
sudo systemctl restart containerd
sudo systemctl enable containerd
4、安装Kubernetes组件
使用国内镜像源安装kubeadm、kubelet和kubectl。

添加Kubernetes阿里云APT源

curl -fsSL https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.34/deb/Release.key | sudo 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/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list
安装组件并锁定版本

sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
5、初始化控制平面(Master节点)
仅在计划作为控制平面的节点上执行。

初始化集群
使用kubeadm init命令,并指定国内镜像仓库和Pod网络段。Pod网络段需与后续安装的网络插件匹配。

sudo kubeadm init \
--image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers \
--pod-network-cidr=10.244.0.0/16
注意:请记录命令输出末尾的kubeadm join命令及令牌,用于将工作节点加入集群。

配置kubectl
使当前用户能够使用kubectl管理集群。

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
6、安装Pod网络插件
集群必须安装一个Pod网络插件才能正常工作。以Flannel为例(其YAML中指定的网络段需与初始化时--pod-network-cidr一致)。
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.28.0/manifests/calico.yaml

7、验证集群状态
查看节点状态
等待片刻,所有节点状态应变为Ready。

kubectl get nodes
查看系统Pod状态
检查kube-system命名空间下的核心组件Pod是否全部运行正常。

kubectl get pods -n kube-system
8、后续步骤
(单节点学习环境)允许Master节点调度Pod:默认情况下,Master节点不运行工作负载。若需在单节点集群上部署应用,可移除其污点。
kubectl taint nodes --all node-role.kubernetes.io/control-plane-
http://www.jsqmd.com/news/577702/

相关文章:

  • 成都异地求职:找工作推荐机构/找工作的平台哪家好/效率高找工作/求职岗位质量高/求职机构/省心找工作/陪伴求职/选择指南 - 优质品牌商家
  • P3C规则动态调整:构建风险驱动的代码质量控制体系
  • 2026届毕业生推荐的AI科研平台横评
  • Markdown解析新标杆:Marked.js高效渲染与实战指南
  • C语言完美演绎6-17
  • 《Linux网络编程》2.Socket编程(UDP/TCP)
  • Z-Image-Turbo开源可部署价值:私有化部署保障设计资产数据不出域
  • 银行行业自动化平台选型,合规与运营双提升指南:2026全景技术选型与合规架构深度解析
  • Windows系统跨平台工具:APK-Installer无缝安装Android应用完全指南
  • 别再为数据格式头疼了!一份Python脚本搞定Crypto、Web3和数据分析中的常见编码转换
  • WarcraftHelper技术指南:三步解决魔兽争霸III现代系统兼容难题
  • 终极EdgeRemover指南:专业卸载Windows Edge浏览器的完整解决方案
  • DeepFaceLive实时面部交换技术完全教程
  • 告别重复造轮子:用快马AI一键生成Nodejs高效开发脚手架与工具
  • 如何解锁B站缓存视频?m4s-converter让你的离线视频重获新生
  • 老设备升级福音:手把手教你用mSATA转接板复活旧笔记本硬盘(附避坑指南)
  • 保姆级教程:在RK3588开发板上用8路AHD摄像头搭建全景拼接监控系统(附Web界面源码)
  • 系统级音频均衡器如何提升macOS音质:开源eqMac完全指南
  • Minecraft启动器与游戏配置工具全攻略:从新手到大师的进阶指南
  • Qwen3-VL-4B Pro效果展示:多轮追问下保持视觉一致性与语义连贯性
  • 2026年宠物医院代运营推荐,携手共创辉煌,宠物诊所运营托管/宠物医生美团推广,宠物医院代运营机构推荐 - 品牌推荐师
  • 【EasyExcel高效转换Excel为List<List<String>>】实战解析与优化技巧
  • 实战演练:在快马平台利用jdk17新特性构建一个电商订单处理demo
  • 2025届最火的六大AI学术助手解析与推荐
  • QMCDecode:破解QQ音乐加密格式的跨平台解决方案
  • DLSS Swapper:游戏性能优化的智能管家,轻松管理DLSS、FSR和XeSS版本
  • DxWrapper:让经典游戏重获新生的DirectX兼容性解决方案
  • 2026年 净化工程厂家推荐排行榜:净化系统、净化设备、净化车间、洁净室、无尘净化、空气净化、洁净棚、净化解决方案、实验室净化,专业实力与洁净技术深度解析 - 品牌企业推荐师(官方)
  • 集团型企业智能自动化解决方案选型核心要点:2026架构深度与业务闭环实测指南
  • JavaScript基础课程二、学习JavaScript路线图