- 博客(83)
- 收藏
- 关注
原创 Kubernetes 1.28.15 版本网络通信详解
Kubernetes 1.28.15 版本的网络通信架构延续了 K8S 核心设计理念,通过 CNI 插件、kube-proxy、Service、Ingress 等组件协同工作,实现了 Pod 间的高效通信、服务的稳定暴露及流量的精细化控制。该版本聚焦于网络相关组件的稳定性修复,提升了 CNI 插件调用、kube-proxy 规则更新、Network Policy 生效的可靠性。
2025-12-29 21:10:38
648
原创 K8S-组件介绍
Kubernetes 简称 k8s,是支持云原生部署的一个平台,起源于谷歌。谷歌早在十几年之前就对其应用,通过容器方式进行部署。k8s 本质上就是用来简化微服务的开发和部署的,关注点包括自愈和自动伸缩、调度和发布、调用链监控、配置管理、Metrics 监控、日志监控、弹性和容错、API 管理、服务安全等。
2025-12-25 21:12:54
625
原创 K8S-EFK日志收
启动master节点的nfs服务创建/data/v1修改deployment.yaml文件NFS SERVER #存储地址。
2025-12-23 21:04:43
520
原创 K8S-Helm
helm通过打包的方式,支持发布的版本管理和控制,很大程度上简化了Kubernetes应用的部署和管理。Helm本质就是让k8s的应用管理(Deployment、Service等)可配置,能动态生成。通过动态生成K8S资源清单文(deployment.yaml、service.yaml)。然后kubectl自动调用K8S资源部署。
2025-12-22 21:35:04
922
原创 K8S-HPA水平扩缩容
总的来说,从k8s v1.18开始HPA的机制已经算比较灵活了,在扩缩容识别指标上可以使用Pod的系统cpu、内存指标,也可以Pods自身暴露的自定义metrics指标,还可以支持外部的业务指标;在具体自定义实现上也提供了标准的扩展框架,还有社区其他人贡献的promesheus adapter。在扩缩容速度上也通过相对百分比和绝对 Pods数变化,可以独立控制单位时间内最大的扩容和缩容,此外还通过自定义窗口时间机制保证副本变化的稳定性。
2025-12-21 19:17:01
855
原创 k8s-pod驱逐
始终设置:这是防止节点完全宕机的安全网。必须配置和:这是生产环境的黄金准则,能极大提高节点稳定性。预留值大小需根据节点规格和实际系统开销调整。理解软阈值的用途:用于需要“优雅驱逐”的场景,给应用和运维人员预留反应时间。监控驱逐事件:使用或监控平台来关注集群中的驱逐事件,它们是指标应用资源规划不合理或节点压力过大的重要信号。合理设置 Pod 的requests和limits:这是防止 Pod 被驱逐的第一道防线。Kubelet 在决定驱逐哪个 Pod 时,会优先驱逐那些实际使用量远超其requests的。
2025-12-18 21:41:36
844
原创 K8S中的优先级
第二预选比较奇怪,为什么需要假设抢占者不在node上呢,这是因为删除牺牲者操作,实际是调用了标准的DELETE API进行操作的,这是一个"优雅关闭"的操作,所以存在默认30S的退出时间,而30S内,可能会有很多变故,比如再重新调度的时候,Node服务器挂了或者有更加高优先级的pod需要抢占这个node,这些都导致了重新调度的失败,所以说,抢占者不一定会调度到对应的node上。调度器在进行节点选择时,会根据节点的优先级进行权衡,优先选择具有较高优先级的节点。)上,因为插件为这些节点设置了更高的优先级。
2025-12-17 21:22:04
827
原创 K8S调度管理
pod和pod更倾向腻在一起,把相近的pod结合到相近的位置,如同一区域,同一机架,这样的话pod和pod之间更好通信,比方说有两个机房,这两个机房部署的集群有1000台主机,那么我们希望把nginx和tomcat都部署同一个地方的node节点上,可以提高通信效率;上面表明,即使是容忍了该污点,如果有其它节点不需要容忍就可以调度的话,那还是会优先选择没有污点的机器,但是生产上往往设置污点就是为了给你这个Pod使用的,不能调度到其它节点,这个时候需要配合节点亲和性调度一起使用。
2025-12-16 21:10:21
805
原创 K8S-特殊容器
临时容器与其他容器的不同之处在于,它们缺少对资源或执行的保证,并且永远不会自动重启,因此不适用于构建应用程序。临时容器使用与常规容器相同的 Container.Spec字段进行描述,但许多字段是不允许使用的。临时容器没有端口配置,因此像 ports,livenessProbe,readinessProbe 这样的字段是不允许的。Pod 资源分配是不可变的,因此 resources 配置是不允许的。
2025-12-15 21:28:06
935
原创 k8s-持久化存储
上面介绍的PV和PVC模式都是需要先创建好PV,然后定义好PVC和pv进行一对一的Bond,但是如果PVC请求成千上万,那么就需要创建成千上万的PV,对于运维人员来说维护成本很高,Kubernetes提供一种自动创建PV的机制,叫,它的作用就是创建PV的模板。k8s集群管理员通过创建storageclass可以动态生成一个存储卷pv供k8s pvc使用。每个StorageClass都包含字段provisioner,parameters和reclaimPolicy。
2025-12-12 16:24:08
881
原创 K8S-RBAC认证中心
k8s对我们整个系统的认证,授权,访问控制做了精密的设置;对于k8s集群来说,apiserver是整个集群访问控制的唯一入口,我们在k8s集群之上部署应用程序的时候,也可以通过宿主机的NodePort暴露的端口访问里面的程序,用户访问kubernetes集群需要经历如下认证过程:认证->授权->准入控制(admination controller)1.认证(Authenticating)是对客户端的认证,通俗点就是用户名密码验证。
2025-12-11 21:10:19
645
原创 K8S-NetworkPolicy
在Kubernetes中,NetworkPolicy是一项关键功能,它允许开发者定义和控制Pod之间的网络通信。本文将深入研究Kubernetes中的NetworkPolicy,详细介绍其原理、用途,并通过实际示例演示如何使用NetworkPolicy来确保集群中的网络安全。NetworkPolicy是Kubernetes中用于定义Pod之间网络通信规则的资源对象。通过NetworkPolicy,开发者可以控制哪些Pod可以与另外哪些Pod通信,以及使用何种方式进行通信。
2025-12-10 21:33:14
882
原创 Job & Cronjob
本文介绍了Kubernetes中的Job和CronJob两种资源类型。Job用于创建一次性任务Pod,确保指定数量的Pod成功终止,支持失败重试和并行执行。CronJob则基于时间调度周期性执行Job,适用于定时任务场景。文章详细解析了两种资源的配置参数,包括Job的失败次数限制、完成次数、并发数等,以及CronJob的调度表达式和历史记录保留策略。通过实际演练展示了如何创建Job计算π值和CronJob每分钟输出消息,并观察Pod生命周期状态变化。最后演示了查看任务运行结果的方法,验证了Job和CronJ
2025-12-09 21:56:40
883
原创 K8S-Secret资源对象
用于存储和管理一些敏感数据,比如密码,token,密钥等敏感信息。它把 Pod 想要访问的加密数据存放到 Etcd 中。然后用户就可以通过在 Pod 的容器里挂载 Volume 的方式或者环境变量的方式访问到这些 Secret 里保存的信息了。Secret 类似于 ConfigMap,但专门用于保存机密数据。
2025-12-08 21:28:49
916
原创 K8S-Configmap资源
Configmap 是 k8s 中的资源对象,用于保存非机密性的配置的,数据可以用 key/value 键值对的形式保存,也可通过文件的形式保存。
2025-12-08 08:48:26
952
原创 K8S-Service资源对象
在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。为了解决这个问题,kubernetes提供了Service资源,Service会对提供同一个服务的多个pod进行聚合,并且提供一个统一的入口地址。通过访问Service的入口地址就能访问到后面的pod服务。Service在很多情况下只是一个概念,真正起作用的其实是kube-proxy服务进程。
2025-12-04 21:48:29
960
1
原创 K8S-Deployment资源对象
Deployment为Pod和ReplicaSet提供了一个声明式定义(declarative)方法,用来替代以前的ReplicationController来方便的管理应用。典型的应用场景包括:定义Deployment来创建Pod和ReplicaSet滚动升级和回滚应用扩容和缩容暂停和继续Deployment更新Deployment表示用户对K8S集群的一次更新操作。
2025-12-03 21:25:32
885
原创 K8S-Pod资源对象
#查看对象中包含哪些字段标签其实就一对 key/value ,被关联到对象上,比如Pod,标签的使用我们倾向于能够表示对象的特殊特点,就是一眼就看出了这个Pod是干什么的,标签可以用来划分特定的对象(比如版本,服务类型等),标签可以在创建一个对象的时候直接定义,也可以在后期随时修改,每一个对象可以拥有多个标签,但是,key值必须是唯一的。创建标签之后也可以方便我们对资源进行分组管理。如果对pod打标签之后就可以使用标签来查看、删除指定的pod。(慎重!!!在k8s中,大部分资源都可以打标签。
2025-12-02 21:31:13
826
原创 K8S-namespace资源对象
Kubernetes 支持多个虚拟集群,它们底层依赖于同一个物理集群。这些虚拟集群被称为命名空间。命名空间namespace是k8s集群级别的资源,可以给不同的用户、租户、环境或项目创建对应的命名空间,例如,可以为test、devlopment、production、deployment环境分别创建各自的命名空间。
2025-12-01 21:01:28
804
原创 K8S-单Master集群部署
control-plane]:为 kube-apiserver、kube-controller-manager 和 kube-scheduler 创建静态 Pod 资源文件,并将其存储到“/etc/kubernetes/manifests”目录中。[wait-control-plane]:等待 kubelet 从目录“/etc/kubernetes/manifest”中以静态 Pod的形式启动 Master 组件。--pod-network-cidr:指定 Pod 网络的 CIDR 地址范围。
2025-11-30 16:59:33
846
原创 Roles角色
角色(roles)是ansible自1.2版本开始引入的新特性,用于层次性,结构化地组织playbook。roles能够根据层次型结构自动装载变量文件、tasks以及handlers等。要使用roles只需要在playbook中使用include指令即可。简单的说,roles就是通过分别将变量、文件、任务、模块及处理器放置于单独的目录中、并可以便捷地include他们的一种机制。角色一般用于基于主机构建服务的场景中、但也可以是用于构建守护进程等场景中。Ansible Galaxy 是一个Ansible内容公
2025-11-16 21:09:56
934
原创 Ansible,Playbook的简单应用
playbook是ansible用于配置,部署和管理托管主机剧本,通过playbook的详细描述,执行其中一系列tasks,可以让远程主机达到预期状态,也可以说,playbook字面意思是剧本,现实中由演员按剧本表演,在ansible中由计算机进行安装,部署应用,提供对外服务,以及组织计算机处理各种各样的事情。ansible使用playbook来管理自动化task,playbook是yaml格式的文件,其基本内容可以认为是多条ansible的ad-hoc的语句组成。
2025-11-13 22:02:22
622
原创 Ansible安装与入门
ansible是新出现的自动化运维工具,基于python开发,集合了很多的运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于paramiko开发的,并且基于模块化工作,它本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架,ansible不需要在远程主机上安装client/agents,因为它们是基于ssh来和远程主机通讯的。
2025-11-12 21:42:46
960
原创 Zabbix 7 自动发现与自动注册配置
kubernetes.pod.discovery:用于发现Kubernetes集群中的Pods,包括Pod名称、命名空间、状态、IP地址等,可对Pods的资源使用和容器运行状态进行监控。docker.container.discovery:自动发现主机上运行的Docker容器,包括容器名称、ID、状态等信息,可用于监控容器资源使用情况和内部应用性能。aws.ec2.discovery:自动发现亚马逊AWS EC2实例的相关信息,如实例ID、实例类型、状态、IP地址等,可用于监控EC2实例的性能指标。
2025-11-11 21:46:37
583
原创 Zabbix 7 概述
Zabbix是一款开源的企业级分布式监控系统,专为大规模IT基础设施设计。主动故障预警:提前发现潜在问题性能瓶颈分析:识别系统性能瓶颈容量规划支持:基于历史数据预测资源需求统一监控平台:整合服务器/网络/应用/云服务监控Zabbix 7是开源分布式企业级监控系统的里程碑版本,核心解决三大现代化需求:+ 云原生混合架构监控+ 千万级指标秒级采集+ 运维-开发-业务三维告警分析💡核心价值:从基础设施监控演进为可观测性平台,整合 Metrics/Logs/Traces 数据源。
2025-11-06 21:32:04
624
原创 Elasticsearch+Logstash+Filebeat+Kibana部署[7.17.3版本]
elasticsearch.hosts: ["http://192.168.158.6:9200","http://192.168.166.113:9200","http://192.168.166.114:9200"] #连接的elasticsearch服务器。discovery.zen.ping.unicast.hosts: ["192.168.158.6", "192.168.166.113", "192.168.166.114"] # 配置自动发现。
2025-11-04 21:54:02
862
原创 HAProxy 简介及配置文件详解
HAProxy 是法国人Willy Tarreau开发的一个开源软件,是一款应对客户端10000以上的同时连接的高性能的TCP和 HTTP负载均衡器。其功能是用来提供基于cookie的持久性, 基于内容的交换,过载保护的高级流量管制,自动故障切换 ,以正则表达式为基础的标题控制运行时间,基于Web的报表,高级日志记录以帮助排除故障的应用或网络及其他功能。HAProxy 提供高可用性、负载均衡以及基于TCP和HTTP的应用代理,支持虚拟主机,它是免费、快速并且可靠的一种负载均衡解决方案。
2025-11-03 21:10:01
930
原创 LVS-NAT、DR、TUN模式配置
增加一块网卡安装nginx配置IP通过负载均衡器配置:将负载均衡器的IP地址设置为Web节点的虚拟IP(VIP)地址。这样,客户端的请求将发送到负载均衡器的VIP地址。客户端请求到达负载均衡器:当客户端发送请求到负载均衡器的VIP地址时,负载均衡器会接收到请求。负载均衡器将请求转发到后端Web节点:负载均衡器将请求转发到其中一个后端Web节点。它通过修改目标IP地址为相应的Web节点的IP地址,并修改源IP地址为负载均衡器自身的IP地址,然后将请求发送到相应的Web节点。Web节点响应请求:Web节点接收到
2025-11-02 17:18:54
1027
原创 LVS负载均衡集群理论详解
LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统。本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一。在linux内存2.6中,它已经成为内核的一部分,在此之前的内核版本则需要重新编译内核。为什么要用 LVS?为了克服服务器的过载压力问题,有两种解决方案:单服务器解决方案,即将服务器升级到性能更高的服务器,但是当请求增加时,将很快过载,因此必须再次对其进行升级,升级过程复杂且成本高;
2025-10-30 21:35:16
1112
原创 Keepalived双机热备
Keepalived是一个基于VRRP协议(虚拟冗余路由协议)来实现的LVS服务高可用方案,可以利用其来避免单点故障。一个LVS服务会有2台服务器运行Keepalived,一台为主服务器(MASTER),一台为备份服务器(BACKUP),但是对外表现为一个虚拟IP,主服务器会发送特定的消息(心跳检测,heartbeat)给备份服务器,当备份服务器收不到这个消息的时候,即主服务器宕机的时候, 备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。
2025-10-29 20:58:19
903
原创 Redis主从复制
在分布式集群系统中为了解决服务单点故障问题,通常会把数据复制出多个副本部署到不同的机器中,满足故障恢复和负载均衡等需求。Redis也是如此,它为我们提供了复制功能,实现了相同数据的多个Redis副本。。复制也是Redis日常运维的常见维护点。因此深刻理解复制的工作原理与使用技巧对日常的运维非常有帮助。
2025-10-28 21:42:20
719
原创 Redis Cluster集群
节点从正常状态到fail状态,需要收集每个节点对不正常节点(B)的确认:1)当节点(A)发送的ping包没有返回,此时将B节点的状态信息标记为(PFAIL)状态,然后将信息发送到集群的其它节点,同理当A收集本地有关B状态的信息,当大多数主节点认为B节点是PFAIL状态时,节点A将标记B的状态为FAIL状态,然后向所有的可达节点发送这个消息。当主节点发生故障时,Redis Cluster会自动检测到主节点的不可用,并从备用节点中选出一个合适的备用节点作为新的主节点。这个槽是一个虚拟的槽,并不是真正存在的。
2025-10-28 21:32:16
813
原创 Redis Sentinel哨兵集群
Redis主从复制集群可以将主节点的数据改变同步给从节点,这样从节点就可以起到两个作用:第一:作为主节点的一个备份,一旦主节点出了故障不能继续对外提供服务时,从节点可以作为后备"顶"上来,并且保证数据尽量不丢失。第二,从节点可以扩展主节点的读能力,通过实现读写分离结构,可以大大减轻主节点在进行高并发读写操作时的访问压力。但是主从同步也带了一些问题:一旦主节点故障,需要手动将一个从节点晋升为主节点,slaveof no one。需要修改客户端或者应用程序的主节点地址。
2025-10-28 21:26:23
631
原创 Redis数据库基础
要支持更多并发量,SQL数据库是纵向扩展,也就是说提高处理能力,使用速度更快速的计算机,这样处理相同的数据集就更快了。关系型数据天然就是表格式的,因此存储在数据表的行和列中。* Redis命令处理的核心模块为单线程,不存在多线程切换而消耗CPU,不用考虑各种锁的问题,不存在加锁、释放锁的操作,没有因为可能出现死锁而导致性能消耗。* Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度则是完全依靠于主进程的执行效率。
2025-10-27 21:25:30
315
1
原创 Ceph存储
存储机制会把数据分散存储到多个节点上,具有高扩展性、高性能、高可用性等优点。Ceph使用C++语言开发,是一个开放、自我修复和自我管理的开源分布式存储系统。具有高扩展性、高性能、高可靠性的优点。Ceph目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack,Kubernetes都可与Ceph整合以支持虚拟机镜像的后端存储。粗略估计,我国70%—80%的云平台都将Ceph作为底层的存储平台,由此可见Ceph俨然成为了开源云平台的标配。
2025-10-26 18:28:51
930
原创 NFS文件存储
NFS是Network File System的缩写,默认监听2049端口号。它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利;NFS一般用来存储共享视频,图片等静态数据。NFS分为服务端和客户端。
2025-10-23 15:02:48
929
原创 MySQL Galera Cluster部署
MySQL Galera Cluster 是一个高可用、同步复制的数据库解决方案,基于 Galera Library 和 MySQL 数据库。它设计用于提供高可用性、负载均衡和数据一致性,特别适合需要高写入负载和多主节点支持的场景。
2025-10-22 20:59:46
902
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅