首页/新闻资讯/正文详情

K8S安装

发布时间:2026/9/23 23:23:39 来源:云帆数科 栏目:资讯中心
K8S安装
1. 系统前置准备所有节点这部分是所有节点都需要执行的准备工作确保系统满足K8s的运行要求。设置主机名与hosts解析为每个节点设置一个唯一的主机名并配置/etc/hosts文件让节点之间能通过主机名互相访问-1。# 在Master节点执行 sudo hostnamectl set-hostname k8s-master # 在Worker节点执行 sudo hostnamectl set-hostname k8s-worker-1 # 在所有节点执行将下面的IP和主机名换成你的实际信息 cat EOF | sudo tee -a /etc/hosts 192.168.1.10 k8s-master 192.168.1.11 k8s-worker-1 EOF关闭SwapKubernetes要求必须禁用Swap分区-1-9。sudo swapoff -a sudo sed -i / swap / s/^\(.*\)$/#\1/g /etc/fstab配置内核模块与参数加载overlay和br_netfilter模块并设置网络转发参数-1-9。# 加载内核模块 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配置防火墙Rocky Linux默认启用firewalld需要开放K8s集群所需的端口-1。以下命令在Master节点执行sudo firewall-cmd --permanent --add-port6443/tcp sudo firewall-cmd --permanent --add-port2379-2380/tcp sudo firewall-cmd --permanent --add-port10250/tcp sudo firewall-cmd --permanent --add-port10251/tcp sudo firewall-cmd --permanent --add-port10252/tcp sudo firewall-cmd --reload在Worker节点执行sudo firewall-cmd --permanent --add-port10250/tcp sudo firewall-cmd --permanent --add-port30000-32767/tcp # NodePort端口范围 sudo firewall-cmd --reload2. 安装容器运行时所有节点Kubernetes需要一个容器运行时来运行Pod。这里我们使用官方推荐的containerd-1-9。# 安装 yum-utils 并添加 Docker CE 仓库containerd.io 在此仓库中 sudo dnf install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/rhel/docker-ce.repo # 安装 containerd.io sudo dnf install -y containerd.io # 生成默认配置并修改为使用 systemd cgroup 驱动避免启动失败 sudo mkdir -p /etc/containerd sudo containerd config default | sudo tee /etc/containerd/config.toml /dev/null sudo sed -i s/SystemdCgroup false/SystemdCgroup true/ /etc/containerd/config.toml # 启动 containerd 并设置开机自启 sudo systemctl enable --now containerd注意请勿安装docker-ce否则K8s可能会自动检测到Docker而非Containerd作为运行时从而引发配置冲突。只需要安装containerd.io即可。3. 添加 Kubernetes YUM 源并安装组件为简化安装过程建议配置国内镜像源以提高下载速度3:cat EOF kubernetes.repo [kubernetes] nameKubernetes baseurlhttps://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled1 gpgcheck0 repo_gpgcheck0 gpgkeyhttps://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF mv kubernetes.repo /etc/yum.repos.d/安装sudo dnf install -y kubelet-1.35.3 kubeadm-1.35.3 kubectl-1.35.3 --disableexcludeskubernetes设置 kubelet 开机自启此时会反复重启待集群初始化后会稳定sudo systemctl enable kubelet初始化 Master 节点仅在 Master 执行sudo kubeadm init \ --pod-network-cidr192.168.0.0/16 \ --apiserver-advertise-address192.168.174.129 \ --kubernetes-versionv1.35.0 \ --cri-socketunix:///var/run/containerd/containerd.sock \ --image-repositoryregistry.aliyuncs.com/google_containers初始化成功后配置 kubectl 访问权限mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config 保存好 init 命令输出的kubeadm join命令稍后你需要用它来添加Worker节点。如果忘记了可以在Master上使用kubeadm token create --print-join-command重新生成。如kubeadm join 192.168.174.129:6443 --token e7yk5i.k7yjm8os4mdpagrz \ --discovery-token-ca-cert-hash sha256:9a06c44eee40e549f7763668ef489b02f932d6d1779dc316444387331eb5910e终极解决方案直接跳过网络插件使用host-local和bridge插件无需外部镜像所有节点Kubernetes 自带的bridge插件不需要拉取任何外部镜像直接使用 kubelet 内置的 CNI 插件。步骤 1创建 CNI 配置文件# 创建 CNI 配置目录 sudo mkdir -p /etc/cni/net.d # 创建 bridge 网络配置无需拉取任何镜像 cat /etc/cni/net.d/10-bridge.conf EOF { cniVersion: 0.3.1, name: bridge, type: bridge, bridge: cni0, isGateway: true, ipMasq: true, ipam: { type: host-local, ranges: [ [{subnet: 192.168.0.0/16}] ], routes: [{dst: 0.0.0.0/0}] } } EOF # 创建 loopback 配置 cat /etc/cni/net.d/99-loopback.conf EOF { cniVersion: 0.3.1, type: loopback } EOF # 重启 kubelet systemctl restart kubelet步骤 2重启 kubelet 并检查节点状态# 重启 kubelet systemctl restart kubelet # 等待 10 秒 sleep 10 # 查看节点状态 kubectl get nodes # 查看 Pod 状态 kubectl get pods -n kube-system可见成功了[rootk8s-master ~]# kubectl get pods -n kube-system NAME READY STATUS RESTARTS AGE coredns-bbdc5fdf6-44w48 1/1 Running 0 89m coredns-bbdc5fdf6-f8zjj 1/1 Running 0 89m etcd-k8s-master 1/1 Running 1 89m kube-apiserver-k8s-master 1/1 Running 2 89m kube-controller-manager-k8s-master 1/1 Running 1 89m kube-proxy-jrxnv 1/1 Running 0 89m kube-scheduler-k8s-master 1/1 Running 1 89m [rootk8s-master ~]# kubectl get pods -n kube-system NAME READY STATUS RESTARTS AGE coredns-bbdc5fdf6-44w48 1/1 Running 0 90m coredns-bbdc5fdf6-f8zjj 1/1 Running 0 90m etcd-k8s-master 1/1 Running 1 90m kube-apiserver-k8s-master 1/1 Running 2 90m kube-controller-manager-k8s-master 1/1 Running 1 90m kube-proxy-jrxnv 1/1 Running 0 90m kube-scheduler-k8s-master 1/1 Running 1 90m [rootk8s-master ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION k8s-master Ready control-plane 97m v1.35.3 [rootk8s-master ~]#6. 加入 Worker 节点仅在 Worker 执行在Worker节点上使用第4步保存的kubeadm join命令加入集群。kubeadm join 192.168.174.129:6443 --token e7yk5i.k7yjm8os4mdpagrz \ --discovery-token-ca-cert-hash sha256:9a06c44eee40e549f7763668ef489b02f932d6d1779dc316444387331eb5910e✅ 验证集群在Master节点执行kubectl get nodes如果所有节点状态都是Ready就说明集群安装成功了。

相关推荐

OpenCkoudOS实操记录心得
OpenCkoudOS实操记录心得

# 腾讯云 CVM 部署 CubeSandbox:实测快照、克隆、回滚三大核心能力## 前言如果只是看产品介绍,很多人对 CubeSandbox 的感受会停留在“这是一个沙箱平台”。真正上手之后,更容易感受到它的价值,其实是在一套可控环境里&#xff0c… · 2026/9/23 23:21:04

Vue3 + Supabase + AI SQL 做一个可二开的企业后台:车辆管理、TMS 运输系统都内置了
Vue3 + Supabase + AI SQL 做一个可二开的企业后台:车辆管理、TMS 运输系统都内置了

大家好,我最近在持续完善一个开源项目:Art Supabase Pro。 它最开始是一个基于 Vue 3、TypeScript、Element Plus 和 Supabase 的现代化后台管理模板,目标是让开发者可以更快搭建企业级管理系统:不用从登录、权限、菜单、表格、表… · 2026/9/23 23:20:44

java老项目中添加链路追踪功能问题记录
java老项目中添加链路追踪功能问题记录

近期在做甲方的项目,里面用的技术体系很老,非 spring boot项目,是 jdk 8 spring spring mvc tomcat jsp 的方式,在这里记录一下完整的处理过程。之前做的项目使用的是 spring cloud sleuth,这边不让加一些其他依赖… · 2026/9/20 13:47:04

遗传算法优化BP神经网络股票预测MATLAB源码实战
遗传算法优化BP神经网络股票预测MATLAB源码实战

简介:这份MATLAB源码资源面向具备一定机器学习基础、希望用遗传算法改进神经网络做股票价格预测的学习者与研究者。包内围绕BP神经网络与遗传算法的结合展开,涵盖基础网络构建、遗传算法编码解码、适应度评估、模型对比以及PCA数据降维等环节&#xff0c… · 2026/9/23 23:23:33

CXF安装与使用实战:企业级SOAP服务集成指南
CXF安装与使用实战:企业级SOAP服务集成指南

1. 这不是“又一个框架教程”,而是你真正用得上的 CXF 实战手记 WebService 这个词,听起来像十年前的老古董——SOAP、WSDL、XML Schema、Axis2……一串串术语让人本能地想划走。但现实是:银行核心系统还在用 SOAP 做跨行清算,政… · 2026/9/23 23:23:33

Java五子棋对战系统设计与实现:从棋盘模型到Socket联机
Java五子棋对战系统设计与实现:从棋盘模型到Socket联机

简介:这是一份基于Java实现的五子棋对战系统课程设计源码,适合Java初学者、高校学生及需要完成课设的开发者参考,用于理解交互式游戏从需求分析到编码实现的全过程。包体共290个文件,压缩后约18.26MB,其中17个Java源文… · 2026/9/23 23:23:33

写论文软件哪个好?别急着找“神器”,先搞清楚aigcbiye和书匠策AI到底在解决什么问题
写论文软件哪个好?别急着找“神器”,先搞清楚aigcbiye和书匠策AI到底在解决什么问题

官网:www.shujiangce.com | 微信 公众号 :书匠策AI 各位同学好,我是那个教你们写论文的博主。 每次开直播,弹幕里飘得最多的一个问题就是:“博主,写论文软件哪个好?” 这个问题我一开始还… · 2026/9/23 23:23:33

Nginx UI 的 MCP 模块:为 AI Agent 提供 Nginx 配置管理与服务控制接口
Nginx UI 的 MCP 模块:为 AI Agent 提供 Nginx 配置管理与服务控制接口

Nginx UI 的 MCP 模块:为 AI Agent 提供 Nginx 配置管理与服务控制接口 【免费下载链接】nginx-ui Yet another WebUI for Nginx 项目地址: https://gitcode.com/gh_mirrors/ngi/nginx-ui MCP(Model Context Protocol,模型上下文协议&… · 2026/9/23 23:23:26

AO Cloud API 客户端 `@aoagents/cloud-client` 实战指南:运行时中立的 fetch 客户端与 Worker 生命周期契约
AO Cloud API 客户端 `@aoagents/cloud-client` 实战指南:运行时中立的 fetch 客户端与 Worker 生命周期契约

【免费下载链接】agent-orchestrator Run and supervise teams of coding agents from planning to merge. Any harness (Claude code, codex, 25 more). Desktop, web, mobile, and cloud agents. 项目地址: https://gitcode.com/gh_mirrors/ag/agent-orchestrator… · 2026/9/23 23:23:26

3招搞定手机怎么下载微信面试难题实战项目解析
3招搞定手机怎么下载微信面试难题实战项目解析

3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03

你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型

你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29

Win7无线热点配置工具源码解析:解决API失效的3个实战技巧
Win7无线热点配置工具源码解析:解决API失效的3个实战技巧

Win7无线热点配置工具源码解析:解决API失效的3个实战技巧 Win7无线热点配置工具在Win10/11上跑不动?不是你的问题,是版本升级后 API 全变了。很多老项目里的 netsh wlan… · 2026/9/23 0:00:36

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码