自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 list-watch集群调度

比如 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 16:35:01 864

原创 pod进阶

PS:在买硬盘的时候,操作系统报的数量要比产品标出或商家号称的小一些,主要原因是标出的是以 MB、GB为单位的,1GB 就是1,000,000,000Byte,而操作系统是以2进制为处理单位的,因此检查硬盘容量时是以MiB、GiB为单位,1GiB=2^30=1,073,741,824,相比较而言,1GiB要比1GB多出1,073,741,824-1,000,000,000=73,741,824Byte,所以检测实际结果要比标出的少一些。就绪探测情况下的放弃 Pod 会被打上未就绪的标签。

2023-11-01 16:32:49 144

原创 pod详解

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

2023-11-01 16:31:58 109

原创 yaml文件详解

targetPort 是 Pod 的端口,从 port 或 nodePort 来的流量经过 kube-proxy 反向代理负载均衡转发到后端 Pod 的 targetPort 上,最后进入容器。kind: Deployment #定义资源的类型/角色,deployment为副本控制器,此处资源类型可以是Deployment、Job、Ingress、Service等。name: nginx-deployment #定义资源的名称,在同一个namespace空间中必须是唯一的。

2023-11-01 16:31:28 131

原创 陈述式和声明式

/为deployment的nginx创建service,并通过Service的80端口转发至容器的80端口上,Service的名称为nginx-service,类型为NodePort。●externalName:将service名称映射到一个DNS域名上,相当于DNS服务的CNAME记录,用于让Pod去访问集群外部的资源,它本身没有绑定任何的资源。也可以是资源类型,如pod;//处于动态监听 pod 状态,由于使用的是滚动更新方式,所以会先生成一个新的pod,然后删除一个旧的pod,往后依次类推。

2023-11-01 16:30:50 71

原创 kubeadm安装

-pod-network-cidr:pod资源的网段,需与pod网络插件的值设置一致。------------------------------ 部署 Dashboard -------------------------------------------------- 所有节点安装kubeadm,kubelet和kubectl -------------------------------------------------- 环境准备 ------------------------------

2023-11-01 16:28:03 66

原创 k8s简介以及各个组件

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

2023-10-23 14:09:18 336

原创 Ansible 的脚本 --- playbook 剧本

roles一般用于基于主机构建服务的场景中,但也可以用于构建守护进程等场景中。##Ansible在执行完某个任务之后并不会立即去执行对应的handler,而是在当前play中所有普通任务都执行完后再去执行handler,这样的好处是可以多次触发notify,但最后只执行一次对应的handler,从而避免多次重启。(4)在每个角色命令的目录中分别创建files、handlers、tasks、templates、meta、defaults和vars目录,用不到的目录可以创建为空目录,也可以不创建。

2023-10-23 14:08:03 196

原创 Ansible

ansible dbservers -m file -a 'path=/opt/fstab.link src=/opt/fstab.bak state=link' #设置/opt/fstab.link为/opt/fstab.bak的链接文件。Ansible是基于模块工作的,它只是提供了一种运行框架,它本身没有完成任务的能力,真正执行操作的是Ansible的模块, 比如copy模块用于拷贝文件到远程主机上,service模块用于管理服务的启动、停止、重启等。

2023-10-12 18:23:31 212

原创 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-12 18:22:55 334

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

服务部署简单,只有一个可运行的二进制的包。后端服务A-N可以把当前自己的网络位置注册到服务发现模块,服务发现就以K-V的方式记录下来,K一般是服务名,V就是IP:PORT。server-leader是所有server节点的老大,它和其它server节点不同的是,它需要负责同步注册的信息给其它的server节点,同时也要负责各个节点的健康监测。------------------------------------ consul 部署 ------------------------------------

2023-10-10 09:54:55 107

原创 docker-compose搭建lnmp

dockerfile文件同dockerfile搭建lnmp一样。#定义docker-compose版本,可以是2 或 3。#指定Dockerfile文件所在位置。#使用dockerfile来构建镜像。#使用services定义服务。#第一个service。#设置网络为自定义网络。

2023-10-09 08:49:33 71

原创 扩展dockerfile镜像实例

---------------------------mysql镜像---------------------------------------------------------Systemctl镜像------------------------------------------------------------构建SSH镜像------------------------- a。----------------nginx镜像------------------------------

2023-10-09 08:45:43 48

原创 dockerfile搭建lnmp

上传 nginx-1.12.0.tar.gz、wordpress-4.9.4-zh_CN.tar.gz 到 /opt/nginx/ 目录中。上传 mysql-boost-5.7.20.tar.gz 到 /opt/mysqld 目录中。上传 php-7.1.10.tar.bz2 到 /opt/php 目录中。#部署nginx(容器IP 为 172.18.0.10)#部署mysql(容器IP 为 172.18.0.20)#部署php(容器IP 为 172.18.0.30)

2023-10-09 08:44:30 216

原创 Docker-compose

前端在调用后端服务A-N的时候,就跑去服务发现模块问下它们的网络位置,然后再调用它们的服务。Docker-Compose的工程配置文件默认为docker-compose.yml,可通过环境变量COMPOSE_FILE或-f参数自定义配置文件,其定义了多个有依赖关系的服务及每个服务运行的容器。------------------------------------ Docker-compose 简介 ------------------------------------

2023-10-09 08:42:06 56

原创 docker数据管理

但是当编写一个新的Dockerfile文件来基于A镜像构建一个镜像(比如为B镜像)时,这时构造A镜像的Dockerfile文件中的ONBUILD指令就生效了,在构建B镜像的过程中,首先会执行ONBUILD指令指定的指令,然后才会执行其它指令。Dockerfile是由多条的指令组成的文件,其中每条指令对应 Linux 中的一条命令,Docker 程序将读取Dockerfile 中的指令生成指定镜像。在启动容器的时候,如果不指定对应的端口,在容器外是无法通过网络来访问容器内的服务。

2023-10-09 08:40:49 160

原创 docker基本管理

Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。docker 容器默认会把容器内部第一个进程,也就是 pid=1 的程序作为docker容器是否正在运行的依据,如果docker容器中 pid = 1 的进程挂了,那么docker容器便会直接退出,也就是说Docker容器中必须有一个前台进程,否则认为容器已经挂掉。

2023-10-09 08:39:42 181

原创 zabbix

●zabbix server:zabbix 服务端守护进程,其中 zabbix_agent、zabbix_get、zabbix_sender、zabbix_proxy 的数据最终都提交给 zabbix server;zabbix 监控部署在系统中,包含常见的五个程序: zabbix_server、zabbix_agent、zabbix_proxy、zabbix_get、zabbix_sender 等。●zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。

2023-09-22 08:51:14 72 1

原创 Zookeeper集群 + Kafka集群

Kafka 是最初由 Linkedin 公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于 Zookeeper 协调的分布式消息中间件系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景,比如基于 hadoop 的批处理系统、低延迟的实时系统、Spark/Flink 流式处理引擎,nginx 访问日志,消息服务等等,用 scala 语言编写,此时服务器1票数0票,服务器2票数2票,没有半数以上结果,选举无法完成,服务器1,2状态保持LOOKING。

2023-09-22 08:50:24 199

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

当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。---------------------- ELK Logstash 部署(在 Apache 节点上操作) ----------------------------------------●Logstash:作为数据收集引擎。---------------------- ELK Kiabana 部署(在 Node1 节点上操作) ----------------------------------------

2023-09-15 10:46:56 663

原创 GFS 分布式文件系统

在存放 File1 时,File1 根据复制卷的特性,将存在两个相同的副本,分别是 Server1 中的exp1 目录和 Server2 中的 exp2 目录。传统的分布式文件系统大多通过元服务器来存储元数据,元数据包含存储节点上的目录信息、目录结构等。File1 和 File2 存放在 Server1,而 File3 存放在 Server2,文件都是随机存储,一个文件(如 File1)要么在 Server1 上,要么在 Server2 上,不能分块同时存放在 Server1和 Server2 上。

2023-09-12 19:00:34 245

原创 rsync 远程同步

Rsync 是 Linux 系统下的数据镜像备份工具,使用快速增量备份工具 Remote Sync 可以远程同步, 可以在不同主机之间进行同步,可实现全量备份与增量备份,保持链接和权限,且采用优化的同步算法, 传输前执行压缩,因此非常适合用于架构集中式备份或异地备份等应用。这样,就避免了按固定周期备份时存在的延迟性、周期过密等问题。---------------------------6、发起端(客户端)配置 rsync+inotify-------------------------------

2023-09-12 18:59:19 86

原创 redis集群

sentinel monitor mymaster 192.168.10.23 6379 2 #84行,修改 指定该哨兵节点监控192.168.10.23:6379这个主节点,该主节点的名称是mymaster,最后的2的含义与主节点的故障判定有关:至少需要2个哨兵节点同意,才能判定主节点故障并进行故障转移。数据的复制是单向的,只能由主节点到从节点。---------------------- 搭建Redis 主从复制 ----------------------------------------

2023-09-12 18:56:28 82

原创 NoSQL之 Redis配置与优化

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

2023-09-07 08:47:56 573

原创 MySQL MHA

该参数代表忽略上次 MHA 触发切换产生的文件,默认情况下,MHA 发生切换后会在日志记录,也就是上面设置的日志app1.failover.complete文件,下次再次切换的时候如果发现该目录下存在该文件将不允许触发切换,除非在第一次切换后收到删除该文件,为了方便,这里设置为--ignore_last_failover。master_ip_failover_script=/usr/local/bin/master_ip_failover  #设置自动failover时候的切换脚本,也就是上面的那个脚本。

2023-09-07 08:45:50 310

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

(3)同时Master节点为每个I/O线程启动一个dump线程,用于向其发送二进制事件,并保存至Slave节点本地的中继日志(Relay log)中,Slave节点将启动SQL线程从中继日志中读取二进制日志,在本地重放,即解析成 sql 语句逐一执行,使得其数据和 Master节点的保持一致,最后I/O线程和SQL线程将进入睡眠状态,等待下一次被唤醒。//客户端会分别向slave1和slave2读取数据,显示的只有在两个从服务器上添加的数据,没有在主服务器上添加的数据。//只有主服务器上有此数据。

2023-09-07 08:44:39 346

原创 mysql高阶语句

通过 SQL 查询出来的结果,还可以对其进行分组,使用 GROUP BY 语句来实现 ,GROUP BY 通常都是结合聚合函数一起使用的,常用的聚合函数包括:计数(COUNT)、 求和(SUM)、求平均数(AVG)、最大值(MAX)、最小值(MIN),GROUP BY 分组的时候可以按一个或多个字段对结果进行分组处理。使用 SELECT 语句可以将需要的数据从 MySQL 数据库中查询出来,如果对查询的结果进行排序,可以使用 ORDER BY 语句来对语句实现排序,并最终将排序后的结果返回给用户。

2023-08-31 10:48:56 191

原创 mysql备份与还原

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

2023-08-28 18:58:44 589

原创 索引 事务 存储引擎

不是事务安全的,而且不支持外键,如果执行大量的select,insert MyISAM比较适合。假设事务A对某些行的内容作了更改,但是还未提交,此时事务B插入了与事务A更改前的记录相同的记录行,并且在事务A提交之前先提交了,而这时,在事务A中查询,会发现好像刚刚的更改对于某些数据未起作用,但其实是事务B刚插入进来的,让用户感觉很魔幻,感觉出现了幻觉,这就叫幻读。因为索引本身会消耗系统资源,在有索引的情况下,数据库会先进行索引查询,然后定位到具体的数据行,如果索引使用不当,反而会增加数据库的负担。

2023-08-28 18:57:38 455

原创 数据库

另外还有“.ibd”和 ibdata 文件,这两种文件都是用来存放 Innodb 数据的,之所以有两种文件来存放 Innodb 的数据(包括索引),是因为Innodb的数据存储方式能够通过配置来决定是使用共享表空间存放存储数据,还是独享表空间存放存储数据。每一个MyISAM表都会有一个“.MYD”文件与之对应,同样存放于所属数据库的文件夹下,和“.frm”文件在一起。#Char如果存入数据的实际长度比指定长度要小,会补空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本会被截取,高版本会报错。

2023-08-23 10:32:02 649

原创 Haproxy搭建web集群

具体流程为: 用户在自己的浏览器中输入要访问的网站的域名,浏览器向本地DNS请求对该域名的解析,本地DNS将请求发到网站的主DNS,主DNS根据一系列的策略确定当时最适当的CDN节点,并将解析的结果(IP地址)发给用户,用户向给定的CDN节点请求相应网站的内容。其目的是通过在现有的internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络边缘,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。●LVS是可实现4层的IP负载均衡技术,无法实现基于目录、URL的转发。

2023-08-18 19:33:31 155

原创 LVS+keepalived群集

keepalived高可用之间是通过vrrp进行通信,vrrp是通过竞选的来确定主备,主优先级一定是高于备,因此,工作时主优先获得所有的资源,备节点处于等待状态,当主挂的时候,备节点就会接管主节点的资源,然后顶替主节点对外提供的服务,在keepalived服务之间,只有作为主的服务器会一直发送vrrp广播包,告诉备我还活着,此时备不会去抢占主,当主不可用的时候,即备要监听不到主发送的广播包时,他就会启动相关服务,来去接管资源,保证业务的连续性,接管速度最快小于1秒。故障自动切换falover。

2023-08-18 08:56:42 387

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

修改源 MAC 地址为 Director Server 的 MAC地址,修改目标 MAC 地址为 Real Server 的 MAC 地址,源 IP 地址与目标 IP 地址没有改变,然后将数据包发送给 Real Server。系统不会使用响应数据包的源ip地址(vip)来作为本机进行的ARP请求报文的源ip地址,而使用发送报文的物理网卡IP地址,作为ARP请求的报文源IP地址,这样我们就可以防止网关路由器收到的源IP地址为vip的ARP请求的报文后又更新ARP缓存表,导致外网在发送请求时,到达不了调度器.

2023-08-16 19:04:19 257

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

数据流向:用户--->通过--->vip(vrrp)---->访问。高可用均衡器:系统的稳定性,减少服务器中断的时间,减少损失。负载均衡器:减少响应延迟,提供并发处理能力。高性能均衡器:高性能运算能力,分布式,并发。集群就是将多台主机作为一个整体,对外提供相同的服务。负载调度器:通过调度算法,以及RIP转发。节点服务池:所有服务器用的资源。共享存储:提供网站,存储资源。7.LVS负载均衡器调度算法。2.集群使用在哪一个场景。4.负载均衡器的集群架构。5.负载均衡器的工作模式。1.什么是集群(含义)

2023-08-15 10:08:35 73

原创 tomcat部署及优化以及动静分离

-----主要目录说明----------------------------------------------------------------------------------------------并且Tomcat并发量处理能力弱(约Nginx的六分之一),所以需要Nginx方向代理时,进行合理的调用分配。---------------------------------------Tomcat多实例部署-----------------------------------------

2023-08-10 18:38:18 244

原创 nginx负载均衡

第一次请求之后,会有本地缓存,而且因为hash算法的原因,请求的后台web服务器不会发生变化,可以提噶访问速度,访问的是缓存。客户端------>http请求------>七层代理(代理服务器上)----------->代理服务器转发http请求到内部的一组服务器(web集群)--------------->客户端不知道请求的代理服务器还是内部服务器,而且通过代理服务器影藏了内部服务器的ip.根据这个指标,来确定负载均衡的算法。七层代理,http请求,可以对请求进行深入的解析和处理,流量控制,内容的过滤。

2023-08-10 18:26:18 111

原创 Nginx之Rewrite重定向

官网地址 https://nginx.org/en/docs/http/ngx_http_core_module.html#location。例如 http://www.kgc.com/a/we/index.php?再比如 location = /abc,则只匹配/abc ,/abc/匹配,/abcd不匹配。

2023-08-09 13:49:29 1173

原创 Nginx的页面优化

---------------------------Nginx的网页压缩------------------------------------------------如果直接在浏览器的地址栏中输入一个资源的URL地址,那么这种请求是不会包含 Referer 字段的),如 http://www.kgc.com/game.jpg。进行相关的配置修改,就能实现Nginx页面的压缩,避免出现连接复用问题:如果 TIME_WAIT 状态的持续时间较短,可能会导致旧的连接仍然存在于网络中,并被误认为是新的连接,

2023-08-09 13:48:20 274

原创 Nginx网站服务

4)alias虚拟目录配置中,location匹配的path目录如果后面不带"/",那么访问的url地址中这个path目录后面加不加"/"不影响访问,访问时它会自动加上"/";但是如果location匹配的path目录后面加上"/",那么访问的url地址中这个path目录必须要加上"/",访问时它不会自动加上"/"。ln -s /usr/local/nginx/sbin/nginx /usr/sbin/ #让系统识别nginx的操作命令。

2023-08-04 18:02:17 211

原创 LNMP

pid-file: 保存MySQL服务器进程ID的文件路径,默认为/var/run/mysqld/mysqld.pid。--with-mysql-sock=/usr/local/mysql/mysql.sock: 指定MySQL的Unix socket文件路径,用于与MySQL数据库建立连接。kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid` #重启php-fpm。ExecStop: 指定停止服务的命令。

2023-08-03 16:55:22 640

空空如也

空空如也

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

TA关注的人

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