- 博客(85)
- 收藏
- 关注
原创 K8s控制器:管理Pod副本的智能管家
控制器也是管理pod的一种手段自主式pod:pod退出或意外关闭后不会被重新创建二 控制器常用类型制器管理的 Pod:在控制器的生命周期里,始终要维持 Pod 的副本数目Pod控制器是管理pod的中间层,使用Pod控制器之后,只需要告诉Pod控制器,想要多少个什么样的Pod就可以了,它会创建出满足条件的Pod并确保每一个Pod资源处于用户期望的目标状态。如果Pod资源在运行中出现故障,它会基于指定策略重新编排Pod。
2025-12-25 15:42:08
946
原创 k8s中的pod管理及其优化
Pod是可以创建和管理Kubernetes计算的最小可部署单元一个Pod代表着集群中运行的一个进程,每个pod都有一个唯一的ip。一个pod类似一个豌豆荚,包含一个或多个容器(通常是docker)多个容器间共享IPC、Network和UTCnamespace。
2025-12-25 10:34:21
705
原创 如何在centos7中装oracle11g的数据库(静默安装)
useradd -g oinstall -G dba,oper oracle #将oracle用户附加组到dba和oper组,主用户组为oinstall。安装过程中,如果提示[WARNING]不必理会,此时安装程序仍在后台进行,如果出现[FATAL],则安装程序已经停止了。等待解压完成后,会在/usr/oracle目录下生产一个database文件夹,里面就Oracle 11g安装文件。可以切换终端执行top命令查看后台进程一直是在安装的,/u01目录也在不断增大,打开终端,以root身份登录,执行脚本。
2025-11-28 10:58:36
973
原创 如何清理 Linux 系统中容器相关的无用资源
这三条命令通常组合使用,目的是清理容器环境中的无用资源(释放磁盘空间),并重启容器运行时服务以确保状态正常,常用于容器节点的维护或资源紧张时的临时清理。这三条命令可以在哪些Linux发行版上运行?除了这三条命令,还有哪些命令可以清理Linux系统中的未使用资源?如何使用crictl命令来管理容器?
2025-10-20 11:06:10
320
原创 基于博客系统的高性能高可用集群搭建
配置与lb1类似,但state和priority要调整。# 通过Atlas代理执行读写操作,验证是否按预期分离。# 在primary节点(storage1)执行。# 安装MySQL客户端(用于连接数据库)# 初始化DRBD(两台服务器都要执行)# 访问两个VIP,确认都能正常访问。# 其他配置与lb1相同。# 其他配置与lb1相同。# 在两台存储服务器上安装NFS。# 安装Keepalived。# 配置Keepalived。# 安装Keepalived。
2025-10-20 10:38:07
863
原创 Redis主从复制原理
当主节点提升为新的主节点时,它会继承旧主的复制 ID 并生成一个新的偏移量。:主节点将之前存储在“复制缓冲区”中的所有写命令(即生成 RDB 期间收到的命令)发送给从节点。在传统全量同步中,主节点需要将 RDB 文件写入磁盘,然后再从磁盘读出来发送给从节点。之后,主节点会进入命令传播阶段。从节点接收到命令后,会执行与主节点完全相同的命令,从而保证数据的最终一致性。通常在从节点第一次连接主节点,或者从节点与主节点断开连接时间过长时发生。在极端情况下,如果主节点在命令传播给从节点之前宕机,可能会造成数据丢失。
2025-10-20 10:06:14
757
原创 Redis详解
Redis 的全称是RemoteDictionaryServer(远程字典服务)。它是一个开源的、基于内存的键值对存储系统。基于内存:所有数据主要存储在内存中,这使得它的读写速度非常快(通常达到微秒级别)。这是 Redis 高性能的根本原因。键值存储:数据模型非常简单,通过一个唯一的 Key 来存取一个 Value。但这个 Value 不仅仅是字符串,它支持多种数据结构。数据结构服务器:这是 Redis 最强大的地方。
2025-10-09 10:49:16
536
原创 关系型数据库和非关系型数据的区别和联系
没有最好的数据库,只有最合适的数据库。关系型数据库是精密的瑞士军刀,可靠而精准;非关系型数据库是各种专业工具,各有所长,威力巨大。现代企业的正确做法是:理解业务需求 -> 选择合适的数据存储方案 -> 在需要时,大胆地混合使用它们,让专业的工具做专业的事。
2025-10-09 10:08:43
548
原创 磁盘挂载详解
磁盘挂载是操作系统将物理或虚拟磁盘(分区)与文件系统目录树建立关联的过程,只有完成挂载,用户和应用程序才能通过目录访问磁盘中的数据。在类 Unix 系统(如 Linux、macOS)中,这一机制是文件系统管理的核心;Windows 系统虽也存在类似逻辑,但以 “驱动器号”(如 C:、D:)形式呈现,与类 Unix 系统的 “目录挂载” 模式有本质区别。本文将以应用最广泛的 Linux 系统为例,全面讲解磁盘挂载的原理、流程、操作及相关知识。
2025-09-13 10:41:39
1523
原创 Linux系统中的日志管理
日志类型.日志级别 日志存放路径*.* /var/log/westos ##把系统中所有级别的日志存放到westos中*.*;authpriv.none /var/log/westos ##把系统中所有级别的日志存放到westos中。
2025-08-25 10:45:32
598
原创 企业级DNS服务器的搭建
##### 1.关于dns的名词解释 ######dns: domain name service(域名解析服务#关于客户端:/etc/resolv.conf ##dns指向文件 nameserver dns服务器ip地址例如: nameserver 192.168.0.10#测试: host www.baidu.com ##地址解析命令dig www.baidu.com ##地址详细解析信息命令#关于服务端#bind ##安装包named ##服务名称。
2025-08-21 16:14:23
837
原创 Linux的文件管理系统详解
Linux一切皆文件。掌握了Linux的文件管理系统,你就掌握了Linux的灵魂。Linux的文件管理系统可以从逻辑结构和实现机制俩个层面来理解。
2025-08-21 10:25:26
536
原创 linux系统中的磁盘、内存、挂载及相关命令
得先区分清楚磁盘和内存,因为新手容易混淆这两者。磁盘是永久存储,内存是临时运行空间。挂载则是连接磁盘和文件系统的关键,这点必须强调。
2025-08-21 09:54:16
556
原创 linux的sysctl系统以及systemd系统。
sysctl系统的核心是。内核在运行时会维护大量可配置的参数(如网络缓冲区大小、进程限制、虚拟内存策略等),这些参数通过特定的接口暴露给用户态,sysctl就是操作这些接口的标准化方式。
2025-08-20 18:39:59
1607
原创 keepalived简介
Keepalived 是一个用 C 语言编写的开源软件,主要用于实现高可用性(High Availability)和负载均衡。它基于 VRRP (Virtual Router Redundancy Protocol) 协议,能够确保在服务器故障时自动切换到备份服务器,从而保证服务的连续性。
2025-08-20 14:37:10
948
原创 HAProxy使用方法以及和LVS区别
LVS转发效率更高但是没有后端检查需要其它工具完善功能,HAProxy转发效率略低于LVS但有后端检测,配置简单。
2025-08-18 19:15:59
1085
原创 LVS简介及工作原理
VS根据请求报文的目标IP和目标协议及端口将其调度转发至某RS,根据调度算法来挑选RSLVS概念 VS:Virtual Server RS:Real Server CIP:Client IP VIP: Virtual serve IP VS外网的IP DIP: Director IP VS内网的IP RIP: Real server IP 访问流程:CIP VIP == DIP RIPlvs集群的类型lvs-nat: 修改请求报文的目标IP,多目标IP的DNA。
2025-08-12 10:07:12
787
原创 CI/CD的持续集成和持续交付
Git 是一个分布式版本控制系统,被广泛用于软件开发中,以管理代码的版本和变更。主要特点:分布式每个开发者都有完整的代码仓库副本,这使得开发者可以在离线状态下进行工作,并且在网络出现问题时也不会影响开发。即使中央服务器出现故障,开发者仍然可以在本地进行开发和查看项目历史。高效的分支管理Git 中的分支创建和切换非常快速和简单。开发人员可以轻松地创建新的分支来进行新功能的开发或修复 bug,而不会影响主分支。合并分支也相对容易,可以使用多种合并策略来满足不同的需求。快速的版本回退。
2025-08-11 10:28:58
1048
原创 k8s的网络通信
纯三层的转发,中间没有任何的NAT和overlay,转发效率最好。Calico 仅依赖三层路由可达。Calico 较少的依赖性使它能适配所有 VM、Container、白盒或者混合环境场景。
2025-08-07 09:51:36
991
原创 k8s的存储之statefulset控制器
Pod被删除后重建,重建Pod的网络标识也不会改变,Pod的拓扑状态按照Pod的“名字+编号”的方式固定下来,并且为每个Pod提供了一个。:应用实例必须按照某种顺序启动。新创建的Pod必须和原来Pod的网络标识一样。首先,想要弹缩的StatefulSet. 需先清楚是否能弹缩该应用。$(statefulset名称)-$(序号):应用的多个实例分别绑定了不同存储数据。的访问入口,Pod对应的DNS记录。自动创建pvc且pvc由存储类供应。,指定pvc名称大小,通过编辑配置改变副本数。
2025-08-06 18:26:29
296
原创 k8s存储之 volumes配置管理
容器中文件在磁盘上是临时存放的,这给容器中运行的特殊应用程序带来一些问题当容器崩溃时,kubelet将重新启动容器,容器中的文件将会丢失,因为容器会以干净的状态重建。当在一个 Pod 中同时运行多个容器时,常常需要在这些容器之间共享文件。Kubernetes 卷具有明确的生命周期与使用它的 Pod 相同卷比 Pod 中运行的任何容器的存活期都长,在容器重新启动时数据也会得到保留当一个 Pod 不再存在时,卷也将不再存在。
2025-07-30 17:30:04
507
原创 k8s的存储之secerts
Secret 对象类型用来保存敏感信息,例如密码、OAuth 令牌和 ssh key。敏感信息放在 secret 中比放在 Pod 的定义或者容器镜像中来说更加安全和灵活Pod 可以用两种方式使用 secret:作为 volume 中的文件被挂载到 pod 中的一个或者多个容器里。当 kubelet 为 pod 拉取镜像时使用。Secret的类型:Service Account:Kubernetes 自动创建包含访问 API 凭据的 secret,并自动修改 pod 以使用此类型的 secret。
2025-07-25 11:40:15
766
原创 k8s的金丝雀发布
金丝雀发布(Canary Release)也称为灰度发布,是一种软件发布策略。主要目的是在将新版本的软件全面推广到生产环境之前,先在一小部分用户或服务器上进行测试和验证,以降低因新版本引入重大问题而对整个系统造成的影响。是一种Pod的发布方式。金丝雀发布采取先添加、再删除的方式,保证Pod的总量不低于期望值。并且在更新部分Pod后,暂停更新,当确认新Pod版本运行正常后再进行其他版本的Pod的更新。
2025-07-23 10:30:58
255
原创 http性能测试命令ab
在Linux系统中,ab)是一个用于的工具。它是的一部分,专门设计用来模拟多个用户对服务器发起并发请求,从而评估服务器的负载能力和响应时间其中,[options]代表各种可选参数,用于定制测试的具体行为;指定了要测试的URL。
2025-07-18 14:49:28
215
原创 k8s下的网络通信与调度
纯三层的转发,中间没有任何的NAT和overlay,转发效率最好。Calico 仅依赖三层路由可达。Calico 较少的依赖性使它能适配所有 VM、Container、白盒或者混合环境场景。
2025-07-17 17:43:16
822
原创 Kubernetes的微服务
用控制器来完成集群的工作负载,那么应用如何暴漏出去?需要通过微服务暴漏出去后才能被访问Service是一组提供相同服务的Pod对外开放的接口。借助Service,应用可以实现服务发现和负载均衡。service默认只支持4层负载均衡能力,没有7层功能。(可以通过Ingress实现)#生成控制器文件并建立控制器#生成微服务yaml追加到已有yaml中然后编辑文件,用---分隔开微服务默认使用iptables调度。
2025-07-14 16:13:17
1078
原创 Kubernetes控制器详解
官方文档:工作负载管理 | Kubernetes控制器也是管理pod的一种手段自主式pod:pod退出或意外关闭后不会被重新创建控制器管理的 Pod:在控制器的生命周期里,始终要维持 Pod 的副本数目Pod控制器是管理pod的中间层,使用Pod控制器之后,只需要告诉Pod控制器,想要多少个什么样的Pod就可以了,它会创建出满足条件的Pod并确保每一个Pod资源处于用户期望的目标状态。如果Pod资源在运行中出现故障,它会基于指定策略重新编排Pod当建立控制器后,会把期望值写入etcd,k8s中的apiser
2025-07-14 11:05:44
669
原创 Kubernetes中的pod管理及其优化
对于学习kubernetes的原理和机制比较方便,可以通过手动创建pod来深入了解pod的结构和配置方式,再调试出了问题时,也可以直接的观察和调试pod。确保应用始终处于可用的状态,减少因pod故障导致的服务中断。管理复杂:如果需要管理大量的pod,手动创建和维护会变的非常的繁琐,难以实现的自动化的扩容缩容故障恢复等。从侧面可以反应出:pod是一个系统,pod中的容器是一个应用程序,一个系统的一个应用程序只能有`一个。灵活性高,可以精确的控制pod的各种配置参数,包括容器的镜像,资源限制,环境变量等等。
2025-07-04 16:50:44
393
原创 Linux系统中开启路由转发功能
表示不同的参数类别和子类别,文件中存放的值即为变量的值。例如,vm.swappiness参数对应的文件是/proc/sys/vm/swappiness。如果希望永久修改内核参数,可以编辑/etc/sysctl.conf文件,并添加或修改相应的参数。临时修改的内核参数在重启后不会保留,如果需要永久修改,请编辑/etc/sysctl.conf文件。并非所有内核参数都可以被sysctl命令修改,有些参数可能受到系统安全策略或硬件限制的限制。-e:忽略无效的参数名,防止错误输出。显示参数的值,而不显示参数名。
2025-06-19 10:46:35
511
原创 Linux系统中selinux详解
例:找对象时,男人看作主体,女人就是目标,男人是否可以追到女人(主体是否可以访问目标),主要看两人的性格是否合适(主体和目标的安全上下文是否匹配),但两个人的性格是否合适,是需要靠生活习惯、为人处世、家庭环境等具体的条件来进行判断的((dhcpd,httpd,named,nscd,ntpd,portmap,snmpd,squid,以及 syslogd),对本机系统的限制极少。(Mandatory Access Control),可以针对特定的进程与特定的文件资源来进行权限的控制,
2025-06-16 15:18:31
1218
原创 DNS服务详解
第七步:接受请求的顶级 DNS 服务器查找并返回此域名对应的 Name Server 域名服务器的地址,这个 Name Server 服务器就是我要访问的网站域名提供商的服务器,其实该域名的解析任务就是由域名提供商的服务器来完成。第十步:本地DNS服务器把解析的结果返回给本地电脑,本地电脑根据 TTL 值缓存在本地系统缓存中,域名解析过程结束在实际的 DNS 解析过程中,可能还不止这 10 步,如 Name Server 可能有很多级,或者有一个 GTM 来负载均衡控制,这都有可能会影响域名解析过程。
2025-06-16 11:10:23
727
原创 linux系统中du命令详解
du命令显示的磁盘使用大小可能不完全等于文件实际占用的字节数,因为文件系统有块(block)的概念,文件会占用整数个块的空间。-h 或 --human-readable:以人类可读的格式(如KB、MB、GB)显示大小。使用du命令时,特别是递归扫描大目录时,可能会占用较多的系统资源,如CPU和内存。-s 或 --summarize:只显示总计,不列出每个子目录的大小。-d 或 --max-depth=N:显示指定深度的目录大小。-a 或 --all:包括文件在内的所有目录和文件的大小。
2025-06-16 10:50:48
386
原创 企业级Kubernetes的部署
cri-o的方式是Kubernetes创建容器最直接的一种方式,在创建集群的时候,需要借助于cri-o插件的方式在实现Kubernetes集群的创建。srw-rw---- 1 root docker 0 10月 2 09:39 /var/run/cri-dockerd.sock。k8s从1.24版本开始就移除了dockershim,所以需要安装cri-docker插件才能使用docker。复制完,在最后添加--cri-socket=unix:///var/run/cri-dockerd.sock。
2025-06-16 09:35:23
850
原创 Docker的部署和基本操作
docker save `docker images | awk 'NR>1{print $1":"$2}'` -o images.tar.gz保存所有镜像。#进入到容器中,按<ctrl>+<d>退出并停止容器,#按<ctrl>+<pq>退出但不停止容器。此方法不利于企业审计,所以不推荐使用,在企业中我们多用Dockerfile来构建镜像。默认情况下,容器被删除后,在容器中的所有操作都会被清理,包括要保存的文件。如果想永久保存,那么我们需要把动作提交,提交后会生成新的镜像。docker rmi删除镜像。
2025-04-12 16:14:46
495
原创 mysql-router(mysql路由)
是一个对应用程序透明的InnoDB Cluster连接路由服务,提供负载均衡、应用连接故障转移和客户端路由。利用路由器的连接路由特性,用户可以编写应用程序来连接到路由器,并令路由器使用相应的路由策略来处理连接,使其连接到正确的MySQL数据库服务器。我们需要在所有的数据库主机之外再开一台主机mysql-router。mysql router 并不能限制数据库的读写,访问分流。#安装mysql-router。#配置mysql-router。测试:建立测试用户查看调度效果。
2025-04-10 22:33:30
363
原创 MySQL高可用之组复制(MGR)
group_replication_allow_local_disjoint_gtids_join=1 #放弃自己信息以master事件为主。group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa" #通知插件正。group_replication_enforce_update_everywhere_checks=ON #组同步中有任何改变检测更新。
2025-04-10 22:29:35
1225
原创 MySQL的半同步模式
master端,这种延迟在slave端的延迟可能会不一致,当master挂掉后slave接管,一般会挑选一个和master延迟日志最接近的充当新的master,那么为接管master的主机继续充当slave角色并会指向到新的master上,作为其slave这时候按照之前的配置我们需要知道新的master上的pos的id,但是我们无法确定新的master和slave之间差多少。在master端的写入时多用户读写,在slave端的复制时单线程日志回放,所以slave端一定会延迟与。
2025-04-10 13:12:04
703
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅