- 博客(52)
- 收藏
- 关注
原创 k8s的CICD流水线环境搭建实验(containerd版)
k8s环境规划:podSubnet(pod 网段) 10.20.0.0/16serviceSubnet(service 网段): 10.10.0.0/16实验环境规划:操作系统:Ubuntu 20.04.3配置: 4G 内存/2核CPU/120G 硬盘网络: NAT。
2025-12-06 10:10:33
1017
原创 k8s的cicd流水线环境搭建实验(docker版)
k8s环境规划:podSubnet(pod 网段) 10.20.0.0/16serviceSubnet(service 网段): 10.10.0.0/16实验环境规划:操作系统:Ubuntu 20.04.3配置: 4G 内存/2核CPU/120G 硬盘网络: NAT。
2025-12-03 22:17:01
854
1
原创 K8s学习笔记(二十四) ingress
哪个域名对应哪个服务?哪个路径对应哪个服务?是否需要 SSL 证书?它本身不干活,只负责 “写规则”。Ingress 的核心是 “统一入口 + 规则转发理解 “Ingress 资源(规则)” 和 “Ingress Controller(执行)” 的关系;掌握基础的 “域名 + 路径转发” 和生产级的 “SSL 配置、路径重写”。
2025-10-28 21:44:36
425
原创 K8s学习笔记(二十三) 网络策略 NetworkPolicy
NetworkPolicy 的核心是 “基于标签的精细化流量控制用选择被管控的 Pod;用from/to定义流量的来源 / 目标(Pod、命名空间、IP);用ports限制允许的端口和协议。
2025-10-27 20:08:26
764
原创 K8s学习笔记(二十二) 网络组件 Flannel与Calico
如果需要快速搭建测试环境,对网络性能和安全要求不高 → 选Flannel(简单、省心);如果需要生产环境,对性能(低延迟)和安全管控(Pod 访问控制)有要求 → 选Calico(高性能、支持网络策略);若 Node 跨网段(如跨机房):Flannel 用 vxlan,Calico 用 IPIP,二者均可兼容。
2025-10-27 19:51:43
1051
原创 K8s学习笔记(二十一) RBAC
RBAC 的核心逻辑是 “先定义权限(Role/ClusterRole),再分配权限(RoleBinding/ClusterRoleBinding)命名空间内的权限:Role + RoleBinding;集群级 / 跨命名空间权限:ClusterRole + ClusterRoleBinding;验证权限用,实战优先掌握 “ServiceAccount 给 Pod 授权” 的场景。
2025-10-16 22:17:45
527
原创 K8s学习笔记(二十) 亲和性、污点、容忍、驱逐
类型作用对象典型场景核心配置字段节点亲和性节点(标签)只跑在 SSD 节点、特定区域节点Pod 亲和性其他 Pod(标签)前后端 Pod 同节点、同可用区Pod 反亲和性其他 Pod(标签)同应用副本分散在不同节点、不同可用区想让 Pod “选节点”:用亲和性;想让节点 “拒 Pod”:给节点打污点,再让允许的 Pod 配置容忍;想让 Pod “被赶走”:要么触发节点自动驱逐(资源不足),要么用NoExecute污点强制驱逐。
2025-10-15 22:39:32
1178
原创 K8s学习笔记(十九) K8s资源限制
两种机制,对整个命名空间下的所有资源进行 “总量管控” 和 “个体约束”,避免单个命名空间过度占用集群资源,实现多团队 / 业务间的资源隔离。再创建 ResourceQuota:设定 Namespace 的总资源上限,防止整体资源超用。(如最多创建多少个 Pod、Service),是 Namespace 资源的 “总闸门”。,解决 “Pod 未配置资源” 或 “单个 Pod 资源超标” 的问题。:所有限制都是 “强制性” 的,当 Namespace 内资源使用达到。,能看到已使用资源和剩余配额(如。
2025-10-15 15:10:45
756
原创 K8s学习笔记(十八) HPA控制器
默认的扩缩容规则(如冷却时间、扩容速度)可能不满足生产需求,可通过behavior字段自定义 HPA 行为。
2025-10-15 10:13:35
797
原创 K8s学习笔记(十七) pod优雅终止流程
postStart:确保容器启动后能执行初始化操作(如注册、配置),让应用 “平稳启动”;preStop:是优雅终止的核心,确保容器终止前能 “体面下线”(处理请求、保存数据);优雅终止流程:通过 “标记 Terminating→preStop→SIGTERM→SIGKILL” 的步骤,结合宽限期,平衡 “快速终止” 和 “安全下线” 的需求。
2025-10-09 14:11:19
1225
原创 K8s学习笔记(十六) 探针(Probe)
存活探针:保证容器 “活着且能工作”,失败则重启;就绪探针:保证流量只发给 “能处理请求” 的容器,失败则隔离;启动探针:给慢启动应用 “缓冲时间”,避免启动中被误判。
2025-10-08 18:54:13
880
原创 K8s学习笔记(十五) pause容器与init容器
pause 容器是 K8s 自动为每个 Pod 创建的第一个容器,也叫 “基础设施容器初始化并维持 Pod 的共享命名空间,让后续加入 Pod 的业务容器能 “附着” 到这些命名空间上。Pod 是一个 “房间”,pause 容器是 “房间的承重墙”,负责支撑房间的结构;业务容器是 “房间里的家具”,依赖承重墙(pause 容器)共享房间的空间(命名空间)。它先启动,创建并维持 Pod 的网络、PID 等共享命名空间;业务容器依赖它实现资源共享;
2025-10-08 13:08:36
848
原创 K8s学习笔记(十四) DaemonSet
DaemonSet 的核心价值是 “节点级服务全覆盖日志收集(Fluentd、Filebeat);节点监控(Node Exporter、Grafana Agent);网络插件(Calico、Flannel、Weave);存储插件(Ceph-CSI、GlusterFS 客户端);安全代理(节点级防火墙、入侵检测)。
2025-10-08 09:20:50
788
原创 K8s学习笔记(十三) StatefulSet
无状态应用(如 Nginx、API 服务)的 Pod 可以随意替换:名称随机(如)、IP 动态变化、数据无需持久化或可共享,用 Deployment 管理即可。但有状态应用稳定的身份:每个实例需要固定的名称(如zk-0zk-1)和网络标识,其他服务需通过固定标识访问(例如 “主库必须是mysql-0”)。专属的存储:每个实例的数据必须独立(如mysql-0的数据不能被mysql-1覆盖),且 Pod 重建后数据必须保留。有序的操作:部署时需先启动zk-0,再启动zk-1;扩容时需按顺序新增;
2025-10-05 14:26:48
1084
原创 K8s学习笔记(十二) volume存储卷
核心分工:运维管 PV/StorageClass(供应存储),开发管 PVC/Pod(使用存储)。绑定关键:容量、访问模式、存储类必须匹配。临时共享数据(同一 Pod 内)→emptyDir节点级测试持久化 →hostPath跨节点共享数据 →nfs非敏感配置文件 →configMap敏感信息 →secret生产环境持久化存储 →persistentVolumeClaim(关联 PV)
2025-10-03 16:32:40
1146
原创 K8s学习笔记(十一) service
Service 的核心价值:为动态变化的 Pod 提供固定访问入口,实现负载均衡和服务发现。4 种类型:ClusterIP:集群内访问(默认)。NodePort:外部通过节点端口访问(测试用)。LoadBalancer:云环境外部访问(生产用)。ExternalName:映射到外部域名。原因:CoreDNS 未正常运行(检查,确保 CoreDNS Pod 正常)。Service 的核心价值:为动态变化的 Pod 提供固定访问入口,实现负载均衡和服务发现。
2025-10-02 19:42:32
804
原创 K8s学习笔记(十) Deployment 副本控制器
Deployment 是 Kubernetes 中推荐的 Pod 管理方式,它通过 ReplicaSet 实现副本数量的自动维持(副本控制),同时提供声明式更新、版本回滚等高级功能,确保服务的高可用性和可维护性。相比直接使用 ReplicaSet 或 RC,Deployment 更适合生产环境中需要频繁更新和稳定运行的业务场景。
2025-10-02 17:20:15
919
原创 K8s学习笔记(九) job与cronjob
Job是 “一次性任务” 的载体,核心是确保任务成功完成,适合临时执行的脚本、计算等。CronJob是 “定时任务” 的调度器,通过时间表达式周期性创建 Job,适合重复性任务。关键是理解:Job 的控制任务执行次数和并行度;CronJob 的schedule和控制调度规则和并发行为。
2025-10-02 16:31:17
948
原创 K8s学习笔记(八) K8s资源对象
在 Kubernetes(K8s)中,是集群的核心抽象,用于定义和描述集群的期望状态(Desired State),例如 “运行哪些应用”“应用需要多少资源”“如何访问应用” 等。K8s 的控制平面(如 kube-controller-manager、kube-scheduler)会持续监控这些资源对象,将集群的调整为期望状态,这一过程称为 “调和(Reconciliation)”。
2025-09-26 21:46:50
1115
原创 K8s学习笔记(七) yaml
它通过结构化的文本描述 K8s 资源的期望状态(Desired State),K8s 控制器会根据 YAML 中的配置将资源状态调整为期望状态。
2025-09-25 13:04:36
1151
原创 K8s学习笔记(六) K8s升级与节点管理
将/usr/local/src/kubernetes/server/bin目录下的kube-apiserver kube-controller-manager kube-scheduler kubelet kube-proxy kubectl 二进制文件升级包替换/usr/local/bin/目录下目前版本的二进制文件。master节点逐个进行升级 master1 master2 master3 ,将需要升级的master1节点关闭进行离线升级,剩余两个master节点继续运行不影响服务。
2025-09-24 19:14:38
487
原创 K8s学习笔记(五) Velero结合minnio业务数据备份与恢复
Velero(曾用名 Heptio Ark)是一款开源的 Kubernetes 集群数据备份与恢复工具,支持集群资源(Deployment、Service 等)和持久化存储数据(PV/PVC)的备份;MinIO 是兼容 S3 协议的对象存储服务,可作为 Velero 的备份存储后端,实现备份数据的集中存储与管理。本文将从原理、环境准备、部署配置、备份恢复操作及最佳实践等维度,全面讲解两者结合的方案。
2025-09-24 14:56:38
367
原创 K8s学习笔记(四) etcd组件
etcd 是一个,主要用于存储分布式系统中的关键元数据,是 Kubernetes 集群的核心组件之一(被称为 Kubernetes 的 “大脑”)。
2025-09-24 12:37:04
985
原创 K8s学习笔记(三) kubectl 常用命令
的核心命令,用于通过配置文件(通常是 YAML 或 JSON 格式)定义 Kubernetes 资源(如 Pod、Deployment、Service 等),并让集群根据配置文件的 “期望状态” 自动创建或更新资源。的工具,能帮助理解各种 Kubernetes 资源(如 Pod、Deployment、Service 等)的配置字段含义、类型、是否必需等,是编写 YAML 配置文件时的重要参考。命名空间)中所有的 Pod,展示 Pod 的名称、运行状态、容器就绪情况等核心信息,帮助快速了解应用的部署状态。
2025-09-23 13:51:56
1757
原创 K8s学习笔记(二) Pod入门与实战
在 Kubernetes 中,命名空间(Namespace)是用于对集群内资源进行逻辑隔离的机制,核心作用是在共享同一 K8s 集群的场景下,避免资源名称冲突、区分环境或团队,方便管理和权限控制。资源隔离:同一命名空间内的资源名称必须唯一,但不同命名空间可以有同名资源(如两个命名空间都能有叫 “nginx” 的 Pod)。环境 / 团队划分:通常用于隔离不同环境(如dev开发、test测试、prod生产)或不同团队的资源,避免互相干扰。权限控制。
2025-09-14 20:28:15
1287
1
原创 kubeadm搭建生产环境的单master多node的k8s集群
k8s环境规划:podSubnet(pod 网段) 10.20.0.0/16serviceSubnet(service 网段): 10.10.0.0/16实验环境规划:操作系统:centos7.9配置: 4G 内存/4核CPU/40G 硬盘网络:NAT:简单高效,自动化处理证书、组件配置等复杂步骤,适合测试 / 开发环境、中小型生产环境(100 节点内),以及运维资源有限的团队,主打低门槛、易维护。
2025-09-13 13:28:18
387
原创 K8s学习笔记(一):Kubernetes架构-原理-组件
K8s 的架构和原理围绕 “自动化、高可用、可扩展架构层面:控制平面决策,工作节点执行,组件间通过 apiserver 通信,etcd 保障状态可靠;原理层面:通过 “声明式 API + 控制器模式” 实现自愈,无需人工干预;核心价值:屏蔽容器底层的复杂性,让用户专注于应用本身,而非基础设施运维,支撑大规模容器集群的稳定运行。
2025-09-11 17:09:00
1392
原创 基于容器化云原生的 MySQL 及中间件高可用自动化集群项目
本次测试结果表现良好核心指标正常:TPS 约 98、QPS 约 1957,响应时间 95% 分位在 0.46 秒以内,无错误;稳定性优秀:中间结果无大幅波动,线程负载均匀;适用场景:可支撑中小型业务的 OLTP 负载(如企业内部系统、日均百万级访问的互联网应用)。若需支撑更高并发,可按上述优化方向逐步调整,每次调整后重新执行测试,对比指标变化(如 TPS 提升 20% 以上,说明优化有效)。
2025-09-09 12:36:53
1282
原创 kubeadm搭建生产环境的双master节点k8s高可用集群
配置了通知邮件相关信息(出现故障时发送警报)设置了 SMTP 服务器和超时时间定义了路由器 ID(NGINX_MASTER),用于标识当前节点。
2025-08-11 13:03:24
870
原创 jenkins+gitlab自动发布系统
enkins是一个可扩展的持续集成引擎,是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins非常易于安装和配置,简单易用。官网:Jenkins 研发人员上传开发好的代码到github代码仓库需要将代码下载到nginx服务器部署运维人员手动下载再部署运维人员使用脚本下载再部署场景2: 准备一台服务器安装jenkins静态IP(要求能上外网)主机名关闭防火墙,selinux时间同步确认openjdk1.8版本已经安装如果一切正确,可以看到以下输出查看密码文件里
2025-08-04 13:28:26
1359
原创 Prometheus+grafana
Prometheus(由go语言(golang)开发)是一套开源的监控&报警&时间序列数据库的组合。适合监控容器平台。因为kubernetes(俗称k8s)的流行带动了prometheus的发展。数据库分类:关系型 mysql,oracle,sql server,sybase,db2,access等非关系型(nosql)文档型 mongodb elasticsearch列式 hbase时序 prometheus图形数据库。
2025-08-02 13:48:18
1178
原创 Ansible自动化运维
roles(角色): 就是通过分别将variables, tasks及handlers等放置于单独的目录中,并可以便捷地调用它们的一种机制。假设我们要写一个playbook来安装管理lamp环境,那么这个playbook就会写很长。所以我们希望把这个很大的文件分成多个功能拆分, 分成apache管理,php管理,mysql管理,然后在需要使用的时候直接调用就可以了,以免重复写。就类似编程里的模块化的概念,以达到代码复用的效果。创建roles的目录结构。
2025-08-02 11:20:29
949
原创 Mysql数据库架构读写分离
Mycat 数据库中间件国内最活跃的、性能最好的开源数据库中间件!因为mycat是由java语言开发,必须使用java的运行环境才能进行启动和操作。
2025-07-28 14:22:48
1111
原创 30分钟搞懂MySQL主从复制集群搭建
Replication可以实现将数据从一台数据库服务器(master)复制到一台到多台数据库服务器(slave)默认情况下,属于复制,所以无需维持长连接。
2025-07-28 09:23:22
928
原创 keepalived高可用服务搭建
Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。因此,Keepalived除了能够管理LVS软件外,还可以作为其他服务(例如:Nginx、Haproxy、MySQL等)的高可用解决方案软件。
2025-07-24 17:19:12
809
原创 Linux: rsync+inotify实时同步及rsync+sersync实时同步
rsync的好姐妹sync 同步:刷新文件系统缓存,强制将修改过的数据块写入磁盘,并且更新超级块。async 异步:将数据先放到缓冲区,再周期性(一般是30s)的去同步到磁盘。rsync 远程同步:remote synchronousrsync的特点可以镜像保存整个目录树和文件系统可以保留原有的权限(permission,mode),owner,group,时间(修改时间,modify time),软硬链接,文件acl,文件属性(attributes)信息等。
2025-07-20 13:24:26
861
原创 Docker 入门到实践:从理论到案例的全攻略
即可看到 PHP 信息页。若在 CentOS 系统中访问不到,可检查防火墙是否开放 80 端口:sudo firewall-cmd --zone=public --add-port=80/tcp --permanent,然后重新加载防火墙规则:sudo firewall-cmd --reload。若无法访问,在 CentOS 系统中检查 5000 端口是否开放:sudo firewall-cmd --zone=public --add-port=5000/tcp --permanent,并重新加载规则。
2025-07-17 15:14:01
1040
5
原创 从原理到实战:Nginx/LVS 负载均衡与 Keepalived 高可用架构详解
在高并发业务场景中,单台服务器的性能和可靠性往往难以满足需求。负载均衡技术通过将流量分发到多台后端服务器,提升系统吞吐量;而高可用架构则通过消除单点故障,保障服务持续运行。本文将从 Nginx/LVS 的核心原理出发,结合 Keepalived 的高可用机制,详解 7 层负载均衡与双 VIP 架构的搭建过程,助力构建稳定可靠的服务集群。
2025-07-16 10:07:53
1134
原创 Linux 常用命令与 Shell 脚本实战指南:从文本处理到系统运维
文本处理是 Linux 日常操作的高频需求,grep、sed、awk 被誉为 “文本三剑客”,三者配合使用能高效处理各类文本任务。grep:文本搜索利器grep 用于在文件或输出中搜索匹配指定模式的行,支持正则表达式,是日志分析、配置文件检索的必备工具。基础用法:grep "ERROR" /var/log/syslog 搜索 syslog 中包含 “ERROR” 的行;。
2025-07-16 09:53:45
970
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅