- 博客(95)
- 收藏
- 关注
原创 K8S的架构理论概述
用于自动部署、扩展和管理“容器化( containerized) 应用程序”的开源系统可以理解成K8S是负责自动化运维管理多个容器化程序(比如Docker)的集群,是–个生态极其丰富的容器编排框架工具由来:k8S由google的Borg系统(博格系统,google内部使用的大规模容器编排工具)作为原型,后经G0语言延用Borg的思路重写并捐献给CNCF基金会开源含义:词根源于希腊语的舵手、飞行员官网:https://kubernetes.ioGitHub: GitHub - kubernetes/kuber
2023-06-20 16:21:55
1620
3
原创 Ansible剧本(playbook)
playbooks 本身由以下各部分组成(1)Tasks:任务,即通过 task 调用 ansible 的模板将多个操作组织在一个 playbook 中运行(2)Variables:变量(3)Templates:模板(4)Handlers:处理器,当changed状态条件满足时,(notify)触发执行的操作(5)Roles:角色2.2 修改配置文件并放入/opt/目录下在Ansible中,提供的唯一一个通用的条件判断是when指令,当when指令的值为true时,则该任务
2023-06-20 16:19:49
1388
原创 Ansible部署和常用模块
Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具。它用Python写成,类似于saltstack和Puppet,但是有一个不同和优点是我们不需要在节点中安装任何客户端。它使用SSH来和节点进行通信。Ansible基于 Python paramiko 开发,分布式,无需客户端,轻量级,配置语法使用 YMAL 及 Jinja2模板语言,更强的远程命令执行操作。Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。
2023-06-20 16:18:18
1278
原创 Docker安全
(文件描述符:简称fd,当应用程序请求内核打开/新建一个文件时,内核会返回 一个文件描述符用于对应这个打开/新建的文件,文件描述符本质上就是一个非负整数,读写文件也是需要使用这个文件 描述符来指定待读写的文件的。文件描述符是一个重要的系统资源,理论上系统内存多大就应该可以打开多少个文件描述符,但是实际情况是,内核会有系统级限制,以及用户级限制,不让某一个应用程序进程消耗掉所有的文件资源,可以使用ulimit -n 查看)如果证书验证通过,就会生成一个随机的密钥对,用证书的公钥加密。
2023-06-20 16:14:39
3695
原创 Consul服务注册与发现
服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必须要知道所有后端服务的网络位置,并配置在配置文件中。这里就会有几个问题:●如果需要调用后端服务A-N,就需要配置N个服务的网络位置,配置很麻烦●后端服务的网络位置变化,都需要改变每个调用者的配置既然有这些问题,那么服务注册与发现就是解决这些问题的。
2023-06-20 16:11:01
1862
原创 Docker-harbor私有仓库
• Harbor是VMware公司开源的企业级Docker Registry项目,其目标是帮助用户迅速搭建一个企业级的Docker Registry服务• Harbor以 Docker 公司开源的Registry 为基础,提供了图形管理UI、基于角色的访问控制(Role Based AccessControl)、AD/LDAP集成、以及审计日志(Auditlogging)等企业用户需求的功能,同时还原生支持中文。
2023-06-10 16:35:49
1797
1
原创 Dockerfile构建镜像与实战
UnionFS(联合文件系统) : Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下。AUFS、OberlayFS及Devicemapper都是一种UnionFS。Union文件系统是Docker镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
2023-06-10 16:34:07
2285
1
原创 docker搭建本地私有仓库
v: 把宿主机的/data/registry目录绑定到容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的持久化;Docker 官方提供了一个搭建私有仓库的镜像 registry (注册服务器),只需把镜像下载下来,运行容器并暴露5000端口,就可以使用了。在容器中启动私有镜像仓库并将私有仓库的存储目录挂载到宿主机指定目录中,这样做的目的是,如果容器被删除了,存储在容器中的镜像就不会被删掉(no:默认策略,在容器退出时不重启容器。
2023-06-10 16:33:28
3211
原创 docker数据管理与网络通信
• 但是当编写一个新的Dockerfile文件来基于A镜像构建一-个镜像( 比如为B镜像)时,这时构造A镜像的Dockerfile文件中的ONBUILD指令就生效了,在构建B镜像的过程中,首先会执行ONBUILD指令指定的指令,然后才会执行其它指令。容器其实是在镜像的最上面加了一层读写层,在运行容器里做的任何文件改动,都会写到这个读写层。(5) 镜像层是不可变的,如果在某一层中添加一个文件,然后在下一层中删除它,则镜像中依然会包含该文件,只是这个文件在Docker容器中不可见了。
2023-06-10 16:15:47
1399
原创 docker资源控制cgroup
使用--cpu-period即可设置调度周期,使用--cpu-quota即可设置在每个周期内容器能使用的CPU时间。#创建两个容器为 c1 和 c2,若只有这两个容器,设置容器的权重,使得c1和c2的CPU资源占比为1/3和2/3。CFS周期的有效范围是1ms~1s, 对应的--cpu-period的数值范围是1000~1000000。容器的CPU 配额必须不小于1ms,即--cpu-quota 的值必须>= 1000。可以设置每个容器进程的调度周期,以及在这个周期内各个容器最多能使用多少CPU时间。
2023-06-10 16:14:49
1537
原创 docker网络
Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP, 同时Docker网桥是 每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的Container-IP直接通信。Docker网桥是宿主机虚拟出来的,并不是真实存在的网络设备,外部网络是无法寻址到的,这也意味着外部网络无法直接通过 Container-IP 访问到容器。
2023-06-10 16:14:00
3396
原创 Docker 概述与命令操作
• Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源• Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”• Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器Docker的Logo设计为蓝色鲸鱼,拖着许多集装箱鲸鱼可看作为宿主机,集装箱可理解为相互隔离的容器,每个集装箱中都包含自己的应用程序。
2023-06-10 16:12:57
2580
原创 ceph分布式存储
Ceph 客户端向 monitor 请求集群的状态,并向 Pool 中写入数据,数据根据 PGs 的数量,通过 CRUSH 算法将其映射到不同的 OSD 节点上,实现数据的存储。BlueStore是一个特殊用途的存储后端,专门为OSD工作负载管理磁盘上的数据而设计。Ceph从Nautilus版本(14.2.0)开始,每年都会有一个新的稳定版发行,预计是每年的3月份发布,每年的新版本都会起一个新的名称(例如,“Mimic”)和一个主版本号(例如,13代表Mimic,因为“M”是字母表的第13个字母)。
2023-06-10 16:09:25
1242
原创 超详细Zookeeper+Kafka+ELK集群部署
Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。主要原因是由于在高并发环境下,同步请求来不及处理,请求往往会发生阻塞。比如大量的请求并发访问数据库,导致行锁表锁,最后请求线程会堆积过多,从而触发 too many connection 错误,引发雪崩效应。我们使用消息队列,通过异步处理请求,从而缓解系统的压力。消息队列常应用于异步处理,流量削峰,应用解耦,消息通讯等场景。
2023-05-29 10:37:05
1141
原创 Zabbix监控系统超详细操作配置
作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。利用一个优秀的监控软件,我们可以:●通过一个友好的界面进行浏览整个网站所有的服务器状态●可以在 Web 前端方便的查看监控数据●可以回溯寻找事故发生时系统的问题和报警情况案列:自定义监控客户端服务器登录的人数需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息明确需要执行的 linux 命令。
2023-05-29 10:29:24
5036
原创 ELK日志分析系统
一、 ELK日志分析系统概述1、ELK简介ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,r
2023-05-29 10:21:15
2732
原创 rsync远程同步
rsync,remote synchronize顾名思义就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。rsync 远程同步: 一款快速增量备份工具 Remote Sync,远程同步 支持本地复制,或者与其他SSH、rsync主机同步。作用:做数据备份。
2023-05-22 08:49:26
2628
原创 Redis主从复制,哨兵模式和集群模式
哨兵的启动依赖于主从模式,所以须把主从模式安装好的情况下再去做哨兵模式,所有节点上都需要部署哨兵模式,哨兵模式会监控所有的Redis 工作节点是否正常,当Master 出现问题的时候,因为其他节点与主节点失去联系,因此会投票,投票过半就认为这个 Master 的确出现问题,然后会通知哨兵间,然后从Slaves中选取一个作为新的 Master。• 自动故障转移:当主节点不能正常工作时,哨兵会开始自动故障转移操作,它会将失效主节点的其中一个从节点升级为新的主节点,并让其他从节点改为复制新的主节点。
2023-05-22 08:48:16
968
原创 Redis的五大数据类型
1 . string类型写命令通过set关键字实现,set [key] [value]读命令通过get关键字实现,get [key]2 . list列表类型通过rpush、lpush,将一个或多个值向右或向左推入。rpush [key] [value1] [value2],将value值推入到列表的右端。lpush [key] [value1] [value2],将value值推入到列表的左端lrange level 0 -1 ,查看列表key为level的所有元素。
2023-05-22 08:45:27
479
原创 Redis配置、优化以及相命令
Redis(远程字典服务器)是一个开源的、使用C语言编写的NoSQL数据库Redis 基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度则是完全依靠于主进程的执行效率。若在服务器上只运行一个Redis进程,当多个客户端同时访问时,服务器的处理能力是会有一定程度的下降;
2023-05-22 08:45:19
521
原创 Squid 代理服务器的应用(传统代理、透明代理、ACL控制列表、sarg日志分析、反向代理)
squid 作为一款服务器代理工具,可以缓存网页对象,减少重复请求,从而达到加快网页访问速度,隐藏客户机真实IP,更为安全。Squid主要提供缓存加速、应用层过滤控制的功能ACL(Access Control List)访问控制列表,主要用于过滤网络中的流量,是控制访问的一种技术手段。网络设备为了过滤报文,需要配置一系列的匹配条件对报文进行分类,应用在端口上,根据预先设定的策略,对特定端口的流量起到控制作用。访问控制列表(ACL)由一组规则组成,在规则中定义允许或拒绝通过路由器的条件。
2023-05-22 08:43:07
2226
原创 MHA高可用与故障切换
MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA 的出现就是解决MySQL 单点的问题。MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。
2023-05-15 08:50:13
322
原创 MySQL主从复制与读写分离
MySQL默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主如果crash掉了,此时主上已经提交的事务可能并没有传到从上,如果此时,强行将从提升为主,可能导致新主上的数据不完整。从库使用高性能主机。在服务器上执行sql语句,在从服务器上执行同样的语句,mysql默认采用基于语句的复制,执行效率高。提供NTP对时的服务器有很多,比如微软的NTP对时服务器,利用NTP服务器提供的对时功能,可以使我们的设备时钟系统能够正确运行。
2023-05-15 08:48:20
536
原创 MySQL正则表达式与存储过程
存储过程是一组为了完成特定功能的SQL语句集合存储过程在使用过程中是将常用或者复杂的工作预先使用 SQL 语句写好并用一个指定的名称存储起来,这个过程经编译和优化后存储在数据库服务器中,当需要使用时,只需要调用即可存储过程在执行上比传统SQL速度更快、执行效率更高。
2023-05-15 08:46:35
744
原创 MySQL视图与联集
比如你要对几个表进行连接查询,而且还要进行统计排序等操作,写SQL语句会很麻烦的,用视图将几个表联结起来,然后对这个视图进行查询操作,就和对一个表查询一样,很方便。视图跟表格的不同是,表格中有实际储存资料,而视图是建立在表格之上的一个架构,它本身并不实际储存资料。两表其中的一个表没有指定的行,而另一个表这个行有重复不可用,要求两个表确实有交集的时候用。显示第一个SQL语句的结果,且与第二个SQL语句没有交集的结果,且没有重复。将两个SQL语句的结果合并起来,两个SQL语句所产生的字段需要是同样的。
2023-05-15 08:45:19
1124
1
原创 MySQL高级语句
语法:SELECT "字段1", SUM("字段2") FROM "表格名" GROUP BY "字段1" HAVING (函数条件);语法:SELECT "字段" FROM "表名" [WHERE "条件"] ORDER BY "字段" [ASC, DESC];语法:SELECT "表格別名"."字段1" [AS] "字段別名" FROM "表格名" [AS] "表格別名";语法:SELECT "字段1", SUM("字段2") FROM "表名" GROUP BY "字段1";
2023-05-15 08:42:12
495
原创 MySQL日志管理、备份与恢复
mysqlbinlog --no-defaults --base64-output=decode-rows -v /opt/mysql-bin.000005 #查看二进制日志文件。##慢查询日志,用来记录所有执行时间超过long_query_time秒的语句,可以找到哪些查询语句执行时间长,以便于优化,默认是关闭的。mysqldump -u root -p[密码] --all-databases > /备份路径/备份文件名.sql。
2023-05-15 08:39:02
605
原创 MySQL数据库管理
临时表创建成功之后,使用SHOW TABLES命令是看不到创建的临时表的,临时表会在连接退出后被销毁。auto_increment:表示此字段为自增长字段,即每条记录自动递增1,默认从1开始递增;注意:与外键关联的子表的字段必须设置为主键。要求主表外键字段和子表的字段具备相同的数据类型、字符长度和约束。(1)以公共关键字作主键的表为主键表(父表、主表)(2)以公共关键字作外键的表为外键表(从表、外表)行(记录):用来描述一个对象的信息。列(字段):用来描述对象的一个属性。外键约束(foreign key)
2023-05-03 15:56:16
1323
原创 MySQL的概念、编译安装
• 面向Windows操作系统• 简单、易用非关系数据库大部分以键值对的方式进行存储(例如:name=xxx),之间没有特定的联系,安全性不是很高,非关系数据库很多将数据是写在内存当中,所以读写速度快一款深受欢迎的开源关系型数据库Oracle旗下的产品遵守GPL协议,可以免费使用与修改特点:性能卓越、服务稳定开源、无版权限制、成本低多线程、多用户基于C/S(客户端/服务器)架构安全可靠。
2023-05-03 15:55:34
687
原创 Haproxy搭建web群集
是一个使用C语言编写的自由及开放源代码软件,其提供高可用性、负载均衡,以及基于TCP和HTTP的应用程序代理。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web服务器不被暴露到网络上。HAProxy实现了一种事件驱动,单一进程模型,此模型支持非常大的并发连接数。
2023-05-03 15:53:36
1000
原创 LVS+Keepalived 高可用群集部署
专为LVS和HA设计的一款健康检查工具• 支持故障自动切换(Failover)• 支持节点健康状态检查(Health Checking)
2023-05-03 15:53:08
758
原创 LVS负载均衡集群——NAT部署
• Cluster、集群、群集• 由多台主机构成,但对外只表现为一个整体,只提供一个访问入口(域名或IP地址),相当于一台大型计算机。
2023-04-23 23:11:35
548
原创 Nginx+Tomcat负载均衡、动静分离
每个请求按时间顺序逐一分配到不同的后端服务器,如果超过了最大失败次数后(max_fails,默认1),在失效时间内(fail_timeout,默认10秒),该节点失效权重变为0,超过失效时间后,则恢复正常,或者全部节点都为down后, 那么将所有节点都恢复为有效继续探测,一般来说rr可以根据权重来进行均匀分配。和ip hash算法类似,是对每个请求按url的hash结果分配,使每个URL定向到同一个后端服务器, 但是也会造成分配不均的问题, 这种模式后端服务器为缓存时比较好。服务端接收来自客户端的请求中。
2023-04-23 23:09:37
417
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人