自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 k8s存储卷 PV和PVC

/这里定义了pvc的访问模式为多路读写,该访问模式必须在前面pv定义的访问模式之中。

2023-11-09 14:12:06 3158

原创 k8s-调度约束

Kubernetes 是通过 List-Watch 的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。用户是通过 kubectl 根据配置文件,向 APIServer 发送命令,在 Node 节点上面建立 Pod 和 Container。APIServer 经过 API 调用,权限控制,调用资源和存储资源的过程,实际上还没有真正开始部署应用。这里 需要 Controller Manager、Scheduler 和 kubelet 的协助才能完成整个部署过程。

2023-11-01 16:31:16 546

原创 pod进阶

类似的,如果给容器设置了 CPU 的 limit 值但未设置 CPU 的 request 值,则 Kubernetes 自动为其设置 CPU 的 request 值 并使之与 CPU 的 limit 值匹配。就绪探测情况下的放弃 Pod 会被打上未就绪的标签。可以以整数表示,或者以10为底数的指数的单位(E、P、T、G、M、K)来表示, 或者以2为底数的指数的单位(Ei、Pi、Ti、Gi、Mi、Ki)来表示。如果 Pod 运行所在的节点具有足够的可用资源,容器可以使用超出所设置的 request 资源量。

2023-10-31 18:43:26 190

原创 pod基本概念

运行于各自容器内的进程无法直接完成网络通信,这是由于容器间的隔离机制导致,k8s中的Pod资源抽象正是解决此类问题,Pod对象是一组容器的集合,这些容器共享Network、UTS及IPC命令空间,因此具有相同的域名、主机名和网络接口,并可通过IPC直接通信。Pod资源中针对各容器提供网络命令空间等共享机制的是底层基础容器pause,基础容器(也可称为父容器)pause就是为了管理Pod容器间的共享操作,这个父容器需要能够准确地知道如何去创建共享运行环境的容器,还能管理这些容器的生命周期。

2023-10-31 16:19:56 153

原创 K8S 二进制安装

k8s集群master01:192.168.10.80 kube-apiserver kube-controller-manager kube-scheduler etcdk8s集群master02:192.168.10.20k8s集群node01:192.168.10.18 kubelet kube-proxy dockerk8s集群node02:192.168.10.19etcd集群节点1:192.168.10.80 etcd。

2023-10-31 14:19:06 275

原创 Kubernetes概述及其组件/核心组件

从 Master 节点获取自己节点上 Pod 的期望状态(比如运行什么容器、运行的副本数量、网络或者存储如何配置等), 直接跟容器引擎交互实现容器的生命周期管理,如果自己节点上 Pod 的状态与期望状态不一致,则调用对应的容器平台接口(即 docker 的接口)达到这个状态。在K8S的集群里,虽然每个Pod会被分配一个单独的IP地址,但由于Pod是有生命周期的(它们可以被创建,而且销毁之后不会再启动),随时可能会因为业务的变更,导致这个 IP 地址也会随着 Pod 的销毁而消失。K8S 的存储服务。

2023-10-30 14:43:56 205

原创 Ansible脚本进阶---playbook

在Ansible中,提供的唯一一个通用的条件判断是when指令,当when指令的值为true时,则该任务执行,否则不执行该任务。(1)Tasks:任务,即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行。(4)Handlers:处理器,当changed状态条件满足时,(notify)触发执行的操作。2.修改主机清单文件,使用主机变量定义一个变量名相同,而值不同的变量。playbooks 本身由以下各部分组成。服务安装好后,查看服务状态即可!(5)Roles:角色。

2023-10-29 22:07:22 517

原创 ansible

是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个操作,使用Ansible只需在固定的一台Ansible控制节点上去完成所有主机的操作。

2023-10-22 20:04:59 300

原创 docker之Harbor私有仓库

HarborHarbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。Harbor以 Docker 公司开源的 Registry 为基础,提供了图形管理 UI 、基于角色的访问控制(Role Based AccessControl) 、AD/LDAP 集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。

2023-10-15 18:56:49 563 1

原创 Docker consul的容器服务更新与发现

服务注册与发现服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必须要知道所有后端服务的网络位置,并配置在配置文件中。这里就会有几个问题:●如果需要调用后端服务A-N,就需要配置N个服务的网络位置,配置很麻烦●后端服务的网络位置变化,都需要改变每个调用者的配置既然有这些问题,那么服务注册与发现就是解决这些问题的。

2023-10-13 09:00:18 323 1

原创 Docker网络管理和数据管理

直接使用bridge模式,是无法支持指定IP运行docker的,例如执行以下命令就会报错//创建自定义网络#可以先自定义网络,再使用指定IP运行docker#docker1 为执行 ifconfig -a 命令时,显示的网卡名,如果不使用 --opt 参数指定此名称,那你在使用 ifconfig -a 命令查看网络信息时,看到的是类似 br-110eb56a0b22 这样的名字,这显然不怎么好记。

2023-10-12 18:55:11 115

原创 Docker之Dockerfile搭建lnmp

代码示例。

2023-10-12 17:30:12 224

原创 docker 基本操作

Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。Docker的Logo设计为蓝色鲸鱼,拖着许多集装箱。鲸鱼可看作为宿主机,集装箱可理解为相互隔离的容器,每个集装箱中都包含自己的应用程序。

2023-10-10 19:14:03 248

原创 zabbix监控

zabbix是一个基于 web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位、解决存在的各种问题。zabbix由两部分构成,zabbix server与可选组件zabbix agent。通过c/s 模式采集数据,通过b/s 模式在web端展示和配置。

2023-10-06 10:48:28 312

原创 Zookeeper集群 + Kafka集群

Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目,分布式应用程序可以基于 Zookeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。ZooKeeper 的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户Kafka 是一个分布式的基于发布/订阅模式的消息队列(MQ,Message Queue),主要应用于大数据实时处理领域。

2023-10-03 22:40:13 308

原创 ELK 企业级日志分析系统 ELFK

ELK平台是一套完整的日志集中处理解决方案,将、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。使用ELK日志文件系统的原因:日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。往往单台机器的日志我们使用grep、awk等工具就能基本实现简单分析,但是当日志被分散的储存不同的设备上。

2023-09-17 19:08:56 370

原创 GFS 分布式文件系统

GlusterFS 是一个开源的分布式文件系统。由存储服务器、客户端以及NFS/Samba 存储网关(可选,根据需要选择使用)组成。没有元数据服务器组件,这有助于提升整个系统的性能、可靠性和稳定性。MFS传统的分布式文件系统大多通过元服务器来存储元数据,元数据包含存储节点上的目录信息、目录结构等。这样的设计在浏览目录时效率高,但是也存在一些缺陷,例如单点故障。一旦元数据服务器出现故障,即使节点具备再高的冗余性,整个存储系统也将崩溃。

2023-09-17 13:40:59 113

原创 redis 配置与优化

要支持更多并发量,SQL数据库是纵向扩展,也就是说提高处理能力,使用速度更快速的计算机,这样处理相同的数据集就更快了。例如,在读写分离的MySQL数据库环境中,可以把经常访问的数据存储在非关系型数据库中,提升访问速度。关系型和非关系型数据库的主要差异是数据存储的方式。注:在 Redis 6.0 中新增加的多线程也只是针对处理网络请求过程采用了多线性,而数据的读写命令,仍然是单线程处理的。2、Redis命令处理的核心模块为单线程,减少了锁竞争,以及频繁创建线程和销毁线程的代价,减少了线程上下文切换的消耗。

2023-09-13 10:55:00 547

原创 HAM高可用配置及故障切换

当 master 出现故障时,它可以自动将最新数据的 slave 提升为新的 mas然后将所有其他的 slave 重新指向新的 master。●使用半同步复制,可以大大降低数据丢失的风险,如果只有一个slave已经收到了最新的二进制日志,MHA可以将最新的二进制日志应用于其他所有的slave服务器上,因此可以保证所有节点的数据一致性。(5)mha最后再选择完新的master之后,会再其余的slave之上执行change master的操作,指向新的master,来保证MySQL集群的健康性。

2023-09-11 14:30:00 508

原创 MySQL主从复制与读写分离

在实际的生产环境中,对数据库的读和写都在同一个数据库服务器中,是不能满足实际需求的。无论是在安全性、高可用性还是高并发等各个方面都是完全不能满足实际需求的。因此,通过主从复制的方式来同步数据,再通过读写分离来提升数据库的并发负载能力。有点类似于rsync,但是不同的是rsync是对磁盘文件做备份,而mysql主从复制是对数据库中的数据、语句做备份。

2023-09-08 08:55:08 144

原创 MySQL高阶语句(三)

在 SQL 语句使用过程中,经常会碰到 NULL 这几个字符。通常使用 NULL 来表示缺失 的值,也就是在表中该字段是没有值的。如果在创建表时,限制某些字段不为空,则可以使用 NOT NULL 关键字,不使用则默认可以为空。在向表内插入记录或者更新记录时,如果该字段没有 NOT NULL 并且没有值,这时候新记录的该字段将被保存为 NULL。需要注意 的是,NULL 值与数字 0 或者空白(spaces)的字段是不同的,值为 NULL 的字段是没有 值的。

2023-09-05 21:50:49 859

原创 Mysql高阶语句(二)

需要注意的是,子查询只能返回一列数据,如果需 求比较复杂,一列解决不了问题,可以使用多层嵌套的方式来应对。视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。AS 之后的别名,主要是为表内的列或者表提供临时的名称,在查询过程中使用,库内实际的表名 或字段名是不会被改变的。在嵌套的时候,子查询内部还可以再次嵌套新的子查询,也就是说可以多层嵌套。UPDATE 内的子查询,在 set 更新内容时,可以是单独的一列,也可以是多列。

2023-09-04 22:31:19 765

原创 Mysql高阶语句 (一)

通过 SQL 查询出来的结果,还可以对其进行分组,使用 GROUP BY 语句来实现 ,GROUP BY 通常都是结合聚合函数一起使用的,常用的聚合函数包括:计数(COUNT)、 求和(SUM)、求平均数(AVG)、最大值(MAX)、最小值(MIN),GROUP BY 分组的时候可以按一个或多个字段对结果进行分组处理。查询test表中分数大于70的或者(分数大于75并且分数小于90)的数据:(先执行大于70的数据,后有大于75或者小于90,所以数据中会有大于90的数据)DESC 是按降序方式进 行排列。

2023-09-04 21:27:36 1141

原创 MySQL的备份与恢复以及日志管理

只有那些在上次完全备份或者增量备份后被修改的文件才会被备份以上次完整备份或上次增量备份的时间为时间点,仅备份期间内的数据变化,因而备份的数据量小,占用空间小,备份速度快。每次对数据进行完整备份,即对整个数据库、数据库结构和文件结构的备份,保存的是备份完成时刻的数据库,是差异备份与增量备份的基础完全备份的备份与恢复操作都非常简单方便,但是数据存在大量的重复并且会占用大量的磁盘空间,备份的时间也很长。差异备份都会备份上一次完全备份之后的数据,可能会出现备份重复的数据,也会导致占用额外的磁盘空间。

2023-09-04 19:21:32 606 1

原创 MySQL之事务与引擎

InnoDB是聚集索引,使用B+Tree作为索引结构,数据文件是和(主键)索引绑在一起的(表数据文件本身就是按B+Tree组织的一个索引结构),必须要有主键,通过主键索引效率很高。比如说,在人员管理系统中, 要删除一个人员,即需要删除人员的基本资料,又需要删除和该人员相关的信息,如信箱, 文章等等。1、脏读(读取未提交数据):脏读指的是读到了其他事务未提交的数据,未提交意味着这些数据可能会回滚,也就是可能最终不会存到数据库中,也就是不存在的数据。而在InnoDB中,锁是逐步获得的,就造成了死锁的可能。

2023-09-04 12:34:46 463

原创 MySQL数据库之索引

目录一、索引的概念二、索引的作用三、索引的副作用四、创建索引的规则1、适合创建为索引的字段的规则2、MySQL的优化哪些字段/场景适合创建索引,哪些不适合五、索引的分类和创建1、索引的分类2、三种创建方式3、索引的创建演示1、创建普通索引(1)直接创建索引(2)通过修改表结构创建索引(3)通过创建表的方法创建普通索引2、唯一索引(1)直接创建唯一索引(2)创建表的时候创建唯一索引(3)通过修改表结构创建唯一索引3、主键索引

2023-09-01 09:05:05 4127

原创 MySQL数据库

另外还有“.ibd”和 ibdata 文件,这两种文件都是用来存放 Innodb 数据的,之所以有两种文件来存放 Innodb 的数据(包括索引),是因为Innodb的数据存储方式能够通过配置来决定是使用共享表空间存放存储数据,还是独享表空间存放存储数据。1)数据库的建立和维护功能:包括建立数据库的结构和数据的录入与转换、数据库的 转储与恢复、数据库的重组与性能监视等功能。表的集合,是存储数据的仓库,以一定的组织方式存储的相互有关的数据集合,是按照数据结构来组织、存储和管理数据的仓库。

2023-08-28 09:23:41 87

原创 Haproxy

Haproxy是一款可提供高可用性、负载均衡、及基于TCP和HTTP应用的代理的软件适用于负载大的Web站点运行在硬件上可支持数以万计的并发连接的连接请求HaProxy是可提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,是免费、快速并且可靠的一种解决方案。HAProxy非常适用于并发大(并发达1w以上)web站点,这些站点通常又需要会话保持或七层处理。HAProxy的运行模式使得它可以很简单安全的整合至当前的架构中,同时可以保护web服务器不被暴露到网络上。

2023-08-28 08:31:22 241

原创 keepalived

keepalived高可用应用(健康检查,故障切换) 节点服务器高可用HA底层基于VRRP协议实现的高可用。

2023-08-22 08:43:31 525

原创 lvs-DR模式

发送ARP请求时,Linux默认使用IP包的源IP地址(即VIP) 作为ARP请求包中的源IP地址,而不使用发送接口的IP地址,路由器收到ARP请求后,将更新ARP表项,原有的VIP对应Director的MAC地址会被更新为VIP对应RealServer的MAC地址,导致Director的VIP失效。对节点服务器进行处理,使其不响应针对VIP的ARP请求,使用虚接口lo:0承载VIP地址,设置内核参数arp_ ignore=1: 系统只响应目的IP为本地IP的ARP请求。

2023-08-18 17:05:53 539

原创 lvs负载均衡群集

● 采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的Internet连接直接回应客户机,而不再经过负载调度器。● 类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口。②、LB的负载分配依赖于主节点的分流算法,将来自客户机的访问请求分担给多个服务器节点,从而缓解整个系统的负载。①、提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载(LB)的整体性能。

2023-08-18 08:40:44 110

原创 tomcat的多实例和动静分离

在一台服务器上有多个服务,配置成全局变量,方便后面传参安装好 jdk后编译安装tomcat修改 tomcat2 中的 server.xml 文件,要求各 tomcat 实例不能有重复的端口号。

2023-08-15 21:58:24 1253

原创 nginx优化与防盗链

在连接的生命周期中,time_wait占用的资源是非常小的,而且对服务器整体性能的影响非常有限。大量的短链接频繁创建和销毁,或者大并发连接时(负载均衡),time_out连接会积累,服务器会出现大量的tome_wait状态的连接,在这种情况下需要优化处理。http1.1会有一个keepalive模式,告诉web服务器在处理完一个请求之后保持当前连接的tcp的状态为打开状态,如果当前连接有新的请求,服务端就会利用这个没有关闭的连接,继续给客户端响应,不需要再建立一个新的连接。1.确保可靠的关闭连接。

2023-08-14 11:54:29 153

原创 nginx负载均衡

并发量小,默认算法就可以满足适应条件后端web服务器处理能力有差异就用加权轮询大型并发,用ip_hash或uri_hash。第一次请求之后,会有本地缓存,而且因为hash算法的原因,请求的后台web服务器不会发生变化,可以提高访问速度,访问的是缓存,减轻了后台服务器的请求压力。ip_hash,后端web服务器数量发生变化,请求的服务器也可能会发生变化。url_hash,请求的地址发生变化,请求的服务器也可能会发生面试题反向代理就是负载均衡,要做负载均衡,看场景并发量、访问人数有多少。

2023-08-13 21:02:36 927

原创 nginx

目录nginx功能介绍静态文件服务反向代理动态内容处理SSL/TLS 加密支持虚拟主机支持URL 重写和重定向缓存机制日志记录可扩展性和灵活性nginx的主要应用场景nginx常用命令nginx另外一种安装方式nginx常用的信号符:nginx配置文件详解Nginx 是一款高性能的开源 Web 服务器和反向代理服务器,它具有以下主要功能:Nginx 可以直接提供静态文件的服务,例如 HTML、CSS、JavaScript、图像等。它能够高效地处理并响应静态文件的请求。Nginx 可以作为反向代理服务器,将

2023-08-11 18:45:47 463 1

原创 location模块与rewrite重定向

(location = 完整路径)> (location ^~ 完整路径)>(location ~,~* 正则顺序) > (location 部分起始路径) > (location /)

2023-08-10 19:05:34 187

原创 LNMP及论坛搭建

转发后台请求,转发到PHP。nginx:作为LNMP架构的前端,是一款功能强大,稳定性好的Web服务器程序,LNMP:目前成熟的企业网站的应用模式之一,指的是一套协同工作的系统和相关软件。N nignx网站服务,前端,提供前端静态页面服务,同时具有代理,转发的作用。它的作用是提供一种高效、可靠、灵活的方式来处理动态网页内容的请求,

2023-08-07 11:39:46 106

原创 web基础和http协议

网络是基于tcp/ip协议进行通行和连接的IP地址,每一台主机都有唯一的地址标识(固定的IP地址),区分用户和计算机ip地址用来通信IP地址:32位二进制数组成,不方便记忆。dns域名解析:就是把域名解析成IP地址,方便通信。

2023-08-01 18:32:44 61

原创 iptable

iptables-N 名称没有指定表名,就是默认在filter表中添加一个自定义链。

2023-08-01 15:59:00 67

原创 shell免交互

可以在expect判断之后,继续匹配expect捕获的其他内容,类似于脚本continue,表示允许继续向下执行指令。expect :捕获,捕获上一次执行命令中,是否包含指定的字符串,如果有立即返回,否则等待超时时间,自动退出。表示开启一个会话,启动一个进程,并且跟踪后续的交互信息。send 向进程发送字符串,用于模拟用户的输入,该命令不能自定回车,一般后面加一个回车键:\r或\n。只要匹配其中的一种情况,执行相应的send语句,然后expect语句。3、结尾的标记后面也不能有任何字符,包括空格。

2023-08-01 14:04:25 44

空空如也

空空如也

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

TA关注的人

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