- 博客(83)
- 收藏
- 关注
原创 Docker安全管理与HTTPS协议
openssl x509 -req -days 3650 -in server.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out server.pem #基于CA私钥、CA证书和服务端证书自签名请求文件签发服务端证书文件。尽量以资源限制的方式运行容器 -m --memory-swap --cpu-quota --cpuset-cpus --device-write-bps。
2024-07-25 16:51:46
886
原创 Ansible中template配置模板模块与roles模块
简单来讲,roles就是通过分别将变量、文件、任务、模板及处理器放置于单独的目录中,并可以便捷的include它们的一种机制。Template类是Jinja的一个重要组件,可以看作是一个编译过的模板文件,用来产生目标文本,传递Python的变量给模板去替换模板中的标记。它将playbook剧本中的每一个play看做一个角色,将每个用到的文件,变量,任务列表定义到对应角色的目录中,在需要用到角色时,可以直接在playbook中调用角色。修改http的配置文件,在文件内进行相关的配置。
2024-07-24 17:03:19
496
原创 inventory主机清单管理与playbook剧本
webs:children] #表示为 webs 主机组中包含了 nginx 组和 apache 组内的所有主机。(1)Tasks:任务,即通过 task 调用 ansible 的模块将多个操作组织在一个 playbook 中运行。Inventory支持对主机进行分组,每个组内可以定义多个主机,每个主机都可以定义在任何一个或多个主机组内。(4)Handlers:处理器,当changed状态条件满足时,(notify)触发执行的操作。如果是名称类似的主机,可以使用列表的方式标识各个主机。
2024-07-23 17:30:31
298
原创 Ansible 自动化运维工具
Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个操作,使用Ansible只需在固定的一台Ansible控制节点上去完成所有主机的操作。
2024-07-22 19:09:01
986
原创 Docker consul 容器服务的更新与发现
服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必须要知道所有后端服务的网络位置,并配置在配置文件中。这里就会有几个问题:●如果需要调用后端服务A-N,就需要配置N个服务的网络位置,配置很麻烦●后端服务的网络位置变化,都需要改变每个调用者的配置既然有这些问题,那么服务注册与发现就是解决这些问题的。
2024-07-19 17:25:16
588
原创 Docker-Compose容器集群编排管理
Docker-Compose将所管理的容器分为三层,分别是项目(project)、服务(service)以及容器(container)。Docker-Compose运行目录下的所有文件组成一个项目,若无特殊指定项目名即为当前目录名。一个工程当中可包含多个服务,每个服务都包含一个名称、镜像、端口映射、环境变量、挂载点等信息。
2024-07-18 16:46:29
952
原创 Docker--harbor私有仓库部署与管理
(1)浏览器访问:http://192.168.80.10 登录 Harbor WEB UI 界面,默认的管理员用户名和密码是 admin/Harbor12345。(2)输入用户名和密码登录界面后可以创建一个新项目。#先删除原有的 centos 的镜像,再测试私有仓库下载。在 daemon.json 文件中添加私有镜像仓库地址。#出私有仓库的 centos 镜像有哪些tag。4. 查看 Harbor 启动镜像。首先下载 registry 镜像。2. 部署 Harbor 服务。#列出私有仓库的所有镜像。
2024-07-17 16:27:28
287
原创 Docker缩小镜像体积与搭建LNMP架构
FROM 第二构建阶段的基础镜像 #在第二阶段,复制上一阶段构建产物的文件或目录,并使用它来运行应用程序,这样最终的镜像中就不会有不必要的依赖和代码。FROM 第一构建阶段的基础镜像 as 阶段别名 #在第一阶段,安装依赖项并构建项目。COPY --from=第一构建阶段的别名 第一构建阶段的项目文件或目录 当前阶段的路径。2)尽可能的减少Dockerfile中的指令数量,从而减少镜像的层数。1)尽可能的使用较小体积的基础镜像(推荐使用 alpine 镜像)
2024-07-16 22:20:18
439
原创 Docker数据管理与创建镜像
Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么镜像构建透明性的问题、体积的问题就都会解决。这个脚本就是 Dockerfile。
2024-07-15 22:13:19
658
原创 Docker网络模式与Cgroup资源限制
直接使用bridge模式,是无法支持指定IP运行docker的,例如执行以下命令就会报错创建网络,先自己定义网络,再去指定ip去运行docker#docker1 为执行 ifconfig -a 命令时,显示的网卡名,如果不使用 --opt 参数指定此名称,那你在使用 ifconfig -a 命令查看网络信息时,看到的是类似 br-110eb56a0b22 这样的名字,这显然不怎么好记。#mynetwork 为执行 docker network list 命令时,显示的bridge网络模式名称。
2024-07-12 17:14:56
886
原创 Docker基本管理
docker容器本质就是宿主机的一个进程,docker容器是通过namespace实现资源隔离,通过cgroup实现资源限制,通过写时复制技术(copy-on-write)实现了高效的文件操作(类似虚拟机的磁盘比如分配500g并不是实际占用物理磁盘500g,只有当需要修改时才复制一份数据)。Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为一个面向 Docker 容器引擎的只读模板。容器是与其他容器共享主机的内核,它运行的是一个独立的进程,不占用其他任何可执行文件的内存,非常轻量。
2024-07-11 17:12:45
817
原创 ceph存储
存储的三种方式包括:块存储、文件存储、对象存储1。此外,还有内存存储、硬盘存储和闪存存储2。内存存储:临时性数据存储方式,存储速度快,容量有限,通常用来存储正在使用的程序和数据。硬盘存储:永久性数据存储方式,存储速度相对较慢,容量较大,通常用来存储操作系统、应用程序、文档、图片、音频和视频等大容量数据。闪存存储:固态存储器,存储速度相对较快,容量较大,通常用来制作U盘、存储卡等移动设备。Ceph使用C++语言开发,是一个开放、自我修复和自我管理的开源分布式存储系统。
2024-07-10 00:07:35
915
原创 【分布式系统管理框架】Zookeeper集群
Zookeeper 定义ZooKeeper是一个开源的分布式协调服务,用于构建可靠的分布式系统。它通过提供高度可靠的数据存储和同步机制,来协调不同节点之间的通信和协作。消息队列概述(MQ)主要原因是由于在高并发环境下,同步请求来不及处理,请求往往会发生阻塞。比如大量的请求并发访问数据库,导致行锁表锁,最后请求线程会堆积过多,从而触发 too many connection 错误,引发雪崩效应。我们使用消息队列,通过异步处理请求,从而缓解系统的压力。
2024-07-08 17:27:41
789
原创 ELK 企业级日志分析系统
通常在需要采集数据的客户端安装 Filebeat,并指定目录与日志格式,Filebeat 就能快速收集数据,并发送给 Logstash 进行解析,或是直接发给 Elasticsearch 存储,性能上相比运行于 JVM 上的 Logstash 优势明显(Logstash 对内存、CPU、IO 等资源消耗比较高) ,是对 Logstash 的替代。Elasticsearch是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大容量的日志数据,也可用于搜索许多不同类型的文档。
2024-07-04 16:43:52
767
原创 zabbix监控的介绍与部署
作为一个运维,需要会使用监控系统查看服务器系统性能、应用服务状态和网站流量指标等,利用监控系统的数据去了解网站上线发布的结果和健康状态。当我们时刻需要监控关注某数据是否正常,往往存在很多服务器和网络设备等硬件资源,如果我们想要更方便且集中地监控它们,zabbix可以实现集中监控管理应用程序。
2024-07-02 23:18:23
918
原创 rsync远程同步
rsync(Remote Sync,远程同步) 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件。rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。
2024-07-01 17:13:42
333
原创 Web缓存代理与CDN内容分发网络概念
CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的cache(缓存)层,将网站的内容发布到最接近用户的网络“边缘”节点,使用户可以就近取得所需的内容(就近原则),提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度。
2024-06-29 15:56:23
533
原创 Redis主从复制,哨兵模式与cluster集群
主从切换技术的方法是:当服务器宕机后,需要手动一台从机切换为主机,这需要人工干预,不仅费时费力而且还会造成一段时间内服务不可用。为了解决主从复制的缺点,就有了哨兵机制。哨兵的核心功能:在主从复制的基础上,哨兵引入了主节点的自动故障转移。
2024-06-28 17:12:26
844
原创 Redis优化之持久化
Redis是内存数据库,数据都是存储在内存中,为了避免服务器断电等原因导致Redis进程异常退出后数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘;正常情况下,大部分的访问请求应该是先被redis响应的,在redis那里得不到响应的小部分访问请求才会去请求MySQL数据库获取数据,这样MySQL数据库的负载压力是非常小的,且可以正常工作。由于AOF持久化的实时性更好,即当进程意外退出时丢失的数据更少,因此AOF是目前主流的持久化方式,不过RDB持久化仍然有其用武之地。
2024-06-27 22:54:54
775
原创 NoSQL之Redis配置与优化
实例-->数据库-->表(table)-->记录行(row)、数据字段(column)实例-->数据库-->集合(collection)-->键值对(key-value)非关系型数据库不需要手动建数据库和集合(表)。Redis(远程字典服务器) 是一个开源的、使用C语言编写的NoSQL数据库。Redis基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。
2024-06-27 22:32:19
21
原创 MySQL 主从复制集群高可用
MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA的出现就是解决MySQL 单点的问题。MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用1)在所有MySQL服务器都做主从复制授权,还要给 MHA manager 访问数据库的授权2)做时间同步和主从复制配置,并设置从服务器为只读模式。
2024-06-25 16:09:43
911
原创 MySQL的主从复制与读写分离
1、指定为amoeba创建的允许读取数据库的用户名和密码(5.7版本没有默认的test数据库)3、指定名为slaves的poolName中pools的主机名。3、数据库复制用于将事务性查询的变更同步到集群中的从数据库。2、主数据库处理事务性查询,从数据库处理select查询。2、给master开放默认池和写池,给slave开放读池。1、修改连接amoeba使用的用户名和密码。1、只在主服务器上写,只在从服务器上读。2、配置三个服务器的主机名和地址。
2024-06-25 10:30:42
120
原创 MySQL高级SQL语句
字符串函数: concat('字符串1', '字符串2', ....) substr(x,y,z) replace(x,y,z) length(x) upper(x) lower(x) left(x,y) right(x,y)数学函数: rand() round(x,y) truncate(x,y) greatest(值1, 值2, ....) least(值1, 值2, ....) mod(x,y) power(x,y)
2024-06-25 10:04:21
164
原创 MySQL备份与恢复
mysqlbinlog --no-defaults --start-datetime='YYYY-mm-dd HH:MM:SS' --stop-datetime='YYYY-mm-dd HH:MM:SS' 二进制文件路径 | mysql -u root -p密码。mysqlbinlog --no-defaults --start-position='开始位置点' --stop-position='结束位置点' 二进制文件路径 | mysql -u root -p密码。
2024-06-20 00:27:54
931
原创 MySQL事务与存储引擎
存储引擎是MySQL数据库的组件,负责执行实际的数据IO操作(数据的存储和提取)。工作在文件系统之上,数据库的数据会先传输到存储引擎,再按照存储引擎的存储格式保存到文件系统。常用的存储引擎:InnoDB MyISAM。
2024-06-19 17:05:05
673
原创 MySQL索引
索引是一个排序的列表,包含索引字段的值和其对应的行记录数据所在的物理地址索引是一个排序的列表,包含索引字段的值和其对应的行记录数据所在的物理地址。
2024-06-17 22:23:38
831
原创 MySQL数据库管理
information_schema:主要存储系统中的一些数据库对象信息,如数据库名,数据库的表,表栏的数据类型与访问权限等。sys:MySQL5.7之后引入的一个新的 sys 数据库,sys 库里面的表、视图、函数以及存储过程可。int :整型 无符号[0,2^32-1],有符号[-2^31,2^31-1]SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。DDL:数据定义语言,用于创建数据库对象,如库、表、索引等。DML:数据操纵语言,用于对表中的数据进行管理。
2024-06-14 23:17:20
238
原创 MySQL数据库初体验
数据库(Database)是一个有组织的数据集合,以电子方式存储和管理。这些数据可以被计算机系统高效地访问、管理和更新。数据数据是数据库中存储的基本元素。它可以是数字、文本、图像、音频或视频等各种形式的信息。数据库管理系统(DBMS)DBMS 是一种软件,负责定义、创建、维护和控制对数据库的访问。它提供了与数据库交互的接口,以便用户能够执行数据操作,如查询、插入、更新和删除。表(Table)表是数据库中数据的基本存储结构。它由行和列组成,其中每一行表示一个记录,每一列表示一个字段或属性。
2024-06-14 19:24:19
795
原创 Haproxy搭建Web群集
HAProxy是可提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,是免费、快速并且可靠的一种解决方案。HAProxy非常适用于并发大(并发达1w以上)web站点,这些站点通常又需要会话保持或七层处理。HAProxy的运行模式使得它可以很简单安全的整合至当前的架构中,同时可以保护web服务器不被暴露到网络上。
2024-06-13 21:28:02
887
原创 LVS+Keepalived群集
1)负载均衡 用于提高群集的性能 LVS Nginx HAProxy SLB F52)健康检查(探针) 针对于调度器和节点服务器 Keepalived Heartbeat3)故障转移 通过VIP漂移实现主备切换 VRRP 脚本。
2024-06-12 21:28:23
610
原创 Nginx+Tomcat负载均衡,动静分离群集
他的主要思想就是实现将客户发来的的请求转发给后台服务器进行操作,当后台有多台服务器时,就会进行平均或者自定义的数据转发来实现负载均衡的效果,降低每一台后端服务器的压力,动静分离则是充分利用各个服务器的优点来发挥,静态页面交给专业的静态页面去处理,动态的则交给动态页面去处理,来实现作用。四层反向代理:基于 IP 和 端口 实现的代理转发(根据用户请求的IP和端口来转发请求),通常用于做 网关访问入口的负载均衡器 等应用场景。动态页面请求,则nginx通过反向代理转发给后端应用服务器处理。
2024-06-10 21:43:55
1211
原创 Tomcat优化
不管是 YGC 还是 Full GC、GC 都会导致程序运行中断,正确的选择不同的 GC 策略,调整 JVM、GC 的参数,可以极大的减少由于 GC 工作而导致的程序运行中断方面的问题,进而适当的提高 Java 程序的工作效率。但是调整 GC 是一个极为复杂的过程,由于各个程序具备不同的特点,如 Web 和 GUI 程序就有很大区别(Web 可以适当的停顿,但 GUI 停顿是客户无法接受的),而且由于运行在各个机器上的配置不同(主要 CPU个数,内存不同),所以使用的 GC 种类也会不同。
2024-06-10 14:14:38
794
原创 Tomcat部署及优化
Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,是 Apache 软件基金会的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。Tomcat 属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。
2024-06-05 01:27:04
923
原创 Nginx网站服务
remote_addr与$http_x_forwarded_for用以记录客户端的ip地址;$remote_user:用来记录客户端用户名称;$time_local: 用来记录访问时间与时区;$request: 用来记录请求的url与http协议;$status: 用来记录请求状态;成功是200,$body_bytes_sent :记录发送给客户端文件主体内容大小;$http_referer:用来记录从哪个页面链接访问过来的;
2024-05-29 00:23:17
1087
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人