- 博客(32)
- 收藏
- 关注
原创 Kubernetes Manifests 资源清单核心概念
Kubernetes Manifests 资源清单核心概念 Kubernetes Manifests 是用 YAML/JSON 文件声明集群期望状态的配置方式,采用声明式管理(只需描述"想要什么"而非"如何做")。关键优势包括:版本控制、环境一致性、自动化部署和团队协作。所有资源清单必须包含 apiVersion、kind、metadata 和 spec 四个顶级字段。 典型示例展示了 Deployment 的完整结构,包含副本数、选择器、Pod 模板等核心元素。通过
2025-11-20 21:17:16
952
原创 Harbor 安装与配置完整指南
本文介绍了Harbor容器镜像仓库的安装与配置方法。主要内容包括:Harbor安装的系统资源需求、环境依赖和网络端口要求;在线/离线安装包的下载与解压;基于HTTPS访问的安全配置,包括自签发CA证书和服务端证书的生成方法;以及将证书配置到Harbor和Docker环境的具体步骤。文章提供了详细的操作命令和文件路径指引,适用于开发测试和生产环境部署。重点强调了生产环境必须使用HTTPS加密通信,并给出了完整的证书生成和配置流程。
2025-11-20 10:12:58
1459
原创 基于Kubernetes Jenkins Slave 实战
本文介绍了如何在Kubernetes集群中部署Jenkins用于CI/CD。主要内容包括: 使用YAML清单手动部署Jenkins,包含PVC、ServiceAccount、RBAC角色绑定等配置 通过Deployment部署Jenkins主容器,配置资源限制、健康检查等 使用Service暴露端口,并通过IngressRoute配置外部访问 重点说明了数据持久化方案,将/var/jenkins_home目录挂载到PVC 提供了多种Ingress配置选项(Traefik、Apisix等) 文章强调手动部署方
2025-11-19 22:22:27
822
原创 【Go语言基础】计算机基础知识
本文介绍了计算机基础的两个核心内容:冯诺依曼体系结构和计算机语言。首先阐述了冯诺依曼体系结构的五大部件(运算器、控制器、存储器、输入设备、输出设备)及其工作原理,强调其采用二进制和存储程序的特性。其次详细讲解了计算机语言的三个层级:机器语言、汇编语言和高级语言,比较了编译型和解释型语言的差异。最后阐述了程序的本质是"算法+数据结构",提出了编写高性能程序的黄金法则和程序设计的基本思考路径,强调数据结构选择对算法效率的重要性。全文系统地介绍了计算机工作的基本原理和程序设计基础。
2025-11-19 16:22:11
826
原创 Rook 云原生存储编排系统
Rook 是 CNCF 托管的云原生存储编排系统,基于 Kubernetes Operator 模式实现 Ceph 等分布式存储的自动化管理。其核心架构包含四个层级:Rook Operator 负责集群生命周期管理;CSI 驱动提供存储接口;Ceph 守护进程实现核心存储功能;Rook 代理执行节点级操作。Rook 支持动态存储分配、自动化运维和故障恢复,可将块存储(RBD)、文件存储(CephFS)和对象存储(RGW)无缝集成到 K8s 环境,显著简化云原生存储的部署与维护。项目成熟稳定,广泛应用于生产环
2025-11-18 17:17:19
719
原创 【Go语言基础】Go语言开发环境搭建
本文介绍了Go语言开发环境的搭建方法,包括官网下载地址、Windows和Linux系统的安装步骤,以及推荐的环境变量配置。文章还提供了Goland和VSCode两种开发工具的选用建议,特别强调了安装VSCode插件前需先配置GOPROXY国内镜像源。关键内容包括:Go安装包下载地址、环境变量设置(如GOPROXY推荐使用阿里云或七牛云镜像)、Windows/Linux安装流程,以及开发工具选择(推荐教学使用VSCode)。全篇注重实际开发中的稳定性,建议使用稳定版本而非最新版本以避免兼容性问题。
2025-11-18 17:10:06
1260
原创 【Go语言基础】序列化和反序列化
本文介绍了序列化和反序列化的基本概念及其在Go语言中的实现。序列化是将内存中的数据结构转化为字节序列的过程,主要用于数据持久化、网络传输和跨进程通信。反序列化则是将字节序列还原为原始数据结构。常见的序列化协议包括文本型的JSON和二进制型的MessagePack、Protocol Buffers,各有优缺点。Go语言通过encoding/json包提供JSON处理功能,支持结构体、切片等数据类型的序列化与反序列化,适合中小规模数据处理,高性能场景可考虑优化库。
2025-11-10 11:11:41
824
原创 VitePress SEO 优化方法
VitePress SEO优化方法包括:1) 配置页面元数据,通过frontmatter定义标题(不超过60字)和描述(不超过160字);2) 全局设置默认元数据,在config.js中添加关键词和作者信息;3) 创建robots.txt文件控制搜索引擎抓取;4) 自动生成sitemap.xml,需在config.js中配置hostname并提交至搜索引擎工具。这些措施能有效提升网站在搜索引擎中的可见性和排名。
2025-11-07 15:12:50
261
原创 配置 SSH 服务仅支持密钥登录方式
本文介绍了如何配置SSH服务仅支持密钥登录的安全方案。主要步骤包括:1)生成Ed25519或RSA密钥对;2)将公钥上传至服务器的authorized_keys文件;3)设置正确的文件权限(700/600);4)修改sshd_config禁用密码登录并启用密钥认证;5)重启SSH服务。可选加固措施包含:设置IP白名单、启用双因素认证、修改默认SSH端口等。实施过程强调先测试密钥登录有效性再禁用密码,并建议采用双端口过渡方案防止配置错误导致的服务器锁死。文末还提供了云服务器需同步开放新端口的注意事项。
2025-11-06 11:35:50
262
原创 Nginx 1.26.3 编译安装方法(2025稳定版)
本文详细介绍了在Ubuntu 22.04系统上编译安装Nginx 1.26.3的完整流程。主要内容包括:1)系统准备和依赖安装;2)Nginx源码下载与解压;3)配置编译选项并安装常用模块(如HTTP/2、SSL等);4)将Nginx配置为systemd服务并设置开机启动;5)防火墙配置和安装验证。文章提供了具体的命令行操作步骤和说明,适合需要自定义Nginx配置的用户参考。(149字)
2025-11-05 17:16:27
332
原创 OpenList 配置连接 Windows 网络映射硬盘
本文介绍了如何通过OpenList实现Windows网络映射硬盘连接。主要内容包括:1) 使用Docker Compose安装和配置OpenList服务;2) 设置管理员密码和用户权限;3) 添加本地存储;4) 两种连接方式:Windows原生方式通过资源管理器添加网络位置,或使用第三方工具Cyberduck。文章详细说明了各个步骤的操作方法,包括截图指导,帮助用户实现远程文件如本地硬盘般的访问和管理功能。
2025-11-05 17:08:55
1088
原创 openEuler 22.03-Docker离线安装教程
本文介绍了在openEuler 22.03系统上离线安装Docker的详细步骤。首先需在联网环境下载Docker和Docker Compose二进制安装包,解压后将文件复制到系统目录。然后配置docker.service和containerd.service服务文件,启动相关服务并验证安装。最后提供常见问题解决方案,包括依赖缺失、权限问题和服务启动失败的处理方法。通过运行测试容器hello-world来确认Docker安装成功。
2025-11-04 14:20:49
559
原创 etcd 高可用分布式键值存储
etcd 高可用分布式键值存储摘要 etcd 是由 CoreOS 开发的高可用、强一致性的分布式键值数据库,采用 Go 语言编写和 Raft 一致性算法。作为 Kubernetes 的核心存储组件,etcd 负责保存集群状态、配置和元数据。 etcd 的核心优势包括:完全复制架构、高可用性、强一致性、简单 API、安全性、高性能和可靠性。其关键配置涉及 TLS 证书、节点通信端口(2379/2380)和集群标识等。 管理员可通过 etcdctl 工具验证集群状态,检查节点健康,查看成员信息和管理存储数据。e
2025-11-04 13:46:06
1193
原创 OpenEuler欧拉系统新增大于2T硬盘,分区并挂载
摘要:OpenEuler系统挂载大于2T硬盘操作指南 使用fdisk -l确认新硬盘设备路径(如/dev/vdd) 采用GPT分区方案: 执行parted /dev/vdd 创建GPT标签:mklabel gpt 分区:mkpart primary ext4 2048s 100% 格式化分区:mkfs.ext4 /dev/vdd1 开机自动挂载: 获取UUID:blkid /dev/vdd1 修改/etc/fstab添加挂载项,格式: UUID=xxx /挂载路径 ext4 defaults 0 0 注:操
2025-11-03 17:04:22
420
原创 CentOS 7.x 升级 OpenSSH 10.1 与 OpenSSL 3.5.4版本(2025)
本文介绍了在CentOS 7.x系统中升级OpenSSH至10.1版本和OpenSSL至3.5.4版本的方法。由于存在多个安全漏洞(包括CVE-2023-28531等远程代码执行风险),升级是必要的。操作步骤包括:前置准备(系统确认、数据备份、更换yum源)、安装Telnet作为备用访问方式、编译安装OpenSSL并配置系统链接、卸载旧版OpenSSH后升级新版。特别强调需在确保Telnet可用后再停止SSH服务。通过升级可修复相关漏洞,显著提升系统安全性。
2025-11-03 16:45:05
1252
原创 Ubuntu 升级OpenSSH10.2p1与OpenSSL3.5.4版本避坑实践
本文记录了在Ubuntu 20.04系统上安全升级OpenSSH和OpenSSL的实践过程。首先通过配置阿里云镜像源确保软件包更新顺畅,然后为操作安全部署Telnet服务作为备用登录方案(强调仅限内网使用)。详细说明了Telnet服务的安装配置步骤,包括创建专用账号、权限管理和防火墙设置,并提供了在线/离线两种安装方式。最后提示在升级过程中遇到依赖问题可通过apt修复。全文重点突出安全操作规范,为服务器维护人员提供了可靠的升级指引。
2025-10-30 16:50:40
1256
原创 Zabbix 监控网站SSL证书有效期
本文介绍了使用Zabbix Agent2监控网站SSL证书有效期的配置过程。通过安装Zabbix_get工具获取JSON格式证书数据,在自带的Website certificate模板基础上增加监控项,利用JSONPath预处理提取证书到期时间戳,并计算剩余天数。详细说明了主机添加、宏配置等步骤,最终实现了在Zabbix中直观展示证书剩余有效期的功能。该方案适用于Zabbix 7.0版本环境,能有效监控网站证书状态,及时预警即将到期的证书。
2025-10-29 22:02:44
381
原创 Harbor 反向代理问题
Harbor反向代理配置问题解决方案 问题背景 在服务器上部署Harbor时,需要通过Nginx进行反向代理(80/443端口),但Docker登录时出现"connection refused"错误。原因是Harbor返回的Token服务地址仍是原始IP而非代理域名。 关键配置 修改Harbor配置文件harbor.yml: 设置external_url为代理域名 指定token_service_url为代理域名 重新部署Harbor服务 解决方案 配置Nginx反向代理规则 修改Har
2025-10-28 11:15:41
935
原创 推荐10个Astro简洁适用于个人网站的博客主题
本文推荐了10个基于Astro框架的简洁个人博客主题,适用于快速搭建高性能静态网站。这些主题包括极简风格的Chiri、功能丰富的Citrus、灵感来自antfu.me的Astro Vitesse、轻量级的Nano-blog、可爱风格的Gyoza等。每个主题都具备响应式设计、SEO优化、暗黑模式等现代功能,并支持Markdown写作。项目均提供GitHub源码和演示站点,适合不同技术水平的用户快速部署个人博客。这些主题依托Astro框架"少JavaScript、高性能"的特性,能生成加载速
2025-10-28 10:16:06
1459
原创 Harbor - 413 Request Entity Too Large 问题解决方法
摘要: 上传Docker镜像到Harbor仓库时出现"413 Request Entity Too Large"错误,原因是Nginx/openresty默认限制请求体大小为1MB。解决方法:1)修改Nginx配置,增加client_max_body_size参数(如500MB);2)调整Harbor配置harbor.yml中的maxblob值。修改后需重启Nginx和Harbor服务。该问题通常由大型镜像层(如200MB+)触发。
2025-10-28 10:10:23
360
原创 【Go语言基础】什么是接口?
Go语言接口是定义行为规范的类型,通过方法集合描述对象的行为标准。接口采用非侵入式设计,实现者无需显式声明实现哪个接口。结构体需实现接口所有方法才被视为实现该接口,且可同时实现多个接口。接收者类型(值/指针)影响接口实现规则:值接收者方法允许值/指针类型实例,而指针接收者方法仅接受指针类型实例。Go编译器提供语法糖自动处理值/指针转换,但接口实现时需严格匹配类型要求。
2025-10-23 16:44:14
843
原创 【openEuler欧拉系统】离线环境安装Docker
本文介绍在openEuler欧拉系统离线环境下安装Docker的详细步骤。首先需从官方或阿里云镜像站下载Docker二进制包和docker-compose组件。安装过程包括解压文件、复制到系统目录、创建服务配置文件(containerd.service、docker.service、docker.socket)并设置systemd管理。其中containerd是Docker核心组件,负责容器生命周期管理;docker.service管理Docker守护进程;docker.socket处理客户端通信。所有服务
2025-10-23 16:38:25
1347
原创 【Go语言基础】 匿名函数详解
本文介绍了Go语言中匿名函数的核心特性和使用方法。匿名函数是一种没有名称的函数,可以直接定义并使用,常用于简化代码或实现局部逻辑封装。文章详细讲解了匿名函数的定义方式、作用域绑定特性(包括闭包)、以及三种正确使用方法:立即调用、赋值变量和全局匿名函数。同时对比了匿名函数与具名函数的区别,并演示了高阶函数中匿名函数的应用场景,展示了如何通过函数参数实现灵活的计算逻辑扩展。文章还强调了匿名函数在函数内部和全局作用域中的使用限制。
2025-10-23 16:24:57
344
原创 搭建开源图片管理系统--Piwigo
Piwigo是一款开源网络相册管理系统,支持大规模照片管理(数万至数十万张)和高效分类检索。核心特性包括高容量处理、开源可扩展(支持插件/主题定制)、跨平台适配(Web端和移动应用)。主要功能涵盖多样上传方式、批量操作、元数据处理、精细化权限管理及多种分享展示。安装采用Docker部署,通过docker-compose配置MySQL和Piwigo容器,完成初始化设置即可使用。适用于个人或团队的照片管理需求。
2025-10-23 16:08:49
725
原创 Linux核心目录文件之DNS 与Linux无法上网问题解决
什么是DNS ?如:上网使用 www.baidu.com jd.com www.ryuanxin.com 这些网站的域名这些域名后面都一台或多台的服务器对应着 不同的IP地址,由于服务器和IP地址可能会变动。也比较难记如果相对于 域名就比较好记因为它是相对固定的。DNS就是把使用的域名转换为IP地址 ------- DNS做的 域名解析服务/系统公共DNS阿里云的DNS2...
2019-07-20 19:30:26
892
原创 Linux核心目录之网卡配置文件
网卡文件配置文件详解文件路径://etc/sysconfig/network-scripts/ifcfg-eth0 为网卡文件路径 配置参数参数详解DEVICE=eth0网卡名字HWADDR=00:0c:29:bc:1f:24Hardware address 硬件地址TYPE=Ethernet网络类型 因特网UUID=1c340c4c-e0e...
2019-07-20 19:18:17
2283
原创 Linux目录结构
目录结构特点一切从根root 开始Linux中每个设备可以挂在任何目录上面Linux下面设备没有挂载无法使用linux中一切皆文件什么是挂载?把苹果挂载到树上 ---mount给磁盘分区 开了一个入口 进入到光盘中 入口=挂载点=目录举例:在linux下面使用光盘1.把光盘放入光驱中2. 查看光盘 ll /dev/cdrom3. 使用光盘 cat 乱码4.把...
2019-07-20 19:09:08
224
原创 Linux中显示中文乱码排查过程
“在Linux中显示乱码了多半是字符集显示错误。”什么是字符集?表示字符文字的方法如何查看系统字符集[root@rainxin ~]# echo $LANG 环境变量en_US.UTF-8 语言.字符集UTF-8 万国码 系统默认字符集GBK GB2312修改字符集临时修改:export LANG=zh_CN.UTF-8echo $LANG永...
2019-07-20 18:56:32
366
原创 Linux系统基础优化—关闭防火墙 IPtables
IPtablesIPtables 一般在Linux 7版本基本已经不再使用了,主要使用Firewall 但是在企业环境中还有不少停留在较低的系统版本所以还是有必要了解的。防火墙使用环境:服务器对外使用有外网,建议开启防火墙服务器内网或本地环境个人学习, 建议关闭防火墙如何查询防火墙是否在运行使用 /etc/init.d/iptables status命令[roo...
2019-07-20 12:10:39
445
转载 Linux系统基础优化—SElinux是什么?如何关闭?
什么是SElinux?Kernel 2.6 时代,那时候引入了一个新的安全系统,用以提供访问控制安全策略的机制。这个系统就是Security Enhanced Linux (SELinux),它是由美国国家安全局(NSA)贡献的,它为Linux内核子系统引入了一个健壮的强制控制访问Mandatory Access Control架构。SELinux的相关概念:主体Subjects目...
2019-07-20 11:52:31
258
原创 Linux系统基础优化—简单用户分类
linux简单用户分类不同类型的用户在系统中具有的权限也不一样root 用户 Linux中的老大普通用户 小弟如何添加用户?添加用户命令是:useradd + username添加一个名为xinxin的用户: useradd xinxin那么创建完用户如何查看一个用户是否创建成功或存在呢?可以使用 id +username[root@rainxin ~]#id xin...
2019-07-20 11:37:53
158
原创 如何查看当前Linux系统的版本PS1 ?系统环境变量是什么?
查看当前Linux版本的命令是:Cat /etc/redhat -release内核版本 uname -rUname -m 位数 x86_64uname 显示系统信息-r 显示内核版本-m 显示系统32位还是64位PS1是什么?PS1是变量名字,可以通过 Echo $PS1查看变量的内容。特点一般都是大写的 ,在系统中任何的地方都可以使用。...
2019-07-20 11:19:16
896
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅