自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 Kubernetes 弹性伸缩

进程触发类型0=>1基于事件触发KEDA1=>n基于指标(Prometheus)hpa(水平弹性伸缩)数量vpa(垂直弹性伸缩)资源HAP,全称Horizontal Pod Autoscaler,可以基于CPU利用率自动扩缩ReplicationController、Deployment和ReplicaSet中的Pod数量。除了 CPU 利用率,也可以基于其他应程序提供的自定义度量指标来执行自动扩缩。Pod自动扩缩不适用于无法扩缩的对象,比如DaemonSet(该pod数由节点数决定)。

2025-10-29 15:38:22 1198

原创 Kubernetes service管理

使用kubernetes集群运行工作负载时,由于Pod经常处于用后即焚状态,Pod经常被重新生成,因此Pod对应的IP地址也会经常变化,导致无法直接访问Pod提供的服务,Kuberetes中使用了Service来解决这一问题,即在Pod前面使用Service对Pod进行代理,无论Pod怎样变化,只要有Label,就可以让Service能够联系上Pod,把Pod lP地址添加到Service对应的端点列表(Endpoints)实现对Pod IP跟踪,进而实现通过Service访问Pod目的。

2025-10-29 15:32:36 959

原创 Kubernetes controller管理

Daemonset能够让所有(或者特定)的节点运行同一个pod。当节点加入到K8s集群中,pod会被(DaemonSet)调度到该节点上运行,当节点从K8S集群中被移除,被Daemonset调度的pod会被移除。如果删除DaemonSet,所有跟这个DaemonSet相关的pods都会被删除。如果一个DaemonSet的Pod被杀死、停止、或者崩溃,那么DaemonSet将会重新创建一个新的副本在这台计算节点上。DaemonSet一般应用于日志收集、监控采集、分布式存储守护进程等。

2025-10-29 15:23:03 786

原创 Kubernetes pod管理

文档链接:https:#kubernetes.io/zh-cn/docs/concepts/workloads/pods/Pod(豌豆英)是Kubernetes集群管理(创建、部署)与调度的最小计算单元,表示处于运行状态的一组容器。Pod不是进程,而是容器运行的环境。一个Pod可以封装一个容器或多个容器(主容器或sidecar边车容器)一个pod内的多个容器之间共享部分命名空间,例如:Net Namespace,UTs Namespace,IPCNamespace及存储资源。

2025-10-29 15:20:11 636

原创 Kubernetes 核心资源

单体服务架构所有服务进程运行在同一台主机内分布式服务架构服务进程分布于不同的主机,其中一台主机出现故障,不影响其它主机上的服务运行微服务架构使用容器化技术把分布式服务架构运行起来,并实现对不同的服务进程的高可用及快速发布等。

2025-10-29 15:17:13 990

原创 Kubernetes 管理

kubernetes集群由大量节点组成,可将节点打上对应的标签,然后通过标签进行筛选及查看,更好的进行资源对象的相关选择与匹配(YAML:仍是一种标记语言,但为了强调这种语言以数据做为中心,而不是以标记语言为重点。在kubernetes中,一般使用yaml格式的文件来创建符合我们预期期望的pod,这样的yaml文件称为资源清单文件。解决方法:只要把master上的管理文件/etc/kubernetes/admin.conf拷贝到node节点的。纯量:纯量是最基本的、不可再分的值。以下数据类型都属于纯量。

2025-10-29 15:15:00 937

原创 Kubernetes 部署

以一个简单的请求入口kubectl将创建 Pod 的请求发送给API Server。持久化状态API Server验证请求后,将 Pod 数据写入etcd。决策制定Scheduler持续监听 API Server,发现这个待调度的 Pod。它根据调度算法选择一个最优节点,并通过 API Server 将这个绑定决定写回 etcd。驱动执行: 目标节点上的Kubelet也持续监听 API Server,发现有一个 Pod 被调度到它所在的节点。实际部署Kubelet指示本地的拉取镜像并启动容器。

2025-10-29 15:09:23 862

原创 zabbix监控

Zabbix基于LNMP架构部署。

2025-10-29 14:52:25 740

原创 docker 存储

bind mount 的使用直观高效,易于理解,但它也有不足的地方:bind mount 需要指定 host 文件系统的特定路径,这就限制了容器的可移植性,当需要将容器迁移到其他 host,而该 host 没有要 mount 的数据或者数据不在相同的路径时,操作会失败。比如 busybox,它是一个工具箱,我们启动 busybox 是为了执行诸如 wget,ping 之类的命令,不需要保存数据供以后使用,使用完直接退出,容器删除时存放在容器层中的工作数据也一起被删除,这没问题,下次再启动新容器即可。

2025-10-29 14:39:54 803

原创 docker 网络

除了 none, host, bridge 这三个自动创建的网络,用户也可以根据业务需要创建 user-defined 网络。Docker 提供三种 user-defined 网络驱动:bridge, overlay 和 macvlan。overlay 和 macvlan 用于创建跨主机的网络,我们后面有章节单独讨论。新增了一个网桥,这里正好是新建 bridge 网络my_net的短 id。执行查看一下my_net"IPAM": {},},

2025-10-29 14:25:30 1166

原创 docker容器

docker 通过 cgroup 来控制容器使用的资源配额,包括 CPU、内存、磁盘三大方面,基本覆盖了常见的资源配额和使用量控制。cgroup 是 Control Groups 的缩写,是 Linux 内核提供的一种可以限制、记录、隔离进程组所使用的物理资源(如 cpu、memory、磁盘IO等等) 的机制,被 LXC、docker 等很多项目用于实现进程资源控制。cgroup 将任意进程进行分组化管理的 Linux 内核功能。

2025-10-29 13:44:56 1061

原创 docker镜像

创建dockerfileEXPOSE 80构建镜像查看现象测试#基于刚才dockerfile创建的镜像httpd:centos创建容器myweb#创建出来的容器#访问测试项目背景:java工程师需要我们给他发个带JAVA的centos要求CentOS8镜像具备vim+ifconfig+jdk8JDK的下载地址:https://www.oracle.com/java/technologies/downloads/#java8编写Dockerfile文件/myfile#配置yum源。

2025-10-29 12:43:26 927

原创 docker概述

Docker 是一个开源的应用容器引擎,最初由 dotCloud 公司开发,后捐赠给了开放容器基金会(OCI)。它基于 Go 语言实现,遵循 Apache 2.0 协议。Docker 的核心理念是“Build once, Run anywhere”,即一次构建,处处运行。Docker 是现代软件工程中不可或缺的基础设施之一。它通过容器化技术解决了传统部署的痛点,提升了开发效率与系统可维护性。掌握 Docker,不仅能优化项目部署流程,还能为构建高可用、可扩展的系统打下坚实基础。

2025-10-29 12:27:04 761

原创 ELK企业日志分析系统

ELK企业日志分析系统摘要 ELK是由Elasticsearch、Logstash和Kibana组成的开源实时日志分析平台,用于集中化管理、分析和可视化日志数据。 核心组件: Elasticsearch:分布式搜索引擎,负责存储和检索日志数据 Logstash:日志收集处理工具,支持多种数据源输入和输出 Kibana:数据可视化界面,提供图表和仪表盘展示 工作流程: 应用服务器日志 → Logstash采集 → Elasticsearch存储 → Kibana展示 该系统解决了传统日志管理低效问题,支持PB

2025-08-25 09:16:11 912

原创 集群-高可用

本文介绍了Keepalived高可用集群的实现方法。Keepalived是一个基于VRRP协议的路由软件,主要用于Linux系统的负载均衡和高可用性。文章详细讲解了VRRP协议的工作原理,通过主备模式实现网络设备故障时的透明切换。在实践部分,给出了网络拓扑规划,并演示了如何配置Keepalived实现Web服务器集群的高可用,包括主备节点的参数设置和虚拟IP的分配。配置完成后,系统能够自动检测节点状态并完成故障转移,确保服务持续可用。

2025-08-20 11:54:20 723

原创 集群-负载均衡1

集群技术将多台计算机协同工作,构建高可靠、高性能的系统。主要类型包括:负载均衡集群动态分配请求,高可用集群实现故障无缝切换,高性能计算集群并行处理复杂任务,存储集群提供分布式数据冗余,数据库集群实现读写分离。调度算法如轮询、加权轮询、最少连接、IP哈希等各有特点,需根据业务场景选择。环境初始化可通过脚本自动化部署,提高效率。集群技术通过资源整合与智能调度,显著提升系统整体能力。

2025-07-08 20:00:46 1232

原创 08.WEB服务管理—Tomcat部署

摘要: Tomcat是一个开源的轻量级Web应用服务器,主要用于Java Servlet和JSP开发。它适合中小型系统,常与Apache/Nginx配合使用(处理静态HTML)。Tomcat部署简单,可通过yum安装,默认发布目录为/var/lib/tomcat/webapps。需配置tomcat-users.xml添加管理员账户,访问8080端口可进入管理界面。测试时需创建JSP页面(如index.jsp),支持跨平台运行。Tomcat性能稳定但静态文件处理能力较弱,通常作为中间件而非独立Web服务器。

2025-06-29 20:47:53 271

原创 项目实战:PXE

PXE网络启动部署实战 PXE(预启动执行环境)是一种工业标准,允许计算机通过网络从远程服务器启动并加载操作系统,适用于大批量自动化部署。 部署流程: DHCP服务器:分配IP地址并指定TFTP服务器位置 TFTP服务器:提供引导文件(pxelinux.0)和启动菜单 文件服务器:通过HTTP提供操作系统安装文件 关键步骤: 配置DHCP服务指定TFTP服务器 准备TFTP引导文件(内核、驱动等) 设置启动菜单配置文件 挂载安装镜像作为HTTP文件源 应用场景:适用于裸机安装、批量部署和无盘工作站等场景,实

2025-06-29 20:05:09 1046

原创 08.WEB服务管理

WEB服务管理摘要 本文介绍了WEB服务器的基础概念和Apache服务配置方法。主要内容包括: WEB服务器概述:解释了WEB服务器的核心功能(接收/处理请求、返回响应等)和常见服务器软件(Apache、Nginx等)的特点及适用场景。 Apache服务配置: 安装与基本配置流程 配置文件解析(DocumentRoot、ServerRoot等关键参数) 测试方法(本地curl测试和浏览器访问) Apache操作指南: 启用Userdir功能实现用户个人主页 配置基于域名的虚拟主机(示例创建www1和www2

2025-06-27 09:39:16 830

原创 20.硬盘分区管理

Linux硬盘分区管理摘要 硬盘分区主要出于性能、安全和定制化考虑。MBR是传统分区方案,最多支持4个主分区,通过扩展分区可创建最多15个分区,但每个分区不超过2TiB。使用fdisk工具管理MBR分区时,可添加主分区或扩展分区(扩展分区不能格式化),在扩展分区内可创建逻辑分区。示例演示了创建3个主分区和1个扩展分区(含逻辑分区)的过程,当主分区已达上限时需先删除主分区才能创建扩展分区。最后需执行写入(w)命令保存分区表更改。

2025-06-26 09:47:09 672

原创 01.dhcp服务管理

DHCP(动态主机配置协议)解决了静态IP分配在大规模网络中的管理难题。文章详细介绍了DHCPv4的工作原理,包括客户端通过DHCPDISCOVER广播发起请求、服务器响应DHCPOFFER提供配置参数、客户端确认DHCPREQUEST以及最终服务器确认DHCPACK的完整交互过程。配置环节涵盖服务器端安装dhcp-server、防火墙设置、配置文件编写(定义子网、地址池、DNS等参数)以及客户端自动获取IP的配置方法。特别介绍了基于MAC地址的固定IP分配方案,通过host声明为特定设备预留固定地址。该技

2025-06-26 09:39:13 1054

原创 7.Vlan间通信

配置路由器设备物理子接口,实现不同vlan主机通信。

2025-06-08 19:43:36 262

原创 交换机console连接

在设备管理器出现com3端口之后。如果卡在连接过程中,点回车即可。

2025-06-06 09:02:30 1985

原创 6.vlan划分

本文展示了VLAN划分的配置过程。首先构建拓扑图并配置主机信息,初始测试显示不同网段主机无法通信。然后分别在两台交换机上配置端口类型和VLAN划分:S1采用进入VLAN添加接口方式,S2采用进入端口配置VLAN方式。此时测试发现所有主机仍无法通信,原因是交换机间链路默认hybrid类型。最后将S1和S2的互联端口配置为trunk类型,允许VLAN 2和3通过,再次测试确认了同一VLAN内主机可以通信,不同VLAN主机隔离。该实验验证了VLAN的基本隔离功能以及trunk链路在跨交换机VLAN通信中的关键作用

2025-06-05 21:32:13 326

原创 5.OSPF基础

本文通过一个OSPF动态路由实验,展示了如何构建网络拓扑实现HTTP和FTP服务器的数据访问。实验步骤包括:1) 设计网络拓扑并标注接口IP;2) 配置客户端和服务端IP地址;3) 部署HTTP/FTP服务器服务;4) 配置三台路由器的基本信息和接口IP;5) 启用OSPF路由协议,将各接口加入区域0;6) 最终验证路由表。实验结果显示,OSPF协议成功实现了路由器间的动态路由学习,确保了客户端与服务器间的通信可达性。该实验完整演示了OSPF协议在复杂网络环境中的配置与应用。

2025-06-05 21:27:33 363

原创 4.IP路由基础

本文摘要: IP路由基础介绍了网络层的数据包路径选择过程,包含路由概念、条目生成方式和转发原则。路由信息包括目的网络、掩码、出接口和下一跳,可通过Linux命令查看。路由条目可通过直连、静态或动态方式生成,其中直连路由优先级最高(0)。路由转发遵循最长匹配原则和特定流程。实验部分展示如何使用eNSP构建网络拓扑,配置路由器接口IP地址(如R1的10.0.13.1/24),并通过display命令验证配置。静态路由配置是构建互联IP网络的基础步骤。

2025-06-05 11:17:23 1130

原创 1.redis常用命令

Redis常用命令总结 Redis提供了多种数据类型操作命令,主要包括: 通用命令:KEYS查询键、DEL删除键、EXISTS判断键存在、EXPIRE/TTL设置和查看有效期 String字符串命令:SET/GET设置获取值、MSET/MGET批量操作、INCR/INCRBY自增、SETNX/SETEX条件设置 Hash哈希命令:HSET/HGET操作字段、HMSET/HMGET批量操作字段、HGETALL获取所有字段、HINCRBY字段自增 这些命令覆盖了Redis基本数据操作,支持单键和多键操作,包含条

2025-06-03 21:58:44 754

原创 3. 函数

本文介绍了Python函数的基本概念和使用方法。主要内容包括:1.函数定义(无参数和有参数函数);2.参数传递的四种方式(位置、关键字、默认和混合传参);3.参数打包与解包(*args元组和**kwargs字典);4.变量作用域(全局/局部变量及LEGB原则);5.特殊函数(递归函数和lambda匿名函数)。文章通过代码示例详细说明了各种函数用法,并解释了递归函数的执行原理,为Python函数编程提供了全面指导。

2025-05-29 20:51:15 288

原创 4.文件与数据格式化

本文介绍了Python中文件操作和数据格式化的主要方法。内容包括:1) 文件打开方式(open和with open);2) 文件读取方法(read、readline和readlines);3) 文件写入操作(write和writelines);4) 文件定位读写(tell和seek);5) 文件管理操作(删除、重命名、目录管理等)。特别说明了字符编码处理、二进制模式、文件指针定位等注意事项,并展示了如何使用chardet库检测文件编码。文中提供了丰富的代码示例,涵盖了日常文件处理的主要场景。

2025-05-29 13:30:54 422

原创 2.组合类型

摘要: 本文介绍了Python中四种主要组合数据类型:列表(list)、元组(tuple)、集合(set)和字典(dict)。列表是有序可修改的可重复元素序列;元组是不可修改的有序序列;集合是无序且元素唯一的数据结构;字典是以键值对存储的无序数据。文章详细说明了各种类型的创建方法、增删改查操作以及特性区别,包括列表的多维索引、排序方法,元组的不可变性,集合的去重特性等。最后还介绍了类型间的相互转换方法。

2025-05-29 13:28:01 405

原创 1.python基础

学习笔记,仅用于记录学习

2025-05-29 11:58:30 331

原创 ModuleNotFoundError: No mule named ‘xxxx‘

报错原因:大概率是因为相应没有安装module包。解决方法:运行下面相应版本的python代码即可。报错场景:使用python运行项目工具。

2023-12-23 16:48:57 503 1

原创 ERROR: Couldn‘t connect to Docker daemon at http+docker://localunixsocket - is it running?

报错原因:缺少启动docker服务的root权限。解决方法:在代码前加上 sudo即可。

2023-12-06 21:32:28 895 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除