首页
统计信息
友情链接
壁纸
Search
1
【更新】CommentToMail typecho2017&v4.1& Mailer三版本,支持php5.6/7,插件详解
158,648 阅读
2
【90APT开源免费】第三代哈弗H6、一代哈弗大狗、H6经典版、坦克300华阳安波福车机开启无线ADB、升级地图、安装软件全流程
59,654 阅读
3
深信服超融合架构测试介绍
13,386 阅读
4
CentOS 7安装bbr教程
13,278 阅读
5
纯小白10分钟变身linux建站高手?宝塔linux面板全体验
12,943 阅读
技术相关
ACG相关
胡言乱语
数码杂烩
登录
Search
标签搜索
进击的巨人
漫画
宝塔
php
typecho
diy
vps
折腾
动漫
优酷路由宝
ubuntu
路由器
QQ
KMS
王忘杰
累计撰写
359
篇文章
累计收到
179
条评论
首页
栏目
技术相关
ACG相关
胡言乱语
数码杂烩
页面
统计信息
友情链接
壁纸
搜索到
237
篇与
的结果
2026-03-12
使用iFlow Cli AI 两小时开发施耐德UPS RS232 多UPS设备Zabbix采集程序
王工公司有多台UPS接入zabbix采集最早在4年前,王工仔细阅读说明书,调试一个多月,使用python编写了第一套modbus采集程序,一直运行正常大约2年前,有了施耐德UPS,使用AI辅助,大约两天就使用python开发了第二套RS232采集程序,需要放在zabbix agent目录下,使用系统计划任务才能自动运行,没有图形界面,不知道运行状态在今天,使用iflow cli,通过和AI持续对话,一边想象程序界面,不到两小时,就开发了一个UPS多设备工具能够添加多个UPS,配置名称、串口、波特率、键值,下方具备单个UPS的监控窗口,能够开机启动、最小化到后台运行,具备日志窗口,设置轮询间隔在过去,运维工程师具备开发能力是一个加分项 在今天看,这已经失去了意义,最重要的能力变成了会提需求 纯AI开发,源码已无意义
2026年03月12日
195 阅读
0 评论
1 点赞
2026-03-11
linux服务器使用1Panel快速部署OpenClaw龙虾AI助手,对接智谱GLM-4.7,打通QQ机器人,操作chrome浏览器
前言我们都知道AI是未来,现阶段,对话、多模态、RAG、Agent、MCP、Skills、Claude Code、OpenClaw龙虾,在未来可能都会消失,都只是通向未来的其中一步,多了解总归是有意义的。通过王工的智谱邀请链接注册,可以获得GLM-4.5-Air 2000万Tokenhttps://www.bigmodel.cn/invite?icode=j6UO3q%2B4DU2AY230dktuh33uFJ1nZ0jLLgipQkYjpcA%3D通过王工的硅基流动邀请链接注册,可以获得16元代金券https://cloud.siliconflow.cn/i/Gz5Rnrc8部署环境系统为AlmaLinux9安装1Panel面板V2注册智谱或硅基流动注册QQ机器人 https://q.qq.com/#/apps配置智谱API在智谱、硅基流动后台申请API Key查看当前资源包余量配置模型账号智谱模型供应商选择Z.ai,填入API Key即可硅基流动模型选择自定义API Key:xx Base URL:https://api.siliconflow.cn/v1 模型:deepseek-ai/DeepSeek-V3.2 Max Tokens:96000 Context Window:160000安装OpenClaw龙虾创建智能体,必须使用1PanelV2版本手动输入模型zai/glm-4.5-air或使用硅基流动如docker镜像下载失败,配置镜像源点击WebUI访问测试运行情况安装QQ机器人插件从现在开始,就能体会到龙虾为什么是AI助手了1Panel已经成QQ通道吗,点击安装填入即可AppID(机器人ID) 10xxx AppSecret(机器人密钥) YMxxx连接QQ机器人访问QQ开放平台,创建机器人在开发管理中获取AppID 和 AppSecret在"沙箱配置"中添加你的 QQ 账号,并用扫码添加 Bot对话测试连接chrome浏览器1panel当前已经默认配置了浏览器,让龙虾自己配置下我给你安装了浏览器,你自己配置下测试浏览器工作情况使用浏览器去90apt.com截一张图发给我小结从操作AI变成AI自己操作,让AI更贴近普通人,无疑是AI史上最重要的一步!
2026年03月11日
669 阅读
0 评论
3 点赞
2026-03-09
燃烧2亿Token,我从OpenClaw龙虾中看到的AI未来
一、前言在文章之前,首先要跟大家明确的是,王工认为:“OpenClaw(龙虾)是AI的双手而不是AI工具本身”网上文章基本分为两派,一派将龙虾视为万能灵药,能解决一切问题,一派认为龙虾能力有限,上限不高,根本不能用于生产。王工的观点是,OpenClaw(龙虾)并不是工具,而是AI的双手,使AI能够通过龙虾,跳出大模型的对话框,来操作真实的世界。二、龙虾能力探索与多数文章不同,王工对龙虾的定位,不是一个AI工具,所以王工没有让龙虾去查看股市、编写小说、作为备忘录;王工希望龙虾能够成为一位运维工程师,能够去分析解决问题,操作真实的系统设备,所以龙虾的名字是 --AI王工也要感谢大家对王工的支持,因为这2亿GLM-4.5-air Token包,是大家使用王工的智谱邀请码注册后赠送的!1、操作浏览器操作浏览器是龙虾的重要功能,只有通过多模态大模型来理解图像,才能够进行更复杂的操作2、登录博客发帖登陆博客发帖,是让龙虾通过对浏览器界面的理解,来输入账号密码,登录,进入后台,找到新建文章,编辑文字并发布,证明龙虾能够完成简单、连续的任务3、登陆堡垒机登陆堡垒机,是让龙虾开展工作的基础,龙虾输入账号密码后,根据验证码识别图像,完成计算,填入验证码,就如同王工入职后第一次登陆堡垒机识别后成功登陆系统,并输入第一个命令ls4、安装nginx安装nginx难吗?当然不难,但对一个只有ssh窗口的龙虾来说,难点到底在哪里?AI首先要认识这个系统,然后根据系统版本,去操作对应的命令、启动服务、查看状态、访问测试,才算安装完成可以让AI提供照片,来判断真实的运行情况通过堡垒机的记录功能,我们可以看到龙虾操作的整个流程这个操作很简单,却符合一个运维工程师工作逻辑:思考判断、输入执行、查看结果5、更多操作?那么windows呢?交换机呢?网络设备呢?图形界面的软件呢?或者OA?能不能做到?6、AI使用AI如果AI不够聪明,那能不能让AI去使用更聪明的AI?就像人类使用AI?三、超长Token或是多Agent?看完上面的内容,我想你已经迫不及待的要使用龙虾来开展工作了!接下来就是泼冷水的时间龙虾为什么还不能用于生产这不是龙虾的问题,而是当前大模型的问题,如王工使用的免费智谱GLM4.5air,上下文仅128K,最大输出96K,其能力不足以完成任何一个稍微复杂的任务,当龙虾进行上下文压缩后,极容易因为遗忘上下文造成运维安全事故不是龙虾不够安全,是大模型上下文太小导致龙虾遗忘,从而不安全超长Token能解决吗一种思路是暴力加长,现阶段的超长Token模型,在NIAH大海捞针测试中,都能够取得较好的成绩,但真的应用到生产时,模型能力与超长Token则完全不匹配多Agent能解决吗多Agent是另一种思路,即多个AI交替,每个AI只完成工作的一部分,确保不会超出上下文,让AI接力完成复杂的工作,在稍复杂任务中具有优势,但当任务更加复杂,其中一个AI溢出后,往往带来雪崩的后果后人的智慧王工认为,随着AI模型不断发展,上下文和最大输入上限会不断提升,届时的龙虾,才是真正的龙虾。正如龙虾官方文档所说:“去壳!去壳!” — 大概是一只太空龙虾说的 脱壳,不断进化未来不要忘记王工的观点,OpenClaw龙虾不是AI工具,而是AI的双手,诚然,现在的龙虾还不够聪明,也会犯很多错儿正如百万年前,猿人通过双手,使用石制工具狩猎、掌握火源吃熟食、团结生存不断进化,或许制作的工具还不够精美、或许几次打猎都空手而归,但当猿人翘望远方的时候,他的眼里映照的不仅是逃窜的猎物,更是不远的未来。
2026年03月09日
152 阅读
0 评论
0 点赞
2026-02-04
MonkeyCode 一款面向最终用户、项目经理、软件团队的自然语言AI开发平台
王工的邀请链接https://monkeycode-ai.com/?ic=019c2775-c24a-74e3-bf47-4bee9bf59167什么是MonkeyCode官网介绍:MonkeyCode 不是 AI 编程工具,是对传统研发模式的变革,是全新的 AI 编程体验,让你的研发团队效率 Max。官方的介绍其实不太好懂,在当下信息量爆炸的时代,王工第一次看到,也以为是一个新瓶装旧酒的大模型前端;恰巧近段时间王工公司网站接连遇到被褂黑链、布局错误、功能BUG等情况,在深入使用了一下MonkeyCode后,我认为官方的介绍完全没有体现出产品特性。王工一句话总结:“ MonkeyCode是一款面向最终用户、项目经理、软件团队的自然语言AI开发平台 ”如何使用MonkeyCode有两种使用方式,第一种全自动 Git 机器人,看官方演示就很明了,在任意 PR 或 Issue 中 @MonkeyCode 即可,这不是本文的重点本文的重点是第二种模式,智能任务模式智能任务模式首先登录控制台,查看整体界面左侧默认是智能任务界面,还有代码审查和开发项目左下是配置和余额,默认免费模型不消耗余额,余额可使用增强模型,效果更好中间是任务对话框下方是任务,可以看到我正在进行5个开发任务任务对话框可以选择开发、设计、审查选择代码可以上传zip包或git仓库开发任务为了便于理解,直接上开发任务1、开发一个类似minecraft的小游戏输入开发要求:“开发一个类似minecraft的小游戏”,程序会自动启动一个容器环境进行开发程序界面左上为项目文件目录,可以进行新建目录、上传、下载文件等操作中间是文件查看器下方是终端右侧是对话窗口程序分析需求,运行一段时间后,会返回一个预览链接,直接运行游戏进入游戏,可以看到是一个设计完善,且能够进行游玩的demo如游戏需要添加功能,持续在对话框进行对话提出需求即可;如开发完成,可点击下载完整代码默认开发环境为2小时,可点击进行续期2、https://www.mi.com/ 一比一模仿这个网站,具备后台管理能力输入要求进行仿站,这也是王工是用这个工具的目的AI在开发完成后,给出了在线查看地址查看网页点击手机后台管理增加一个笔记本成功可以看到,AI是完全理解小米网站的逻辑后,将前后端代码进行了打通,后续可以持续进行对话,不断完善页面http://gwm.90apt.com/ 一比一模仿这个网站,具备后台管理能力gwm.90apt.com是王工的一个网站,仅仅是一个单页面网站,能否增加后台管理能力呢对AI提出要求,AI自行查看网站,并进行开发首次开发完成后无法访问,通过对话告知无法访问,可以看到AI立刻分析并发现了原因再次查看还是无法访问,将报错信息告诉AI,AI再次修改访问成功后台管理添加几个模块试试与预期一致再通过多轮对话可提出更多要求,比如后台密码,使用其他语言开发等设计任务上面的网站开发完成后,我想写一个技术架构设计文档通过AI对话,让AI自己去网站看,并输出方案回答AI提出的问题,想做一个什么架构的网站AI输出方案审查任务即进行代码质量检查,再次不再演示总结再次查看MonkeyCode官方介绍,相信你已经有了完全不同的理解:“ MonkeyCode 不是 AI 编程工具,是对传统研发模式的变革,是全新的 AI 编程体验,让你的研发团队效率 Max。 ”AI时代,就是此刻!
2026年02月04日
339 阅读
0 评论
0 点赞
2026-01-10
sqlserver数据库迁移,查看活跃链接、收缩日志、分离、迁移、附加、修复权限
1、查看活跃链接查看当前数据库的连接情况USE master; GO SELECT db_name(database_id) as database_name, count(*) as number_of_connections, login_name FROM sys.dm_exec_sessions WHERE database_id = db_id('90apt') -- 这里替换成你的数据库名称,可能是'ecol.egy' GROUP BY database_id, login_name;查看所有活动连接USE master; GO SELECT session_id, database_id, login_name, host_name, program_name FROM sys.dm_exec_sessions WHERE database_id = db_id('90apt'); -- 同样替换数据库名称关闭业务查看活动连接,如果还存在,强制断开USE master; GO DECLARE @kill varchar(8000) = ''; SELECT @kill = @kill + 'kill ' + convert(varchar(5), session_id) + ';' FROM sys.dm_exec_sessions WHERE database_id = db_id('90apt'); -- 同样替换数据库名称 EXEC(@kill);2、收缩日志属性-选项-恢复模式-简单任务-收缩-文件日志-收缩到2MB收缩完成后改回完整3、分离确定数据库位置数据库-任务-分离分离成功后,数据库管理器中数据库会消失,本地数据库文件可以复制4、迁移在两台数据库服务器之间,可以用共享文件夹形式快速复制文件5、附加数据库-附加-添加数据库添加成功6、修复权限添加到新数据库后,数据库管理账号需要重新建立,如原有数据库管理账号90aptadmin,迁移后需要重新建立并和数据库用户关联修复现有用户的SID映射USE 90apt GO -- 直接修复用户与登录名的映射 ALTER USER [90aptadmin] WITH LOGIN = [90aptadmin] GO
2026年01月10日
187 阅读
0 评论
0 点赞
2026-01-06
图形界面升级 Oceanbase数据库4.3.5.2升级至4.5 OCP云平台4.3.5升级至4.4.0 4.4.2
Oceanbase数据库4.3.5.2升级至4.5https://www.oceanbase.com/docs/common-ocp-1000000004276440下载升级所需软件包,使用OCP平台进入目标集群,选择升级版本,根据提示补全软件包升级成功按官方要求,集群升级完成后,请务必对集群手动发起一次全量备份。OCP云平台4.3.5升级至4.4https://www.oceanbase.com/docs/common-ocp-1000000004276672在王工升级时,文档存在错误,4.4依赖的java版本是java17,已向官方反馈查看xxocp原始集群信息/root/.obd/cluster/xxocp/config.yaml下载并解压升级包tar xvzf ocp-all-in-one-4.4.0-20251114143405.el7.x86_64.tar.gz启动obd,运行升级向导cd ocp-all-in-one/bin && bash install.sh source ~/.oceanbase-all-in-one/bin/env.sh obd web upgrade访问网页如忘记密码,其历史记录位于ocp服务器,如果是root用户安装则为cat /root/.obd/cluster/ocp集群名称/config.yaml升级中会出现报错,此时需要卸载java1.8并安装openjdk17,并点击重试,即可升级成功yum remove jre yum install java-17-openjdk.x86_64升级4.4.2步骤相同,4.4.2存在BUG,升级提示失败实际成功,重启集群即可Stop ocp-server-ce ok Generate ocp server configuration ok extract compressed doc ok [WARN] delete ai_assistant_knowledge_base files is failedOCP集群启动异常处理查看集群状态 obd cluster list 关闭xxocp集群 obd cluster stop xxocp 启动xxocp集群 obd cluster start xxocp 再次查看集群状态 obd cluster list
2026年01月06日
190 阅读
0 评论
0 点赞
2025-12-31
windows PC 服务器 域控使用技巧、经验记录
1、关闭“幽灵”和“熔断”漏洞防护可恢复部分性能,有风险:https://www.grc.com/inspectre.htm2、Chrome开启多线程下载在地址栏输入 chrome://flags/,然后在搜索框中输入 Parallel downloading,选择enabled,重启Chrome3、如何在 Windows 上查看 HEIC 格式照片?https://www.microsoft.com/en-us/p/heif-image-extensions/9pmmsr1cgpwg?activetab=pivot:overviewtab4、win10自动登陆账号打开“设置-账户-登录选项”;取消“需要通过Windows Hello登录Microsoft账户”前面的复选框;点击桌面左下角的搜索栏,输入“netplwiz”,然后右侧点击“以管理员身份运行”;取消“要使用本计算机,用户必须输入用户名和密码”前面的复选框,并根据提示输入正确的账号名和密码;5、关闭休眠文件使用管理员运行cmd,执行:powercfg -h off 6、win10企业版无法访问共享文件夹首先我们按“window R键”打开运行窗口。在该窗口文本输入处输入“gpedit.msc”,这样本地组策略编辑器就能被启动。进入编辑器页面后,找到并点击页面左侧列的“计算机配置”。4.接着点击计算机配置下的“管理模板”选项。然后在管理模板下,依次点开“网络”-“Lanman工作站”。打开“Lanman工作站”后,在页面右侧列找到“启用不安全的来宾登录”。7.双击该选项,并选择“已启用”,再点击“确定”即可。启动不安全的来宾登录7、WIN10 添加自动启动程序无效的解决方案将启动项目加入Hkey_local_machine\software\wow6432node\microsoft\windows\currentversion\run或放入开机启动目录 运行-shell:Common Startup8、WPS右键无新建doc、xls等快捷方式重置插件,重新注册9、使加域的计算机具备本地管理员权限使用本地管理员登录计算机,在本地管理员组中加入域用户10、win11右键管理员菜单样式j经典 reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve x新版 reg delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f11、命令行禁用UACC:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f 0为禁用 1为默认12、win11任务栏展开https://github.com/valinet/ExplorerPatcher/releases13、windows查看wifi无线信号强度netsh wlan show interfaces14、解决FTP因windows防火墙拦截的方法防火墙放行 windows-system32-svchost.exe(windows服务主进程)15、windows远程桌面登录提示内部错误Error Code 0x4微软论坛搜索https://social.technet.microsoft.com/Forums/en-US/f7ed9049-36a5-4def-90f8-14ebb70e6671/error-code-0x4新建注册表项Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server MaxOutstandingConnections DWORD 300016、一键修改远程桌面端口、开放防火墙、开启ping回显REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Remote Assistance" /v "fAllowToGetHelp" reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp" /v "PortNumber" /t REG_DWORD /d "0xf3b6" /f reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v "PortNumber" /t REG_DWORD /d "0xf3b6" /f net stop TermService /y net start TermService /y netsh advfirewall firewall add rule name="secrdp" dir=in action=allow protocol=TCP localport=62390 netsh advfirewall firewall add rule name="_Ping" dir=in protocol=icmpv4 action=allow17、配置windows计划任务运行 任务计划程序常规-不管用户是否登录等要运行常规-使用最高权限运行每天每2分钟运行一次触发器操作-启动程序设置-如果此任务已经运行,以下规则适用:停止现有实例18、windows重置SIDC:\Windows\System32\Sysprep勾选通用,等待重启即可19、.NET:这台计算机中已经安装了.net framework 4.8或更高的更新安装.NET Framework 4.8 开发者工具包https://dotnet.microsoft.com/zh-cn/download/visual-studio-sdks20、windows计算md5certutil -hashfile 文件 MD521、教你一个命令,几十秒钟给ltsc安装微软商店Storehttps://bbs.pcbeta.com/viewthread-1945054-1-1.html以管理员身份运行cmd执行wsreset -i22、域策略禁止软件运行用户配置—策略—管理模板—系统 “不运行指定的windows应用程序”
2025年12月31日
929 阅读
0 评论
5 点赞
2025-12-27
Xiaomi Redmi 红米 Note 7 Pro 输入类原生系统LineageOS 23
https://wiki.lineageos.org/devices/violet/https://wiki.lineageos.org/devices/#xiaomi官网教程详细,输入即可刷入后,卡顿减轻,支持4K60fps录像,体验较miui好一些
2025年12月27日
277 阅读
0 评论
0 点赞
2025-12-16
彻底清理window10、windows11、Edge浏览器微软用户邮箱绑定
参考链接https://www.zhihu.com/question/8239136687https://www.azurew.com/%e9%94%99%e8%af%af%e8%a7%a3%e5%86%b3/13462.html清除与administrator绑定的微软账号作者:兔吮毫链接:https://www.zhihu.com/question/8239136687/answer/67329291890来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。步骤一:打开注册表,快捷键Win+R 输入 regedit ,点确定打开注册表步骤二:按路径找到地址(可以复制到地址栏一键直达),将这里的邮箱文件夹右键删除计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\IdentityCRL\UserExtendedProperties计算机\HKEY_USERS.DEFAULT\Software\Microsoft\IdentityCRL\StoredIdentities步骤三:删除后注销电脑,重新登陆,继续下一步。步骤四:Win+R 输入regedit,打开注册表,找到地址,将 IdentityCRL 文件夹右键删除计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\IdentityCRL计算机\HKEY_USERS.DEFAULT\Software\Microsoft\IdentityCRL步骤五:注销电脑,重新登陆,进入设置账户,你可以看到删除出现了,它终于出现了至此,Administrator与微软的关系解绑了。步骤六:删除登录密码,登录选项-密码-更改-输入当前密码,新密码不写直接点完成清除Edge浏览器微软用户绑定当前用户下的edge浏览器用户数据。如我的当前用户为"administrator",位置应该是:"C:\Users\Administrator\AppData\Local\Microsoft\Edge"删除Edge目录和Edgexx开头的目录
2025年12月16日
487 阅读
0 评论
0 点赞
2025-12-04
深信服下一代防火墙、深信服全网行为管理设备密码重置 U盘 交叉线
1. U盘恢复密码从标准版本12.0.42开始,AC/SG设备支持通过U盘恢复密码。具体步骤如下:新建一个txt文档,重命名为reset-cfg.txt,并将其拷贝到U盘根目录,U盘格式需为FAT32。确保电脑和设备可以通信,访问设备地址 https://ACIP/php/rp.php,网页会提示“创建文件成功,请连接交叉线并重启设备”。请确保有“创建文件成功”的提示。将U盘插入设备,拔掉所有网口网线(记住接线信息),然后重启设备。等待大约10分钟后,拔出U盘,尝试使用默认帐号admin和密码admin登录设备。注意:U盘恢复密码完成后,建议手动重启一次设备[1]。2. 交叉线恢复密码如果您的设备版本为AC/SG5.5R1及以上,可以使用交叉线恢复密码。步骤如下:确保电脑和设备可以通信,访问设备地址 https://ACIP/php/rp.php,确保有“创建文件成功”的提示。准备交叉线短接设备任意两个非bypass电口,拔掉其他网口网线,只保留短接的交叉线。手动重启设备,等待大约10分钟后,拔掉交叉线,尝试使用默认帐号admin和密码admin登录设备[1]。3. 通过备份配置或管理员恢复密码如果您有备份的配置,或者有administrator角色的二级管理员,可以提供加盖公司公章的密码重置申请函,协调工程师协助恢复密码。如果没有备份配置且需要配置,建议使用上面提到的U盘或交叉线方式恢复密码实测方法二无法重置,使用方法一重置成功
2025年12月04日
274 阅读
0 评论
1 点赞
2025-11-20
VeeamBackup&Replication12高级技巧使用veeam-recovery异机恢复SUSE Linux Enterprise Server 15 SLES15
一、问题描述某物理数据库服务器,使用SUSE Linux Enterprise Server 15 (SLES15)系统,具备系统盘和FC存储,数据库运行于FC存储中;服务器整机通过Veeam备份,还原到虚拟机中进行测试时,由于磁盘路径变动,系统无法启动,经过多轮测试后成功启动系统本文记录异机恢复后的系统修改过程二、工具准备与流程Veeam备份服务器信息Veeam恢复镜像 veeam-recovery-amd64-6.0.0.iso下载地址 https://repository.veeam.com/backup/linux/agent/veeam-recovery-media/x64/SLES15安装镜像,具备救援模式 SLE-15-SP3-Full-x86_64-GM-Media1.iso整体流程配置虚拟机-使用Veeam恢复镜像还原系统,正确映射分区-启动SLES15救援模式,识别lvm,修改fstab,修改网络配置-启动系统-测试业务三、恢复系统1、创建虚拟机2、挂载并进入veeam-recovery恢复模式3、配置网络配置网络调用的nmtui,配置为能够和veeam通信的IP即可4、进行恢复从Veeam服务器恢复登陆服务器,选择要恢复的备份5、映射磁盘务必注意,先将5T磁盘映射为原447.1G系统盘,free剩余空间映射1.99T的LVM卷此时lvm卷会显示为sda4(lvm),并下方显示VG和LV卷为/hana分区6、进行恢复按S 启动恢复即可 Start restore数据量越大恢复越慢四、启动救援模式恢复完成启动系统后,会卡在启动项无法进入系统挂载SLE-15-SP3-Full-x86_64-GM-Media1.iso,进入恢复模式挂载系统进行修复查看当前磁盘情况fdisk -l挂载磁盘 mount /dev/sda3 /mnt/ mount /dev/sda1 /mnt/boot/efi mount -o bind /dev /mnt/dev mount -o bind /proc /mnt/proc mount -o bind /sys /mnt/sys 进入chroot模式 chroot /mnt 挂载lvm卷 扫描pv pvscan 扫描vg vgscan 激活vg卷 vgchange -ay VG 扫描逻辑卷 lvscan 修复fstab为当前实际盘符 vi /etc/fstab 禁用多路径服务 systemctl disable multipathd 重建initramfs mkinitrd -f 配置网络 yast2 选择System-Network Settings 删除旧网卡,按Overview-DNS-Routing分别配置 注意:yast2很不好用是正常的,他不如nmtui操作简单 重启五、连接测试启动系统桌面黑屏,但ssh连接正常数据库工具连接数据库测试正常恢复试验成功六、一点小问题虽然SSH和业务系统都已经正常了,但是进不去桌面,还需要进一步排查原因桌面服务不影响系统和业务运行七、桌面显示问题解决了AI分析解决的,是因为原机器是第三代志强可扩展,测试虚拟机是第一代志强可扩展,导致的软件不能启动,可以临时修改为softpipe启动。根据提供的日志,我们可以看到gnome-shell不断崩溃并重启。日志中关键的错误信息包括: "traps: llvmpipe-0[3913] trap invalid opcode ip:7f296830a80c sp:7f29deaff560 error:0" "gnome-shell-x11.service: Main process exited, code=killed, status=4/ILL" "JS WARNING: [resource:///org/gnome/shell/ui/layout.js 24]: reference to undefined property "MetaWindowX11"" 其中,invalid opcode(非法指令)和ILL(非法指令信号)表明gnome-shell在尝试执行一个当前CPU不支持的指令。这通常是由于CPU微架构不兼容导致的,比如在迁移后新服务器的CPU与旧服务器不同,可能新CPU较老,不支持某些指令集(如SSE4.2、AVX等),而gnome-shell或其中的组件(如llvmpipe)是使用这些指令集编译的。 另外,llvmpipe是Mesa软件渲染器,它使用LLVM进行即时编译,可能会生成针对特定CPU的优化代码。如果迁移后的服务器CPU不支持这些指令,就会导致非法指令错误。 我们按照以下步骤操作: 通过SSH连接到服务器。 切换到root用户。 编辑/etc/environment,添加一行: GALLIUM_DRIVER=softpipe 重启系统。 如果重启后图形界面能够正常启动,那么问题就解决了。
2025年11月20日
278 阅读
0 评论
0 点赞
2025-10-22
docker、K8S Kubernetes集群部署学习笔记
docker学习清华镜像源 yum install -y yum-utils sudo yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo sudo sed -i 's|https://download.docker.com|https://mirrors.tuna.tsinghua.edu.cn/docker-ce|g' /etc/yum.repos.d/docker-ce.repo 安装docker yum install docker-ce docker-ce-cli containerd.io systemctl enable --now docker 安装命令补全 yum install bash-completion -y 执行容器中的终端 docker exec -it 名称 bash docker run -d centos docker run -it -d nginx docker ps -a 查看所有容器,包含退出 -q 列出所有的容器ID docker rm -f 删除容器 映射端口、目录 docker run -d --name web -p 88:80 -v /opt/wwwroot/:/usr/share/nginx/html nginxFROM 构建新镜像是基于哪个镜像LABEL 标签RUN 构建镜像时运行的Shell命令COPY 拷贝文件或目录到镜像中ADD 解压压缩包并拷贝ENV 设置环境变量USER 为RUN、CMD和ENTRYPOINT执行命令指定运行用户EXPOSE 声明容器运行的服务端口WORKDIR 为RUN、CMD、ENTRYPOINT、COPY和ADD设置工作目录CMD 运行容器时默认执行,如果有多个CMD指令,最后一个生效docker编译docker build -t nginx:v1 .nginx镜像FROM centos:7 RUN curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo && \ yum install epel-release -y && \ yum install nginx -y CMD ["nginx","-g","daemon off;"]centos底包FROM centos:7 FROM centos:8 FROM almalinux:latest FROM almalinux/8-minimaltomcat镜像手动docker run -it -d alma:tnt docker exec -it 名称 bash dnf install java-openjdk -y dnf clean all rm -rf /var/cache/dnf/* curl -O https://mirrors.huaweicloud.com/apache/tomcat/tomcat-10/v10.1.33/bin/apache-tomcat-10.1.33.tar.gz tar xvzf apache-tomcat-10.1.33.tar.gz export TOMCAT_HOME=/apache-tomcat-10.1.33/ /apache-tomcat-10.1.33/bin/catalina.sh run创建dockerfileFROM almalinux:latest RUN dnf install java-openjdk -y &&\ dnf install java-openjdk -y &&\ dnf clean all &&\ rm -rf /var/cache/dnf/* RUN curl -O https://mirrors.huaweicloud.com/apache/tomcat/tomcat-10/v10.1.33/bin/apache-tomcat-10.1.33.tar.gz &&\ tar xvzf apache-tomcat-10.1.33.tar.gz &&\ export TOMCAT_HOME=/apache-tomcat-10.1.33/ &&\ rm -rf /apache-tomcat-10.1.33.tar.gz EXPOSE 8080 CMD ["/apache-tomcat-10.1.33/bin/catalina.sh","run"]编译运行docker build -t tomcat:tnt . docker run -d --name tomcattnt -p 8080:8080 tomcat:tntteleport堡垒机镜像手动docker run -it -d centos:7 docker exec -it 名称 bash curl -O https://tp4a.com/static/download/teleport-server-linux-x64-3.6.4-b3.tar.gz tar -zxvf teleport-server-linux-x64-3.6.4-b3.tar.gz rm -rf /teleport-server-linux-x64-3.6.4-b3.tar.gz mkdir /usr/local/teleport/data/assist -p cd /usr/local/teleport/data/assist curl -O https://tp4a.com/static/download/teleport-assist-windows-3.6.3.exe curl -O https://tp4a.com/static/download/teleport-assist-macos-3.6.3.dmg cd teleport-server-linux-x64-3.6.4-b3 sh -c '/bin/echo -e "\n" | sh ./setup.sh' sed -i 's/exit $shell_ret/\/usr\/bin\/tail -f \/usr\/local\/teleport\/data\/log\/tpcore.log/g' /usr/local/teleport/start.shdockerfile文件 teleportV3FROM centos:7 RUN curl -O https://tp4a.com/static/download/teleport-server-linux-x64-3.6.4-b3.tar.gz &&\ tar -zxvf teleport-server-linux-x64-3.6.4-b3.tar.gz &&\ rm -rf /teleport-server-linux-x64-3.6.4-b3.tar.gz &&\ mkdir /usr/local/teleport/data/assist -p &&\ cd /usr/local/teleport/data/assist &&\ curl -O https://tp4a.com/static/download/teleport-assist-windows-3.6.3.exe &&\ curl -O https://tp4a.com/static/download/teleport-assist-macos-3.6.3.dmg &&\ cd /teleport-server-linux-x64-3.6.4-b3 &&\ sh -c '/bin/echo -e "\n" | sh ./setup.sh' &&\ sed -i 's/exit $shell_ret/\/usr\/bin\/tail -f \/usr\/local\/teleport\/data\/log\/tpcore.log/g' /usr/local/teleport/start.sh &&\ rm -rf /teleport-server-linux-x64-3.6.4-b3 EXPOSE 7190 52089 52189 52389 CMD ["/etc/init.d/teleport","start"]编译运行docker build -t teleportv3:tnt . docker run -d --name teleportv3 -p 7190:7190 -p 52089:52089 -p 52189:52189 -p 52389:52389 teleportv3:tnt安装harbor下载解压harbor-online-installer-v2.11.2.tgz进入目录 cd /harbor 创建配置 cp harbor.yml.tmpl harbor.yml hostname: http: port:预配置./prepare部署./install.sh查看状态docker-compose ps关闭docker-compose stop启动docker-compose start后台运行docker-compose up -d删除harbor docker-compose down默认账号密码admin Harbor12345docker主机添加Harbor仓库{ "registry-mirrors": [ "https://docker.1panel.live" ], "insecure-registries" : ["10.100.0.1"] }查看docker配置是否成功docker info登录harbordocker login IP修改镜像tagdocker tag teleportv3:tnt 10.100.0.2/library/teleportv3:tnt推送docker push 10.100.0.2/library/teleportv3:tnt拉取镜像10.100.0.2/library/teleportv3:tnt{lamp/}K8S快速部署1、主机规划testk8s-master 192.168.4.10 testk8s-node1 192.168.4.11 testk8s-node2 192.168.4.12系统配置为4C8G200G,centos7系统,分区为/boot、/,无SWAP分区2、操作系统初始化-所有节点关闭防火墙systemctl stop firewalld systemctl disable firewalld关闭selinuxsed -i 's/enforcing/disabled/' /etc/selinux/config setenforce 0关闭swapswapoff -a # 临时 sed -ri 's/.*swap.*/#&/' /etc/fstab # 永久在master节点添加hostscat >> /etc/hosts << EOF 192.168.4.10 testk8s-master 192.168.4.11 testk8s-node1 192.168.4.12 testk8s-node2 EOF将桥接的IPv4流量传递到iptables的链cat > /etc/sysctl.d/k8s.conf << EOF net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF sysctl --system # 生效时间同步vi /etc/chrony.conf 增加 server 114.115.116.117 iburst systemctl restart chronyd 立即同步时间 chronyc -a makestep 查看同步状态 chronyc tracking 3、安装docker配置阿里云、清华镜像源curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo yum install -y yum-utils sudo yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo sudo sed -i 's|https://download.docker.com|https://mirrors.tuna.tsinghua.edu.cn/docker-ce|g' /etc/yum.repos.d/docker-ce.repo yum clean all yum makecache yum install bash-completion -y yum install docker-ce -y --nogpgcheck systemctl enable docker && systemctl start docker systemctl restart docker docker info4、安装vmtoolsyum install open-vm-tools -y5、做快照防止操作错误6、安装kubeadm,kubelet和kubectl配置镜像加速镜像源列表https://www.cnblogs.com/gnuorg/p/18570325cat > /etc/docker/daemon.json << EOF { "registry-mirrors": ["https://docker.1panel.live"] } EOF systemctl restart docker cat > /etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] name=Kubernetes baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF 指定版本号yum install -y kubelet-1.20.0 kubeadm-1.20.0 kubectl-1.20.0 systemctl enable kubelet7、部署Kubernetes Master在192.168.4.10(Master)执行。kubeadm init \ --apiserver-advertise-address=192.168.4.10 \ --image-repository registry.aliyuncs.com/google_containers \ --kubernetes-version v1.20.0 \ --service-cidr=10.96.0.0/12 \ --pod-network-cidr=10.244.0.0/16 \ --ignore-preflight-errors=all 解释 --apiserver-advertise-address 集群通告地址 --image-repository 由于默认拉取镜像地址k8s.gcr.io国内无法访问,这里指定阿里云镜像仓库地址 --kubernetes-version K8s版本,与上面安装的一致 --service-cidr 集群内部虚拟网络,Pod统一访问入口 --pod-network-cidr Pod网络,与下面部署的CNI网络组件yaml中保持一致 --ignore-preflight-errors=all 忽略错误 初始化完成后,最后会输出一个join命令,先记住,下面用。执行后返回Then you can join any number of worker nodes by running the following on each as root: kubeadm join 192.168.4.10:6443 --token oweerb.nonsh3zl5a8no0od \ --discovery-token-ca-cert-hash sha256:279352b82d65dd6bd470ea1b8c54542215696402a0d6bd8a20e53102f39f8a21 拷贝kubectl使用的连接k8s认证文件到默认路径 mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config查看工作节点kubectl get nodes NAME STATUS ROLES AGE VERSION testk8s-master NotReady control-plane,master 104s v1.20.08、加入K8S node在Node节点执行192.168.4.11192.168.4.12向集群添加新节点,执行在kubeadm init输出的kubeadm join命令kubeadm join 192.168.4.10:6443 --token oweerb.nonsh3zl5a8no0od \ --discovery-token-ca-cert-hash sha256:279352b82d65dd6bd470ea1b8c54542215696402a0d6bd8a20e53102f39f8a21默认token有效期为24小时,当过期之后,该token就不可用了。这时就需要重新创建token,可以直接使用命令快捷生成kubeadm token create --print-join-command查看工作节点kubectl get nodes NAME STATUS ROLES AGE VERSION testk8s-master NotReady control-plane,master 3m42s v1.20.0 testk8s-node1 NotReady <none> 19s v1.20.0 testk8s-node2 NotReady <none> 16s v1.20.09、部署容器网络(CNI)Calico是一个纯三层的数据中心网络方案,是目前Kubernetes主流的网络方案。下载YAMLcurl https://docs.projectcalico.org/v3.20/manifests/calico.yaml -O下载完后还需要修改里面定义Pod网络(CALICO_IPV4POOL_CIDR),与前面kubeadm init的 --pod-network-cidr指定的一样。# The default IPv4 pool to create on startup if none exists. Pod IPs will be # chosen from this range. Changing this value after installation will have # no effect. This should fall within `--cluster-cidr`. - name: CALICO_IPV4POOL_CIDR value: "10.244.0.0/16"修改完后文件后,部署:kubectl apply -f calico.yaml kubectl get pods -n kube-system等Calico Pod都Running,节点也会准备就绪。注:以后所有yaml文件都只在Master节点执行!安装目录:/etc/kubernetes/组件配置文件目录:/etc/kubernetes/manifests/节点运行情况 kubectl get pods -n kube-system NAME READY STATUS RESTARTS AGE calico-kube-controllers-577f77cb5c-jrcfs 0/1 Pending 0 5s calico-node-fznrr 0/1 Init:0/3 0 6s calico-node-nrrwj 0/1 Init:0/3 0 6s calico-node-x7hds 0/1 Init:0/3 0 6s coredns-7f89b7bc75-6lr2s 0/1 Pending 0 7m18s coredns-7f89b7bc75-kwq9c 0/1 Pending 0 7m18s etcd-testk8s-master 1/1 Running 0 7m26s kube-apiserver-testk8s-master 1/1 Running 0 7m26s kube-controller-manager-testk8s-master 1/1 Running 0 7m26s kube-proxy-6pbwh 1/1 Running 0 4m9s kube-proxy-btgsz 1/1 Running 0 4m12s kube-proxy-cdfxc 1/1 Running 0 7m18s kube-scheduler-testk8s-master 1/1 Running 0 7m26s 会出现的一种情况是镜像下载失败calico-node-fznrr 0/1 Init:ImagePullBackOff 0 5m32s calico-node-nrrwj 0/1 Init:ImagePullBackOff 0 5m32s calico-node-x7hds 0/1 Init:ImagePullBackOff 0 5m32s 查看失败原因 kubectl describe po calico-node-fznrr -n kube-system Warning Failed 2m11s kubelet Failed to pull image "docker.io/calico/pod2daemon-flexvol:v3.20.6": rpc error: code = Unknown desc = Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) Warning Failed 2m11s kubelet Error: ErrImagePull Normal BackOff 2m11s kubelet Back-off pulling image "docker.io/calico/pod2daemon-flexvol:v3.20.6" Warning Failed 2m11s kubelet Error: ImagePullBackOff Normal Pulling 116s (x2 over 5m31s) kubelet Pulling image "docker.io/calico/pod2daemon-flexvol:v3.20.6" 通过镜像站点下载 https://docker.aityp.com/image/docker.io/calico/pod2daemon-flexvol:v3.20.6docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/calico/pod2daemon-flexvol:v3.20.6 docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/calico/pod2daemon-flexvol:v3.20.6 docker.io/calico/pod2daemon-flexvol:v3.20.6 等待自动修复完成calico-kube-controllers-577f77cb5c-jrcfs 0/1 ContainerCreating 0 22m calico-node-fznrr 0/1 Running 0 22m calico-node-nrrwj 1/1 Running 0 22m calico-node-x7hds 1/1 Running 0 22m 有时发生错误,重启k8s也能解决systemctl restart kubelet创建pod测试kubectl create deployment nginx --image=nginx查看pod状态kubectl get pod查看pod状态带节点和IPkubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES nginx-6799fc88d8-rqb82 1/1 Running 0 14m 10.244.236.3 testk8s-node1 <none> <none> 测试nginxcurl 10.244.236.3 <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> 创建外部访问kubectl expose deployment nginx --port=80 --target-port=80 --type=NodePort查看外部端口 范围 30000以上kubectl get pod,svc NAME READY STATUS RESTARTS AGE pod/nginx-6799fc88d8-rqb82 1/1 Running 0 15m NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 46m service/nginx NodePort 10.101.228.228 <none> 80:32507/TCP 15s访问地址为http://192.168.4.11:32507/ http://192.168.4.12:32507/即Pod任意节点IP,组合service映射的端口10、部署dashboardYAML下载地址curl https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.3/aio/deploy/recommended.yaml -O修改yaml,增加nodePort: 30001 type: NodePortkind: Service apiVersion: v1 metadata: labels: k8s-app: kubernetes-dashboard name: kubernetes-dashboard namespace: kubernetes-dashboard spec: type: NodePort ports: - port: 443 targetPort: 8443 nodePort: 30001 selector: k8s-app: kubernetes-dashboard部署dashboardkubectl apply -f recommended.yaml查看状态kubectl get pods -n kubernetes-dashboard创建service account并绑定默认cluster-admin管理员集群角色:创建用户kubectl create serviceaccount dashboard-admin -n kube-system用户授权kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin获取用户Tokenkubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/ {print $1}') Name: dashboard-admin-token-sqtsm Namespace: kube-system Labels: <none> Annotations: kubernetes.io/service-account.name: dashboard-admin kubernetes.io/service-account.uid: 77ad4c5d-e4e0-4dc9-b014-7f679acf5aff Type: kubernetes.io/service-account-token Data ==== ca.crt: 1066 bytes namespace: 11 bytes token: eyJhbGciOiJSUzI1NiIsImtpZCI6InY0U0pqNDh2M0ZGMVdMTGdxSnNBcmxMaVFGVE9nMC1tMnhxQzFfZjF3aEUifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tc3F0c20iLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNzdhZDRjNWQtZTRlMC00ZGM5LWIwMTQtN2Y2NzlhY2Y1YWZmIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.fwivtHsitw0ABTfb96HqIJ6N9SL23eiZtIjniqB1qRYIODkGJkOXKGpUmEXPRwR-pQr4glk1KDP9dB2xidET9IhZ-3iKt_5K8xb9K3aELG9yOzzH0Xmi88SaY6A6ZrABaCjjTcp80d-5FgQhRB6ruMLnD1N7vftYk1Sf37HvZ_bKApq1C6uebKnMd0M2EcPckjepvSXmD6fdsosTAJrTYeEpcFCjR6IS5R9bnrN7ADwFZHu-kEekhhV7g888REdhnbSkAvzE9OYbIf7uVgTkh6C_ZhJEzODViHS_RDkiEbZSqs0Q53h50CgL8tj3CBrkV9FvO7SoKVCtvTkYZyPfcQ 访问地址:https://NodeIP:30001任何节点都可以访问https://192.168.4.10:30001/ https://192.168.4.11:30001/EDGE访问出现你的连接不是专用链接,没有继续访问按钮时解决办法保持焦点在页面内,鼠标在页面空白处点击(不选中任何按钮),直接输入“thisisunsafe”,输完后按回车键,就可以正常访问网页。这里要注意的是,输入的时候页面时不会有任何反应的,也不会显示输入的字符,是正常现象。输入完毕后点回车即可。输入Token登录token: eyJhbGciOiJSUzI1NiIsImtpZCI6InY0U0pqNDh2M0ZGMVdMTGdxSnNBcmxMaVFGVE9nMC1tMnhxQzFfZjF3aEUifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4tdG9rZW4tc3F0c20iLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNzdhZDRjNWQtZTRlMC00ZGM5LWIwMTQtN2Y2NzlhY2Y1YWZmIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1hZG1pbiJ9.fwivtHsitw0ABTfb96HqIJ6N9SL23eiZtIjniqB1qRYIODkGJkOXKGpUmEXPRwR-pQr4glk1KDP9dB2xidET9IhZ-3iKt_5K8xb9K3aELG9yOzzH0Xmi88SaY6A6ZrABaCjjTcp80d-5FgQhRB6ruMLnD1N7vftYk1Sf37HvZ_bKApq1C6uebKnMd0M2EcPckjepvSXmD6fdsosTAJrTYeEpcFCjR6IS5R9bnrN7ADwFZHu-kEekhhV7g888REdhnbSkAvzE9OYbIf7uVgTkh6C_ZhJEzODViHS_RDkiEbZSqs0Q53h50CgL8tj3CBrkV9FvO7SoKVCtvTkYZyPfcQ11、查看日志查看容器日志kubectl logs 容器名称 -n kube-system kubectl get pod NAME READY STATUS RESTARTS AGE nginx-6799fc88d8-rqb82 1/1 Running 0 37m kubectl logs nginx-6799fc88d8-rqb82 /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh查看容器事件kubectl describe pod 容器名称 -n kube-system kubectl describe pod nginx-6799fc88d8-rqb82 Name: nginx-6799fc88d8-rqb82 Namespace: default Priority: 0 Node: testk8s-node1/192.168.4.11 Start Time: Wed, 22 Oct 2025 14:17:29 +0800 Labels: app=nginx pod-template-hash=6799fc88d8查看calico.yaml所需要的镜像 grep image calico.yaml image: docker.io/calico/cni:v3.20.6 image: docker.io/calico/cni:v3.20.6 image: docker.io/calico/pod2daemon-flexvol:v3.20.6 image: docker.io/calico/node:v3.20.6 image: docker.io/calico/kube-controllers:v3.20.6 cailco镜像下载失败时解决办法通过镜像站下载 https://docker.aityp.com/清空部署环境kubeadm reset系统命令补全 yum install bash-completion -y{lamp/}扩展学习docker切换containerd1、先决条件节点执行 cat <<EOF | tee /etc/modules-load.d/containerd.conf overlay br_netfilter EOF modprobe overlay modprobe br_netfilter 设置内核参数 cat <<EOF | tee /etc/sysctl.d/99-kubernetes-cri.conf net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 EOF 生效内核参数 sysctl --system2、安装containerd 节点执行安装依赖包yum install -y yum-utils device-mapper-persistent-data lvm2安装docker仓库更新系统、安装containerdyum update -y yum install -y containerd.io配置containerd创建配置目录 mkdir -p /etc/containerd 创建默认配置文件 containerd config default | sudo tee /etc/containerd/config.toml重启containerdsystemctl restart containerd修改配置文件vi /etc/containerd/config.toml sandbox_image = "registry.k8s.io/pause:3.6" 修改为 registry.aliyuncs.com/google_containers/pause:3.2 SystemdCgroup = false 修改为 SystemdCgroup = true [plugins."io.containerd.grpc.v1.cri".registry.mirrors] 下增加两行 [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"] endpoint = ["https://docker.xuanyuan.me/"] 对接kubeletvi /etc/sysconfig/kubelet KUBELET_EXTRA_ARGS=--container-runtime=remote --container-runtime-endpoint=unix:///run/containerd/containerd.sock --cgroup-driver=systemd停止dockersystemctl stop docker.socket&&systemctl stop docker && systemctl disable docker3、替换容器引擎master查看K8S状态kubectl get node NAME STATUS ROLES AGE VERSION k8s-master Ready control-plane,master 25h v1.20.0 k8s-node1 NotReady <none> 25h v1.20.0 k8s-node2 Ready <none> 25h v1.20.0节点重启kubeletsystemctl restart kubelet稍后master再次查看K8S状态kubectl get node NAME STATUS ROLES AGE VERSION k8s-master Ready control-plane,master 25h v1.20.0 k8s-node1 Ready <none> 25h v1.20.0 k8s-node2 Ready <none> 25h v1.20.0mater查看详细节点信息kubectl get node -o wide NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME k8s-master Ready control-plane,master 25h v1.20.0 192.168.4.10 <none> CentOS Linux 7 (Core) 3.10.0-1160.el7.x86_64 docker://26.1.4 k8s-node1 Ready <none> 25h v1.20.0 192.168.4.11 <none> CentOS Linux 7 (Core) 3.10.0-1160.el7.x86_64 containerd://1.6.33 k8s-node2 Ready <none> 25h v1.20.0 192.168.4.12 <none> CentOS Linux 7 (Core) 3.10.0-1160.el7.x86_64 docker://26.1.4更多K8S命令查看master组件状态kubectl get cs查看k8s所有资源kubectl api-resources查看node状态kubectl get node 查看APIserver代理的URLkubectl cluster-info查看集群详细信息kubectl cluster-info dump查看资源信息kubectl describe pod 名称 查看事件 kubectl get pods --watch 实时查看pod
2025年10月22日
1,453 阅读
0 评论
2 点赞
1
2
3
...
20