自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 k8s之集群调度

比如 node01 的 CPU 和 Memory 使用率 20:60,node02 的 CPU 和 Memory 使用率 50:50,虽然 node01 的总使用率比 node02 低,但 node02 的 CPU 和 Memory 使用率更接近,从而调度时会优选 node02。(12)kubelet 是在 Node 上面运行的进程,它也通过 List-Watch 的方式监听(Watch,通过https的6443端口)APIServer 发送的 Pod 更新的事件。除了知道 Pod 的副本数量,副本内容。

2023-11-01 22:08:52 67

原创 k8s之pod进阶---资源限制与探针

cpu的单位如果为0.5,表示该容器能获取的一个Cpu的一半,(类似于Cgroup对cpu的资源的时间分片),表达式0.1等价于表达式100m(毫核),表示每1000毫秒内容器可以使用cpu时间总量为100号秒。容器中的程序要运行,肯定是要占用一定资源的,比如cpu和内存等,如果不对某个容器的资源做限制,那么它就可能吃掉大量资源,导致其它容器无法运行。如果端口打开,则诊断被认为是成功的。k8s中会根据预选和优选的策略,就是预选和优选cpu和内存大小,会把不符合的首先剔除,然后再选能保证最小基本运行的。

2023-11-01 22:05:59 64

原创 docker之Harbor私有仓库

总共分为7个容器运行,通过在docker-compose.yml所在目录中执行 docker-compose ps 命令来查看, 名称分别为:nginx、harbor-jobservice、harbor-ui、harbor-db、harbor-adminserver、registry、harbor-log。如果进入 Harbor.cfg,只会在第一次启动 Harbor 时生效,随后对这些参数的更新,Harbor.cfg 将被忽略。之后, 此设置将被忽略,并且应在 UI 中设置管理员的密码。

2023-10-31 21:42:20 88

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

后端服务A-N可以把当前自己的网络位置注册到服务发现模块,服务发现就以K-V的方式记录下来,K一般是服务名,V就是IP:PORT。服务发现模块定时的进行健康检查,轮询查看这些后端服务能不能访问的了。server-leader是所有server节点的老大,它和其它server节点不同的是,它需要负责同步注册的信息给其它的server节点,同时也要负责各个节点的健康监测。在server模式下,功能和client模式相似,唯一不同的是,它会把所有的信息持久化到本地,这样遇到故障,信息是可以被保留的。

2023-10-31 21:36:58 36

原创 docker网络管理与资源控制

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

2023-10-31 21:30:17 22

原创 docker-compose

depends_on 在使用Compose时,最大的好处就是少打启动命令,但一般项目容器启动的顺序是有要求的,如果直接从上到下启动容器,可能会因为容器依赖问题而启动失败。unless-stopped,在容器退出的容器时总是重启容器,但是不考虑在 Docker 守护进程启动时就已经停止了。

2023-10-09 12:06:37 73

原创 dockerfile 安装lnmp

安装php 注意需要在安装好mysql的前提下安装。Nignx dockerfile内容。用dockerfile安装nignx。出现问题可以试着重启docker。

2023-10-09 11:47:53 42

原创 docker 基本操作

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

2023-10-09 11:37:48 180

原创 Redis群集

●主从复制:主从复制是高可用Redis的基础,哨兵和集群都是在主从复制基础上实现高可用的。主从复制主要实现了数据的多机备份,以及对于读操作的负载均衡和简单的故障恢复。缺陷:故障恢复无法自动化;写操作无法负载均衡;存储能力受到单机的限制。●哨兵:在主从复制的基础上,哨兵实现了自动化的故障恢复。缺陷:写操作无法负载均衡;存储能力受到单机的限制;哨兵无法对从节点进行自动故障转移,在读写分离场景下,从节点故障会导致读服务不可用,需要对从节点做额外的监控、切换操作。

2023-10-09 11:34:36 17

原创 NoSQL之 Redis配置与优化

持久化的功能:Redis是内存数据库,数据都是存储在内存中,为了避免服务器断电等原因导致Redis进程异常退出后数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘;everysec是前述两种策略的折中,是性能和数据安全性的平衡,因此是Redis的默认配置,也是我们推荐的配置。缺点:RDB文件的致命缺点在于其数据快照的持久化方式决定了必然做不到实时持久化,而在数据越来越重要的今天,数据的大量丢失很多时候是无法接受的,因此AOF持久化成为主流。

2023-10-09 11:31:25 18

原创 Redis 数据类型

redis 127.0.0.1:6379> zrangebyscore myzset -inf +inf limit 2 3 #-inf表示第一个成员(位置索引值最低的,即0),+inf表示最后一个成员(位置索引值最高的),limit后面的参数用于限制返回成员的值,2表示从位置索引等于2的成员开始,取后面3个成员。1)可以用于一个大型在线游戏的积分排行榜。每当玩家的分数发生变化时,可以执行ZADD命令更新玩家的分数,此后再通过ZRANGE命令获取积分TOP10的用户信息。

2023-10-09 11:28:00 15

原创 MySQL-MHA

MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA 的出现就是解决MySQL 单点的问题。MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。· 从宕机崩溃的master 保存二进制日志事件(binlog events);· 识别含有最新的更新 slave 日志。

2023-10-09 09:58:06 15

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

读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。

2023-10-09 09:52:48 21

原创 MySQL存储过程

存储过程与函数的直接效果类似,只不过存储过程,封装的是一组sql语句。mysql数据库存储过程是一组为了完成特定功能的sql语句的集合。存储过程这个功能时从5.0版本才开始支持的,它可以加快数据库的处理速度,增强数据库在实际应用中的灵活性。存储过程在使用过程中是将常用或复杂的工作预先使用sql语句写好,并用一个指定的名称存储起来,这个过程编译和优化后存储在数据库服务器中,当需要使用该存储过程时,只需要调用它即可。

2023-09-03 13:59:30 57

原创 MySQL高阶查询语句

通过 SQL 查询出来的结果,还可以对其进行分组,使用 GROUP BY 语句来实现 ,GROUP BY 通常都是结合聚合函数一起使用的,常用的聚合函数包括:计数(COUNT)、 求和(SUM)、求平均数(AVG)、最大值(MAX)、最小值(MIN),GROUP BY 分组的时候可以按一个或多个字段对结果进行分组处理。需要注意的是,第一条记录的 位置偏移量是 0,第二条是 1,以此类推。AS 之后的别名,主要是为表内的列或者表提供临时的名称,在查询过程中使用,库内实际的表名 或字段名是不会被改变的。

2023-09-03 13:55:57 101

原创 MySQL数据备份与恢复

只有那些在上次完全备份或者增量备份后被修改的文件才会被备份以上次完整备份或上次增量备份的时间为时间点,仅备份期间内的数据变化,因而备份的数据量小,占用空间小,备份速度快。但恢复时,需要从上一次的完整备份开始到最后一次增量备份之间的所有增量依次恢复,如中间某次的备份数据损坏,将导致数据的丢失,每次增量备份都是在备份在上一次完成全备份。每次增量备份都是备份在上一次完全备份或者增量备份之后的数据,不会出现重复数据的情况,也不会占用额外的磁盘空间,恢复数据,需要按照次序恢复完全备份和增量备份的数据。

2023-09-03 13:36:17 221

原创 MySQL事物和存储引擎

那么,操作前一个事务的用户会发现表中还有没有修改的数据行,就好象发生了幻觉一样。动态表包含可变字段,记录不是固定长度的,这样存储的优点是占用空间较少,但是频繁的更新、删除记录会产生碎片,需要定期执行 OPTIMIZE TABLE 语句或 myisamchk -r 命令来改善性能,并且出现故障的时候恢复相对比较困难。MySQL中的数据用各种不同的技术存储在文件中,每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力,这些不同的技术以及配套的功能在MySQL中称为存储引擎。

2023-09-03 13:22:46 72

原创 MySQL----索引

需要满足最左原则,因为select语句的 where条件是依次从左往右执行的,所以在使用select 语句查询时where条件使用的字段顺序必须和组合索引中的排序一致,否则索引将不会生效。create table 表名 (列名1 数据类型,列名2 数据类型,列名3 数据类型,index 索引名 (列名1,列名2,列名3));索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于c语言的链表通过指针指向数据记录的内存地址)。如果是用组合索引创建,则列值的组合必须唯一。

2023-09-03 13:16:45 83

原创 MySQL数据库基本操作

INSERT INTO 表名(字段1,字段2[,...]) VALUES (字段1的值,字段2的值,...);#主键一般选择能代表唯一性的字段,不允许取空值(NULL),值也不允许重复,主键字段的值是唯一的。#USAGE权限只能用于数据库登陆,不能执行任何操作;

2023-09-03 13:10:32 67

原创 MySQL数据库初体验

1、SQL Server (微软)2、Oracle (甲骨文)3、DB2 (IBM公司)4、MYSQL (甲骨文公司收购)

2023-09-03 12:48:12 39

原创 Haproxy搭建Web集群

--------------------参数说明------------------------------------------------------------------------------------------------参数说明---------------------------------------------------------------------------Nginx的upstream模块虽然也支持群集功能,但是对群集节点健康检查功能不强,性能没有Haproxy好。

2023-09-03 12:44:12 41

原创 Nginx:网站服务

nginx:一个高性能、轻量级的web服务软件1、稳定性高(没有apache稳)2、系统资源消耗低(处理http请求的并发能力很高,单台物理服务器可以处理3万到5万个并发请求) 稳定:一般在企业中,为了保持服务器稳定,并发量的设置在2万个左右,占用内存2M左右nginx的主要功能:1、静态文件服务:nginx可以直接提供静态文件的服务HTML,CSS,JAVA,Script,图片等,能够高效的处理并且响应静态文件的请求。

2023-08-21 11:15:42 87

原创 LVS之keepalived

总结:Keepalived 软件就是通过VRRP协议来实现高可用功能。应用场景:企业应用中,单台服务器承担应用存在单点故障的危险单点故障一旦发生,企业服务将发生中断,造成极大的危害VRRP通信原理:VRRP就是虚拟路由冗余协议,它出现就是为了解决静态路由的单点故障。VRRP是通过一种竞选的的一种协议机制来将路由交给某台VRRP路由器。

2023-08-21 11:13:24 640

原创 LVS负载均衡群-DR模式

arp_announce=2系统不使用响应数据的源IP地址 (VIP) 来作为本机进行的arp请求报文的源IP地址址,而是使用发送报文的物理网卡的IP地址作为arp请求报文的的源ip地址,这样可以防止网关路由器接收到的源IP地址为VIP的arp请求报文后的,又去更新arp缓存表,会导致外网再去发送请求时,数据包到时候到达不了调度器。(1)客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间。

2023-08-21 11:06:17 76

原创 LVS负载均衡集群和NAT模式群集部署

9、作用:1、主要用于多服务器的负载均衡 2、工作在网络层,可实现高性能,高可用的服务集群技术 3、廉价,可以把许多低性能服务器组合在一起形成一个超级服务器 4、易用,配置简单,有多重负载均衡的方式 5、稳定可靠,即使在集群的服务器中某台服务器无法正常工作,也不会影 响整体效果 6、可扩展性好。ip隧道(TUN模式):仅是访问请求的入口,响应数据是不经过调度器的,但是需要大量的公网ip,还需要专用的ip隧道(成本太高)数据转发受ip隧道的额外影响。2、工作在网络层,可实现高性能,高可用的服务集群技术。

2023-08-21 10:54:58 34

原创 Tomcat部署与优化

2、conneclor会把请求转发到container处理---- engine(虚拟主机,你要访问哪一个虚拟主机) ----host((主机站点包含要请求页的位置webapps)------>从contex,就是index.jsp里面的内容。-->wrapper(servlet,响应解析处理请求)-------jsp翻译官---------页面展示。jsp容器-----》html页面当中的java代码翻译-------》执行---------------》展示结果 通常 <%,开头 %>,结尾。

2023-08-21 10:40:14 52

原创 nginx负载均衡

四层代理无法获取http请求当中的URL信息,只能对tcp/udp数据包进行转发,流量转发,stream,stream是不能配置在http模块中,配置方法:stream模块,是不能写在http模块中,配置在全局当中,是属于一个独立的模块,不属于其他任何模块。根据这个指标,来确定负载均衡的算法并发小:默认轮询或者加权轮询,配合最小连接数使用即可. 高并发: ip_hash或者ur_hash来实现,访问一次之后,就不会再切换后端web服务器,下一次访问就是缓存,速度快,后台web服务器请求的压力,也会变小。

2023-08-21 10:33:32 831

原创 nginx的location与rewrite作用与用法

rewrtie的语法 rewrite < regex > < repTacemnet > [flag] rewrite :开始重定向 regex: 正则匹配的规则 replacemnet: 表示跳转后的内容,你要重定向的url flag:标志位: permanent:永久重定向: 返回码301 redirect:临时重定向,显示的返回码: 302。生产中location匹配规则: 1、location = / {} 直接匹配根网站,通过域名访问网站首页是最多的,使用精确匹配,可以加快处理速度,首页。

2023-08-21 10:30:39 172

原创 nginx优化与防盗链

1、隐藏版本号:方法一:修改配置文件 在http模块中,加入一个命令: server_tokens off;方法二:在源码包里改 /opt/nginx-1.22.0/rc/core/nginx.h #define NGINX VERSION “1.1.1" #修改版本号 #define NGINX VER "IS" NGINX VERSION #修改服务器类型要配置好之后,重新编译安装 server tokens on;

2023-08-21 10:26:21 75

原创 LNMP搭建

-with-jpeg-dir: 指定JPEG库的路径,用于GD库对JPEG格式图片的处理。这是个缩写 L Linux系统,操作系统、N nginx网站服务,前端,提供前端的静态页面服务,同时具有代理,转发的作用,转发后端请求,转发到php,nginx没有处理动态资源的功能,他有可以支持转发动态请求的模块 M mysql关系型数据库,保存用户的账号和密码 p PHP 动态页面的编程语言,负责解释动态页面文件,和nginx以及数据库协同工作,PHP的主要作用就是web开发,前端开发。

2023-08-18 11:34:13 585

原创 web基础与http协议

http协议: httpd程序名,apache服务名 http协议,超文本传输协议,互联网上应用最广泛的协议之一 基于tcp协议的应用层的传输协议,面向用户 客户端和服务端之间进行数据传输的一种规则 工作流程: 1、客户端和服务端进行tcp连接 三次握手----建立连接 2、客户端发送http请求,服务端接收到http请求之后,响应客户端的请求 3、socket接口,通过端口进行通信 4、响应达到客户端,解析的过程(浏览器),用户查看,使用,访问 5、访问,使用,查看,结束之后,断开连接,四次挥手。

2023-08-18 11:28:20 93

原创 Firewalld防火墙

firewall-cmd --add-service=http --add-service --add-service=ftp --permanent //添加永久配置。external:外部区域,只允许ssh和dhcpv6这两个预定义服务的流量可以传入,其余都是拒绝的,如果通过此区域转发的ipv4流量可以进行地址伪装。public:公共区域,也是默认区域,只允许ssh和dhcpv6这两个预定义服务的流量可以传入,其余都是拒绝。永久配置方法:(防火墙一般不重启,所以用reload!

2023-08-18 11:24:58 66

原创 iptables防火墙

2、报文流向: 流入本机:prerouting------iuput------用户进程(httpd服务)-----请求-----响应------数据要返回用户 流出本机:httpd-----响应-------output------postrouting(地址转换)-----用户 转发:数据包进来,肯定不是同一网段,路由转发-----forward---数据包出去,不允许转发,数据包直接丢弃。iptables的备份与还原 1、写在命令行当中都是临时配置 2、把我们的规则配置在服务当中,形成永久生效。

2023-08-18 11:23:12 56

原创 shell编程免交互

第一种写法: expect "密码" {send"abc123\r"} 第二种写法 expect"密码" send" abc123\r" 第三种写法 expect { "密码1"{send"abc123\r"} "密码2"{send"abc123\r"} "密码3"{send"abc123\r"}exp_continue 可以在expect判断之后,继续匹配expect捕获的其他内容,类似于脚本中的continue,表示允许继续向下执行指令。3、结尾的标记后面也不能有任何字符,包括空格。

2023-08-18 11:12:39 54

原创 shell脚本三剑客之awk

0:打印全部内容 $n:处理行的第几列 NR:处理的行的行号 NF:处理当前行的字段个数,$NF就表示最后一个字段 FS:列分隔符,指定文本的分隔符,和F作用一致,-F:FS=“:” OFS:输出文本的分隔符 RS:指定分隔符为回车 内置变量$n要加$,其他的内置变量不能加$,更不能用引号,也不能用括号,否则会被当成字符串来处理。awk 选项'模式或者条件{操作}'文件 -F:指定分隔符,如果是空格,不需要加F -v:变量赋值 操作:默认就是打印。awk结合数组来进行使用 在awk中,怎么来定义数组。

2023-08-18 11:06:10 57

原创 Shell编辑之文本处理器(sed)

显示:执行完之后,把执行结果打印,如果要改变生效,模式空间被修改的内容会写入到指定的文件当中,指示操作,但是不最终写入文件,只展示结果,展示完之后,模式空间的数据会立即删除。执行:在模式空间,根据读取的文本内容,按行执行,除非指定行号,否则会遍历所有行,依次执行,从上往下执行。-f 指定脚本文件来进行处理输入的文件内容,把命令写在脚本里,用脚本里的命令来处理第二个文件里面的内容。cat 文件名 | sed 处理------中型文件,大型文件还是先分割的好。2、应用基础正则表达式进行打印(以root为开头)

2023-08-18 10:51:52 48

原创 Shell编程之正则表达式

{n \ } #匹配前面的字符=n次 n次必须要连续出现 \ {m,n \ } #匹配前面的字符至少m次,至多n次 \ {,n \ } #匹配前面的字符至多n次,<=n 只要在范围内都算,除非没有 \ {n, \ } #匹配前面的字符至少n次。shell正则表达式由一类特殊字符以及文本字符所编写的一种模式,处理文本当中的内容,其中的一些字符不表示字符的字面含义表示一种控制或者通配的功能。*表示匹配前面的字符任意次,0次也行,无数次也行,有多少我匹配多少,没有也行,贪婪模式。

2023-08-18 10:41:20 978

原创 shell脚本三剑客之grep

e 逻辑或 ,可以匹配多个条件 可以实现多个选项间的逻辑关系,可以跟多个条件。-c 统计连续重复的行的次数,并且合并重复的行并打印,不会改变文件的内容。-A 跟数字 匹配到内容行后,在向下展示几行,包含匹配到的行。-f 根据两个文件的内容进行匹配,匹配两个文件中相同的内容。-m 多个匹配的话,可以限定显示的行数,匹配几次之后停止。-o 输出的文件名,将排序后的结果转存到指定的文件。-u 显示仅出现一次的行,包括不连续的重复行。-d 仅显示重复出现的行,必须是连续的重复行。

2023-08-18 10:30:53 35

原创 shell数组

索引下标后面的步长,是从当前的索引下标的位置,包含自己的位置,往后走几位,这里指的都是索引位置,不是对应的元素值。abc (20 10 60 40 50 30) 从小到大 两个相邻的数来比 大的往右走,小的往左走。数组:数字组成的组,组里既可以init类型,string,字符串。索引位置为空可以是追加,如果索引位置有值,就是替换。可以是同一种,也可以是不同的数据类型组成的元素集合。怎么查看数组的长度,或者有多少个元素。依次比,小的都往前走,大的都往后移。临时替换,原数组的值是不会变换的。

2023-08-18 10:25:55 21

原创 shell脚本之函数

在shell中,调用函数可以传递参数,位置变量来传参,我们在函数内部可以定义位置变量。return 作用在函数内部,在shell中return一般就是判断函数的执行情况。函数库:函数库中只包含函数定义,脚本中既包含调用函数的方法,也可以有执行代码。在shell脚本中,return的返回值默认就是0或者非0的返回码。exit:作用于整个脚本,立即终止,没有返回码,脚本会立刻停止运行。函数可以将大的工程分割成若干小的功能模块,可以提高代码的可读性。函数在shell中仅在当前的shell环境中有效。

2023-07-17 21:13:27 45 1

空空如也

空空如也

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

TA关注的人

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