脱机部署k3s

离线部署 K3s 文档

1. 准备工作

  • 操作系统准备:确保服务器已安装好基础操作系统(Ubuntu、CentOS 等)。
  • 关闭防火墙或放通端口:建议关闭防火墙或确保 6443、10250 等端口已开放。
  • 准备离线资源文件:

下载地址

  • k3s-airgap-images-arm64.tar(K3s 离线镜像包)

  • k3s-arm64(K3s 二进制文件)

  • nginx.tar(需要导入的镜像文件,示例中为 nginx)

  • 确认网络信息:

    • 当前节点 IP(示例中为 10.37.129.7)
    • 默认网关 IP(示例中为 10.37.129.1)

2. 配置网络路由(针对虚拟机 Host-Only 的情况)

sudo ip route add default via 10.37.129.1

3. 准备 K3s 离线镜像目录

sudo mkdir -p /var/lib/rancher/k3s/agent/images/
sudo cp ./k3s-airgap-images-arm64.tar /var/lib/rancher/k3s/agent/images/

4. 安装 K3s 二进制文件

sudo cp k3s-arm64 /usr/local/bin/k3s
sudo chmod +x /usr/local/bin/k3s

5. 运行 K3s 安装脚本

INSTALL_K3S_EXEC="--flannel-backend=host-gw \--cluster-cidr=172.20.0.0/16 \--service-cidr=172.21.0.0/16 \--node-ip=10.37.129.7" \INSTALL_K3S_SKIP_DOWNLOAD=true ./install.sh

脚本下载地址

6. 导入额外镜像到 containerd

sudo ctr -n k8s.io images import nginx.tar

创建 nginx.yaml

apiVersion: apps/v1
kind: Deployment
metadata:name: nginxlabels:app: nginx
spec:replicas: 1selector:matchLabels:app: nginxtemplate:metadata:labels:app: nginxspec:containers:- name: nginximage: nginx:latestimagePullPolicy: IfNotPresentports:- containerPort: 80volumeMounts:- name: mydiskmountPath: /usr/share/nginx/htmlvolumes:- name: mydiskhostPath:path: /data/nginx-htmltype: DirectoryOrCreate---
apiVersion: v1
kind: Service
metadata:name: nginx
spec:selector:app: nginxtype: NodePortports:- port: 80targetPort: 80nodePort: 30080

运行服务

kubectl apply -f nginx.yaml

7. 验证服务状态与集群健康

systemctl status k3s## 查看Pods
kubectl get pods -A## 查看事件
kubectl events --for pod/coredns-645bdb8675-4wxvd -n kube-system

附加说明

  • 本文档基于 ARM64 架构,如需其他架构,请替换对应二进制文件和镜像包。
  • 离线镜像包和二进制文件需提前准备。
  • 网络参数根据实际环境调整。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/917990.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/917990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[失败记录] 使用HBuilderX创建的uniapp vue3项目添加tailwindcss3的完整过程

写在前面 放弃了。。。 1)方案1 - 参考下面的“完整步骤” - 安装成功,运行成功,但是!好多class不生效! 2)方案2 - 不安装tailwindcss,直接使用独立的编译好的完整css文件! …

使用Idea去git项目,发现拉取和推送都很慢的问题

在大多数情况下,用Idea去对项目进行拉取和推送是很方便的,对于新手来说也是非常友好的但是最近博主遇到了一个问题,就是我feat一个简单的类,去提交推送都需要很长的时间,甚至是20分钟,博主去找了很多方法。…

无人机图传的得力助手:5G 便携式多卡高清视频融合终端的协同应用

前言在无人机作业中,图传系统是连接空中与地面的关键纽带,而 5G 便携式多卡高清视频融合终端虽不直接搭载于无人机,却能通过地面协同突破传统微波图传的局限,为无人机远程监控、应急指挥提供稳定高效的传输支撑。型号:…

【博客系统UI自动化测试报告】

博客系统UI自动化测试报告一、项目背景二、测试内容(一)测试用例(二)测试账号(三)使用Selenium进行Web自动化测试1.环境搭建2.创建浏览器驱动3.编写博客登陆模块的测试用例代码4.编写博客主页展示模块的测试用例代码5.编写博客创作模块的测试用例代码6.编写博客查看…

简单手写Transformer:原理与代码详解

Transformer 作为 NLP 领域的里程碑模型,彻底改变了序列建模的方式。它基于自注意力机制,摆脱了 RNN 的序列依赖,实现了并行计算,在机器翻译、文本生成等任务中表现卓越。本文将从零开始,手写一个简化版 Transformer&a…

Numpy科学计算与数据分析:Numpy入门之数组操作与科学计算基础

Numpy入门实践:从零开始掌握科学计算利器 学习目标 通过本课程的学习,学员将了解Numpy的历史背景、核心特点及其在科学计算中的重要性。学员将掌握如何使用Numpy进行数组操作,包括数组的创建、索引、切片以及基本的数学运算,为后…

python:讲懂决策树,为理解随机森林算法做准备,以示例带学习,通俗易懂,容易理解和掌握

为什么要讲和学习决策树呢?主要是决策树(包括随机森林算法)不需要数据的预处理。现实世界的数据往往“脏乱差”,决策树让你在数据准备上可以少花很多功夫,快速上手,用起来非常的“省心”。总之,决策树是机器学习领域里最直观易懂、解释性最强、应用最广泛的基础模型之一…

C语言:单链表学习

文件&#xff1a;main.c #include "linkedList.h"int main(int argc, char *argv[]) {// 创建头结点NODE *head NULL;// 创建链表if (llist_create(&head, 666) < 0){perror("链表创建失败&#xff01;");return -1;}// 向链表插入数据llist_addTa…

使用 decimal 包解决 go float 浮点数运算失真

文章目录问题解决注意问题 go float 在运算的时候会出现精度问题 package mainimport ("fmt" )func main() {var a float64 0.3var b float64 0.6fmt.Println("ab", ab) // 你以为是 0.9 但是结果是&#xff1a;0.8999999999999999 }你观察到的 0.3 …

MongoDB学习专题(六)复制集和分片集群

1、概念MongoDB复制集的主要意义在于实现服务高可用&#xff0c;类似于Redis中的哨兵模式2、功能1. 数据写入主节点时将数据复制到另一个副本节点上2. 主节点发生故障时自动选举出一个新的替代节点在实现高可用的同时&#xff0c;复制集实现了其他几个作用数据分发&#xff1a;…

vue3对比vue2的性能优化和提升 :Vue 3 vs Vue 2

1.性能提升 1.1.响应式系统的改进: 从 Object.defineProperty 到 Proxy Vue2:Vue 2 的响应式系统基于 Object.defineProperty,它为每个属性单独设置 getter 和 setter。虽然能够满足基本需求,但它在以下方面存在性能瓶颈: Vue2 中数组监听的局限性:Vue2 通过Object.defi…

进程生命周期管理:从创建到终止的完整逻辑

前言 在操作系统的世界里&#xff0c;进程就像一个个忙碌的 “工作单元”&#xff0c;从被创建到完成任务后终止&#xff0c;始终遵循着一套严谨的生命周期规则。理解进程的生命周期管理&#xff0c;是揭开操作系统多任务调度神秘面纱的关键 —— 而这其中&#xff0c;进程的创…

【显示器】背光板的结构和工作原理

背光板是LCD&#xff08;液晶显示器&#xff09;中的一个重要组件&#xff0c;它负责提供屏幕所需的光源。下面我们详细解释背光板的结构和工作原理。背光板的基本结构一个典型的背光板由以下几个主要部分组成&#xff1a;LED灯条&#xff1a;通常使用白色LED作为光源。导光板&…

hadoop HDFS 重置详细步骤

有时候我们需要对hdfs重置&#xff0c;步骤如下&#xff1a; 1、停止服务 2. 清除日志节点ssh dmp-hdfs-ns1 rm -rf /disk1/dfs/jn/meta/*ssh dmp-hdfs-ns2 rm -rf /disk1/dfs/jn/meta/*ssh dmp-hdfs-dt1 rm -rf /disk1/dfs/jn/meta/*ssh dmp-hdfs-dt2 rm -rf /disk1/dfs/jn/me…

前端性能优化:从请求到资源的精细调控

在用户体验为王的时代&#xff0c;前端性能直接决定产品的留存率。本文聚焦 “减少不必要的传输与加载损耗”&#xff0c;从 合并HTTP请求、启用压缩、减少Cookie、资源加载顺序 四个维度&#xff0c;拆解优化思路与落地方法。 一、合并HTTP请求&#xff1a;突破浏览器并发瓶颈…

【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 微博舆情数据可视化分析-热词情感趋势柱状图

大家好&#xff0c;我是java1234_小锋老师&#xff0c;最近写了一套【NLP舆情分析】基于python微博舆情分析可视化系统(flaskpandasecharts)视频教程&#xff0c;持续更新中&#xff0c;计划月底更新完&#xff0c;感谢支持。今天讲解微博舆情数据可视化分析-热词情感趋势柱状图…

脚本统计MongoDB集合结构信息

场景&#xff1a; 当想统计mongodb集合的结构是什么数据类型时。 1.利用variety.js解析 https://github.com/variety/variety 2.脚本 #!/bin/bash#userxxx #passwxxx host1xx.1x.1x.150 port27010 dbhgrtabs$(echo "show collections"|mongo ${host}:${port}/${db}|g…

订单簿流动性分析与机器学习在大单匹配中的应用

一、订单簿流动性的基本概念 1.1 订单簿的结构与组成 在金融市场中&#xff0c;订单簿&#xff08;Order Book&#xff09;是买卖双方提交的限价订单的集合&#xff0c;通常以价格优先、时间优先的原则进行排序。订单簿由多个层级的价格档位组成&#xff0c;每个档位包含若干限…

CSS :is () 与 :where ():简化复杂选择器的 “语法糖”

在 CSS 编写中&#xff0c;你是否遇到过这样的场景&#xff1a;需要给多个不同父元素下的子元素设置相同样式&#xff0c;结果写出一长串重复的选择器&#xff1f;比如给header、main、footer中的p标签设置相同的颜色&#xff0c;传统写法可能是header p, main p, footer p { c…

vue打包号的文件如何快速查找文件打包后的位置

解析“explorer yz-front-dist”&#xff1a;前端开发者的实用命令小知识 在前端开发的日常工作中&#xff0c;我们经常会接触到各种命令行操作&#xff0c;其中“explorer yz-front-dist”是一个看似简单却暗藏实用价值的命令。对于刚接触开发的新手来说&#xff0c;理解它的含…