- 博客(86)
- 收藏
- 关注
原创 Redis完整学习手册(赵老师视频精华版)
维度关系型数据库(MySQL等)NoSQL(Redis等)数据模型表、行、列,严格Schema键值对、文档、图等灵活结构ACID完整支持事务Redis支持简单事务(MULTI/EXEC)扩展方式垂直扩展为主水平扩展,天然分布式性能受限于磁盘I/O内存级读写(微秒级)适用场景复杂查询、事务、一致性要求高高并发缓存、计数器、消息队列【面试必问】Redis为什么这么快纯内存操作:数据存在内存中,读写微秒级单线程模型。
2026-06-07 20:10:01
205
原创 MySQL完整学习手册(视频精华版)
数据库(Database,简称DB)是按照特定格式存储数据的文件集合,本质上是存储在磁盘上的一堆文件。数据库管理系统(DBMS)是专门管理数据库中数据的软件,MySQL、Oracle、PostgreSQL等都属于DBMS。SQL(Structured Query Language)是操作关系型数据库的标准语言,由IBM于1970年代提出,目前所有主流关系型数据库都支持SQL。常见关系型数据库数据库特点开源、社区活跃、互联网首选Oracle商业数据库、金融/电信核心系统PostgreSQL。
2026-06-07 19:05:10
285
原创 2、K8S网络概述
Kubernetes 1.28.15 版本的网络通信架构延续了 K8S 核心设计理念,通过 CNI 插件、kube-proxy、Service、Ingress 等组件协同工作,实现了 Pod 间的高效通信、服务的稳定暴露及流量的精细化控制。该版本聚焦于网络相关组件的稳定性修复,提升了 CNI 插件调用、kube-proxy 规则更新、Network Policy 生效的可靠性。
2026-06-07 19:02:25
250
原创 1、K8S-组件介绍
Kubernetes 简称 k8s,是支持云原生部署的一个平台,起源于谷歌。谷歌早在十几年之前就对其应用,通过容器方式进行部署。k8s 本质上就是用来简化微服务的开发和部署的,关注点包括自愈和自动伸缩、调度和发布、调用链监控、配置管理、Metrics 监控、日志监控、弹性和容错、API 管理、服务安全等。
2026-05-16 11:03:25
412
原创 22、K8S-Helm
helm通过打包的方式,支持发布的版本管理和控制,很大程度上简化了Kubernetes应用的部署和管理。Helm本质就是让k8s的应用管理(Deployment、Service等)可配置,能动态生成。通过动态生成K8S资源清单文(deployment.yaml、service.yaml)。然后kubectl自动调用K8S资源部署。
2026-05-16 11:01:30
457
原创 21、K8S-HPA水平扩缩容
总的来说,从k8s v1.18开始HPA的机制已经算比较灵活了,在扩缩容识别指标上可以使用Pod的系统cpu、内存指标,也可以Pods自身暴露的自定义metrics指标,还可以支持外部的业务指标;在具体自定义实现上也提供了标准的扩展框架,还有社区其他人贡献的promesheus adapter。在扩缩容速度上也通过相对百分比和绝对 Pods数变化,可以独立控制单位时间内最大的扩容和缩容,此外还通过自定义窗口时间机制保证副本变化的稳定性。5 个 Pod。
2026-05-16 10:58:35
398
原创 20、K8S-Pod驱逐
始终设置:这是防止节点完全宕机的安全网。必须配置和:这是生产环境的黄金准则,能极大提高节点稳定性。预留值大小需根据节点规格和实际系统开销调整。理解软阈值的用途:用于需要“优雅驱逐”的场景,给应用和运维人员预留反应时间。监控驱逐事件:使用或监控平台来关注集群中的驱逐事件,它们是指标应用资源规划不合理或节点压力过大的重要信号。合理设置 Pod 的requests和limits:这是防止 Pod 被驱逐的第一道防线。Kubelet 在决定驱逐哪个 Pod 时,会优先驱逐那些实际使用量远超其。
2026-05-16 10:57:01
446
原创 19-2、K8s 三种 QoS 等级 & 与 Resources(requests_limits)的核心关联
QoS 由 Resources 配置自动生成,无手动枚举QoS字段你配好 requests/limits,K8s 自动归类成三种QoS。requests 决定调度Guaranteed/Burstable 有 requests,调度会校验节点资源;BestEffort 无 requests,调度不校验。limits 决定资源超用上限 & QoS 等级全容器有配资源但不等/不全 → Burstable;完全不配资源 → BestEffort。QoS 最终决定驱逐/杀Pod顺序(左边最先杀,右边最后杀)
2026-05-16 10:56:30
411
原创 19、K8S-优先级
第二预选比较奇怪,为什么需要假设抢占者不在node上呢,这是因为删除牺牲者操作,实际是调用了标准的DELETE API进行操作的,这是一个"优雅关闭"的操作,所以存在默认30S的退出时间,而30S内,可能会有很多变故,比如再重新调度的时候,Node服务器挂了或者有更加高优先级的pod需要抢占这个node,这些都导致了重新调度的失败,所以说,抢占者不一定会调度到对应的node上。调度器在进行节点选择时,会根据节点的优先级进行权衡,优先选择具有较高优先级的节点。)上,因为插件为这些节点设置了更高的优先级。
2026-05-14 22:20:25
279
原创 18、K8S-调度管理
*podAffinity(亲和性):**pod和pod更倾向腻在一起,把相近的pod结合到相近的位置,如同一区域,同一机架,这样的话pod和pod之间更好通信,比方说有两个机房,这两个机房部署的集群有1000台主机,那么我们希望把nginx和tomcat都部署同一个地方的node节点上,可以提高通信效率;污点是Node上设置的一个属性,通常设置污点表示该节点有问题,比如磁盘要满了,资源不足,或者该Node正在升级暂时不能提供使用等情况,这时不希望再有新的Pod进来,这个时候就可以给该节点设置一个污点。
2026-05-14 22:19:32
292
原创 17、K8S-特殊容器
Init Container就是用来做初始化工作的容器,可以是一个或者多个,如果有多个的话,这些容器会按定义的顺序依次执行,只有所有的Init Container执行完后,主容器才会被启动。一个Pod里面的所有容器是共享数据卷和网络命名空间的,所以Init Container里面产生的数据可以被主容器使用到的。
2026-05-14 22:19:00
387
原创 16、k8s-持久化存储
上面介绍的PV和PVC模式都是需要先创建好PV,然后定义好PVC和pv进行一对一的Bond,但是如果PVC请求成千上万,那么就需要创建成千上万的PV,对于运维人员来说维护成本很高,Kubernetes提供一种自动创建PV的机制,叫,它的作用就是创建PV的模板。k8s集群管理员通过创建storageclass可以动态生成一个存储卷pv供k8s pvc使用。每个StorageClass都包含字段provisioner,parameters和reclaimPolicy。
2026-05-14 22:17:53
377
原创 15、K8S-RBAC认证中心
k8s对我们整个系统的认证,授权,访问控制做了精密的设置;认证- > 授权- > 准入控制(admination controller)1.认证(Authenticating)是对客户端的认证,通俗点就是用户名密码验证2.授权(Authorization)是对资源的授权,k8s中的资源无非是容器,最终其实就是容器的计算,网络,存储资源,当一个请求经过认证后,需要访问某一个资源(比如创建一个pod),授权检查会根据授权规则判定该资源(比如某namespace下的pod)是否是该客户可访问的。
2026-05-14 22:15:14
361
原创 14、K8S-NetworkPolicy
在Kubernetes中,NetworkPolicy是一项关键功能,它允许开发者定义和控制Pod之间的网络通信。本文将深入研究Kubernetes中的NetworkPolicy,详细介绍其原理、用途,并通过实际示例演示如何使用NetworkPolicy来确保集群中的网络安全。NetworkPolicy是Kubernetes中用于定义Pod之间网络通信规则的资源对象。通过NetworkPolicy,开发者可以控制哪些Pod可以与另外哪些Pod通信,以及使用何种方式进行通信。
2026-05-13 21:27:32
384
原创 13、K8S-Job & Cronjob
Job 会创建一个或者多个 Pod,并将继续重试 Pod 的执行,直到指定数量的 Pod 成功终止。随着 Pod 成功结束,Job 跟踪记录成功完成的 Pod 个数。当数量达到指定的成功个数阈值时,任务(即 Job)结束。删除 Job 的操作会清除所创建的全部 Pod。挂起 Job 的操作会删除 Job 的所有活跃 Pod,直到 Job 被再次恢复执行。一种简单的使用场景下,你会创建一个 Job 对象以便以一种可靠的方式运行某 Pod 直到完成。
2026-05-13 21:27:01
161
原创 12、Ingress-Nginx 全局超时配置及生效方式
单应用特殊超时直接加 Ingress annotation 即可覆盖全局。无需重启Ingress控制器,配置自动热加载。
2026-05-13 21:26:18
96
原创 12、K8S-Ingress资源对象
Service对集群之外暴露服务的主要方式有两种:NotePort和LoadBalancer,但是这两种方式,都有一定的缺点:NodePort方式的缺点是会占用很多集群机器的端口,那么当集群服务变多的时候,这个缺点就愈发明显。LB方式的缺点是每个service需要一个LB,浪费、麻烦,并且需要kubernetes之外设备的支持。基于这种现状,kubernetes提供了Ingress资源对象,Ingress只需要一个NodePort或者一个LB就可以满足暴露多个Service的需求。
2026-05-13 21:25:45
473
原创 11、K8S-Secret资源对象
k8s secrets**用于存储和管理一些敏感数据,比如密码,token,密钥等敏感信息。**它把 Pod 想要访问的加密数据存放到 Etcd 中。然后用户就可以通过在 Pod 的容器里挂载 Volume 的方式或者环境变量的方式访问到这些 Secret 里保存的信息了。Secret 类似于 ConfigMap,但专门用于保存机密数据。
2026-05-13 21:18:58
598
原创 10、K8S-Configmap资源对象
Configmap 是 k8s 中的资源对象,用于保存非机密性的配置的,数据可以用 key/value 键值对的形式保存,也可通过文件的形式保存。
2026-05-10 10:21:00
345
原创 9、K8S-Service资源对象
在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。为了解决这个问题,kubernetes提供了Service资源,Service会对提供同一个服务的多个pod进行聚合,并且提供一个统一的入口地址。通过访问Service的入口地址就能访问到后面的pod服务。Service在很多情况下只是一个概念,真正起作用的其实是kube-proxy服务进程。
2026-05-10 10:19:37
365
原创 8、K8S-Statefulset控制器
第一个spec声明的是statefulset定义多少个Pod副本(默认将仅部署1个Pod)、匹配Pod标签的选择器、创建pod的模板、存储卷申请模板,第二个spec是spec.template.spec:主要用于Pod里的容器属性等配置。个体对整体无影响,所有pod都是共用一个数据卷的,部署的tomcat就是无状态的服务,tomcat被删除,在启动一个新的tomcat,加入到集群即可,跟tomcat的名字无关。数据持久化的目录也是不一样,每一个Pod都有自己独有的数据持久化存储目录。
2026-05-10 10:16:03
279
原创 7、K8S-daemonset控制器
DaemonSet 控制器能够确保 k8s 集群所有的节点都运行一个相同的 pod 副本,当向 k8s 集群中增加 node 节点时,这个 node 节点也会自动创建一个 pod 副本,当 node 节点从 集群移除,这些 pod 也会自动删除;删除 Daemonset 也会删除它们创建的 pod。
2026-05-10 10:15:27
209
原创 6、K8S-Deployment资源对象
Deployment为Pod和ReplicaSet提供了一个声明式定义(declarative)方法,用来替代以前的ReplicationController来方便的管理应用。定义Deployment来创建Pod和ReplicaSet滚动升级和回滚应用扩容和缩容暂停和继续Deployment更新Deployment表示用户对K8S集群的一次更新操作。
2026-05-10 10:14:47
358
原创 5、K8S-Pod资源对象
Pod是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。Pod(就像在鲸鱼荚或者豌豆荚中)是一组(一个或多个) 容器;这些容器共享存储、网络、以及怎样运行这些容器的声明。Pod 中的容器总是并置(colocated)的并且一同调度,在共享的上下文中运行。Pod 所建模的是特定于应用的 “逻辑主机”,其中包含一个或多个应用容器, 这些容器相对紧密地耦合在一起。在非云环境中,在相同的物理机或虚拟机上运行的应用类似于在同一逻辑主机上运行的云应用。
2026-04-27 22:38:23
366
原创 4、K8S-namespace资源对象
Kubernetes 支持多个虚拟集群,它们底层依赖于同一个物理集群。这些虚拟集群被称为命名空间。命名空间namespace是k8s集群级别的资源,可以给不同的用户、租户、环境或项目创建对应的命名空间,例如,可以为test、devlopment、production、deployment环境分别创建各自的命名空间。Finalizers 是 Kubernetes 中用于资源清理和删除顺序控制的重要机制。它们确保资源在删除之前完成所有必要的操作,避免资源泄漏或不一致的状态。
2026-04-27 22:37:30
335
原创 超详细 Kubectl 完整命令手册(生产级、全分类、带参数解释+实操示例)
注意:文档中涉及的远程 YAML 文件 URL(https://xxx/deploy.yaml)存在解析失败问题,可能是链接无效或不支持的类型,建议替换为实际可用的 YAML 文件地址后再执行相关命令。K8s 资源默认隔离在命名空间,集群级资源(node/pv)无命名空间。幂等操作,重复执行无报错,优先使用。直接编辑集群内运行配置,实时生效。
2026-04-25 17:37:34
265
原创 1、K8S-单Master集群部署-OpenEuler24.03
无固定比例,需结合集群规模、工作负载及监控数据动态规划。小型集群可轻量配置,中大型需HA及独立etcd,超大规模建议托管方案。定期性能调优是关键。存。- 可单master,无需HA,etcd可与master共置(但建议SSD磁盘)。中型集群(10-50 nodes)Master:4-8核CPU,8-16GB内存。建议HA部署(3 masters),etcd独立部署并使用SSD。大型集群(50+ nodes)Master:8+核CPU,16+GB内存。
2026-04-24 19:04:34
518
6
原创 Cisco Packet Tracer 8.0 上的 VLAN 综合实验报告
二层广播域的逻辑划分工具,将物理上相连的局域网,在逻辑上划分为多个相互独立的广播域,每个 VLAN 对应一个广播域。核心作用:隔离广播风暴:广播包仅在所属 VLAN 内传播,减少网络带宽占用(如办公网 VLAN 的 ARP 广播不会影响生产网 VLAN)。增强网络安全性:不同 VLAN 的终端二层隔离,避免未授权访问(如财务 VLAN 与员工办公 VLAN 隔离)。
2026-04-23 21:20:16
462
原创 Cisco Packet Tracer 静态路由全网互通实验及详细教学文档,包括基础常识、实验信息、IP 地址规划和分步操作流程
故障现象原因解决方法连线🔴红色接口没开门,漏敲进入对应接口敲 no shutdownPCping 网关不通PCIP / 网关填错,或者路由器接口没开核对 IP,开启路由器接口PCping 对方 PC 超时,数据包到 R1 就断R1 缺少去往目标网段静态路由补全 R1 静态路由ping 超时失败ping 成了网段号(192.168.30.0),不是 PC 真实 IPping 对方 PC 的 192.168.30.2路由不生效下一跳 IP 写错、不是相邻路由器 IP。
2026-04-22 21:11:27
524
原创 10、Docker容器故障排查
通过以上系统化的排查步骤,可有效定位和解决Docker容器的常见问题。建议结合监控工具(如Prometheus+Grafana)建立长期监控,对容器健康状态、资源使用和响应时间进行持续跟踪。检查并关闭SELinux/AppArmor限制。配置自动扩缩容(结合K8s等编排工具)检查挂载路径是否包含特殊字符或软链接。
2026-04-21 21:02:24
290
原创 8、Docker镜像瘦身
是一个实用的工具,可以帮助减少 Docker 镜像的体积,但在使用时需要注意其局限性。结合多阶段构建等 Docker 原生功能,可以更好地优化镜像的体积和性能。
2026-04-21 21:01:49
466
原创 6、Docker常用配置
查看 docker 所有网络网络模式bridge : 桥接 docker 默认none : 不配置网络host : 和宿主机共享网络container: 容器网络连通 (用的少, 局限性很大)测试# 我们直接启动的容器默认是带 --net bridge, 这就是我们的docker0# docker0 ,不支持域名连接, 需要配置 --link# 自己创建一个网络--driver bridge # 使用网络模式。
2026-04-20 19:53:04
410
原创 5、Docker存储与网络
挂载主机目录(Bind mounts)数据卷容器(Data Volumes)数据卷可以在容器之间共享和重用对数据卷的修改会立马生效对数据卷的更新不会影响镜像卷会一直存在,至到没有容器使用当Docker进程启动时,会在主机上创建一个名为docker0的虚拟网桥(交换机),此主机上启动的docker容器会连接到这个虚拟网桥上。虚拟网桥的工作方式和物理交换机类似,这样主机上的所有容器就通过交换机连接在了一个二层网络中。
2026-04-20 19:52:32
334
原创 4、Docker私有仓库
Harbor是由VMware公司开源的企业级的Docker Registry管理项目,Harbor主要提供Dcoker Registry管理UI,提供的功能包括:基于角色访问的控制权限管理(RBAC)、AD/LDAP集成、日志审核、管理界面、自我注册、镜像复制和中文支持等。Harbor的目标是帮助用户迅速搭建一个企业级的Docker registry服务。基于角色的访问控制(Role Based Access Control)
2026-04-20 19:52:01
422
原创 3、Dockerfile文件
Dockfile文件是镜像生成的一种方式。Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 快速创建自定义的镜像。Dockerfile文件中的每一个命令都会创建镜像的一层。
2026-04-20 19:51:04
413
原创 D在 Alpine 容器中手动搭建 Discuz 全攻略(包含镜像一键部署脚本,可直接用)
通过一键脚本自动配置国内镜像源,加速下载。自动安装 Docker 并配置加速。自动构建包含最新版 Discuz!X5.0 的 Alpine 镜像。自动启动容器并引导你完成安装。自动提交最终镜像并导出 tar 文件。如何修改数据库密码?进入容器后执行:mysqladmin -u root -p'旧密码' password '新密码'
2026-04-20 09:57:53
430
原创 扣自用Alpine容器搭建Discuz全攻略-小白友好版
Docker就像是一个"集装箱系统"。你可以把论坛、数据库、应用程序全部装进一个独立的"集装箱"(容器)里,这个箱子可以在任何安装有 Docker 的电脑上运行,不用担心环境不一致的问题。就像海运的集装箱,无论在哪个港口,用什么起重机,打开后里面的货物都是完好无损的。Alpine是一个极其轻量级的 Linux 发行版,整个系统只有 5MB 左右。它就像一个小小的"毛坯房",非常适合用来自己搭建环境。相比 Ubuntu 或 CentOS,Alpine 更小、更快、更省资源。docker run。
2026-04-17 23:05:01
416
原创 在Alpine 搭建 WordPress
Docker就像是一个“集装箱系统”。你可以把网站、数据库、应用程序全部装进一个独立的“集装箱”(容器)里,这个箱子可以在任何安装有 Docker 的电脑上运行,不用担心环境不一致的问题。Alpine是一个极其轻量级的 Linux 发行版,整个系统只有 5MB 左右。它就像一个小小的“毛坯房”,非常适合用来自己搭建环境。docker run:创建并启动一个新容器。-it:两个参数的合体:-i(interactive):保持输入流打开,让你可以敲命令。-t(tty):分配一个虚拟终端,让你看到输出。
2026-04-17 22:37:18
417
原创 2、Docker命令与镜像、容器管理
docker镜像是docker的核心概念之一,它是用来构建和运行docker容器的模板。类似于虚拟机镜像,可以理解为一个面向Docker引擎的只读模板,包含了文件系统。例如:一个镜像可以包含一个完整的Ubuntu操作系统环境,可以把它称为一个Ubuntu镜像。镜像也可以安装了Apache应用程序,可以把它称为一个Apache镜像。镜像是创建Docker容器的基础。
2026-04-16 16:13:23
468
原创 1、Docker概述与安装
Docker,翻译过来就是码头工人Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可抑制的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器完全使用沙盒机制,相互之间不会存在任何接口。几乎没有性能开销,可以很容易的在机器和数据中心运行。最重要的是,他们不依赖于任何语言、框架或者包装系统。Docker是dotCloud公司开源的一个基于LXC的高级容器引擎,源码托管在Github上,基于go语言并且遵从Apache2.0协议开源。GitHub地址。
2026-04-16 16:12:08
379
【计算机网络技术】基于OSI与TCP/IP模型的网络架构:IP地址分类与子网划分在交换机及路由器配置中的应用
2026-04-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅