- 博客(79)
- 收藏
- 关注
原创 Kubernetes 概述
从 Master 节点获取自己节点上 Pod 的期望状态(比如运行什么容器、运行的副本数量、网络或者存储如何配置等), 直接跟容器引擎交互实现容器的生命周期管理,如果自己节点上 Pod 的状态与期望状态不一致,则调用对应的容器平台接口(即 docker 的接口)达到这个状态。在K8S的集群里,虽然每个Pod会被分配一个单独的IP地址,但由于Pod是有生命周期的(它们可以被创建,而且销毁之后不会再启动),随时可能会因为业务的变更,导致这个 IP 地址也会随着 Pod 的销毁而消失。K8S 的存储服务。
2024-03-06 09:00:54 990
原创 Docker 安全及日志管理
容器的安全性问题的根源在于容器和宿主机共享内核。如果容器里的应用导致Linux内核崩溃,那么整个系统可能都会崩溃。与虚拟机是不同的,虚拟机并没有与主机共享内核,虚拟机崩溃一般不会导致宿主机崩溃。
2024-02-27 15:15:01 1371
原创 Docker--harbor私有仓库部署与管理
Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。Harbor以 Docker 公司开源的 Registry 为基础,提供了图形管理 UI 、基于角色的访问控制(Role Based AccessControl) 、AD/LDAP 集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。
2024-02-27 15:06:49 1151
原创 Docker数据管理及网络通信
但是当编写一个新的Dockerfile文件来基于A镜像构建一个镜像(比如为B镜像)时,这时构造A镜像的Dockerfile文件中的ONBUILD指令就生效了,在构建B镜像的过程中,首先会执行ONBUILD指令指定的指令,然后才会执行其它指令。Dockerfile是由多条的指令组成的文件,其中每条指令对应 Linux 中的一条命令,Docker 程序将读取Dockerfile 中的指令生成指定镜像。在启动容器的时候,如果不指定对应的端口,在容器外是无法通过网络来访问容器内的服务。
2024-02-27 15:03:32 1123
原创 Docker知识基础
可以用来自定义创建一个网段、网桥、网络模式,从而可以创建容器时自定义容器IPdocker network create --subnet 自定义网段 --opt "com.docker.network.bridge.name"="自定义网桥名" 自定义网络模式名docker run --network 自定义网络模式名 --ip 自定义容器IP ....cgroup资源限制(限制容器进程对CPU 内存 磁盘IO 等资源的最大使用量)
2024-02-27 14:58:44 999
原创 Docker网络
直接使用bridge模式,是无法支持指定IP运行docker的,例如执行以下命令就会报错//创建自定义网络#可以先自定义网络,再使用指定IP运行docker#docker1 为执行 ifconfig -a 命令时,显示的网卡名,如果不使用 --opt 参数指定此名称,那你在使用 ifconfig -a 命令查看网络信息时,看到的是类似 br-110eb56a0b22 这样的名字,这显然不怎么好记。
2024-02-26 14:47:52 793
原创 Docker安装与基础知识
Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。Docker的Logo设计为蓝色鲸鱼,拖着许多集装箱。鲸鱼可看作为宿主机,集装箱可理解为相互隔离的容器,每个集装箱中都包含自己的应用程序。
2024-02-26 14:31:20 908
原创 Zookeeper
kafka-topics.sh --zookeeper IP1:2181,IP2:2181,IP3:2181 --create --topic 队列名 --partitions 分区数 --replication-factor 副本数 #创建topic。第一次leader选举:比较服务器节点的myid,谁的myid最大就获取其它节点的选票,当选票超过服务器节点数量的半数则当选leader,其它节点为follower,即使以后再有其它myid更大的节点加入集群也不会影响之前的选举结果。
2024-02-26 14:15:42 1135
原创 ELK分布式日志系统
H 'content-Type: application/json' -d '{"actions":[{"remove":{"index":"索引名","alias":"索引别名"}}]}'-H 'content-Type: application/json' -d '{"actions":[{"add":{"index":"索引名","alias":"索引别名"}}]}'[-H 'content-Type: application/json' -d '{"键名1":"键值","键名2":"键值"}']
2024-02-26 14:12:29 1127
原创 Ceph应用
其中 S3 与 Swift 互不兼容,RadosGw 为了兼容 S3 与 Swift, Ceph 在 RadosGW 集群的基础上提供了 RGW(RadosGateway)数据抽象层和管理层,它可以原生兼容 S3 和 Swift 的 API。提供了user、subuser、bucket和object,其中的user对应于S3的user,而subuser则对应于Swift的user,不过user和subuser都不支持为bucket提供名称空间,因此不同用户的存储桶不允许同名;
2024-01-26 12:04:26 1033
原创 Ceph部署
Ceph使用C++语言开发,是一个开放、自我修复和自我管理的开源分布式存储系统。具有高扩展性、高性能、高可靠性的优点。Ceph目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack,Kubernetes都可与Ceph整合以支持虚拟机镜像的后端存储。粗略估计,我国70%—80%的云平台都将Ceph作为底层的存储平台,由此可见Ceph俨然成为了开源云平台的标配。
2024-01-26 09:02:01 1049
原创 Zabbix 6.0
案列:自定义监控客户端服务器登录的人数需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息//在客户端创建自定义 key1.明确需要执行的 linux 命令2.创建 zabbix 的监控项配置文件,用于自定义 key#可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中#自定义监控项的格式如下3.在服务端验证新建的监控项//在 Web 页面创建自定义监控项模板1.创建模板点击左边菜单栏【配置】中的【模板】,点击【创建模板】
2024-01-26 08:51:01 959
原创 rsync 远程同步
rsync(Remote Sync,远程同步) 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。在同步过程中,同步源负责提供文件的原始位置,发起端应对该位置具有读取权限。
2024-01-16 19:01:16 891
原创 Redis 哨兵模式
sentinel monitor mymaster 192.168.80.10 6379 2 #73行,修改 指定该哨兵节点监控192.168.80.10:6379这个主节点,该主节点的名称是mymaster,最后的2的含义与主节点的故障判定有关:至少需要2个哨兵节点同意,才能判定主节点故障并进行故障转移。当B和B1都失败后,集群将不可用。●自动故障转移:当主节点不能正常工作时,哨兵会开始自动故障转移操作,它会将失效主节点的其中一个从节点升级为新的主节点,并让其它从节点改为复制新的主节点。
2024-01-16 12:08:00 1650
原创 Redis主从复制
(4)Master机器收到Slave端机器的连接后,将其完整的数据文件发送给Slave端机器,如果Master同时收到多个Slave发来的同步请求,则Master会在后台启动一个进程以保存数据文件,然后将其发送给所有的Slave端机器,确保所有的Slave端机器都正常。●负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点),分担服务器负载;●哨兵:在主从复制的基础上,哨兵实现了自动化的故障恢复。
2024-01-16 12:04:29 934
原创 Redis优化和解决缓存问题
正常情况下,大部分的访问请求应该是先被redis响应的,在redis那里得不到响应的小部分访问请求才会去请求MySQL数据库获取数据,这样MySQL数据库的负载压力是非常小的,且可以正常工作。4)精简 key 的键名和键值,控制 key 占用空间的大小,避免 bigkey 的产生(redis-cli --bigkeys 可用于查找bigKey)2)尽可能使用 hash 数据类型存储数据。读取数据时,先从redis读取数据,如果redis中没有,再从MySQL中读取,并将读取到的数据同步到redis缓存中。
2024-01-11 19:02:03 1985
原创 Redis基础命令
redis 性能压测工具 redis-benchmark -h -p -a -c -n -d -t -q。数据类型: 五大基础类型 String(字符串) List(列表) Hash(哈希/散列) Set(无序集合) Zset/Sorted Set(有序集合)renamenx 旧键 新键 重命名键名,不会覆盖已存在的键。
2024-01-11 18:57:34 402
原创 LNMP平台对接redis服务
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/" #736行,指定redis模块目录。extension = "redis.so" #738行,修改参数项名称为extension,指定redis模块名称。//运行 phpize 脚本的用途是动态安装 php 扩展模块。//结果:string(10) "1111111111"官网:http://redis.io/
2024-01-11 15:21:05 533
原创 NoSQL之 Redis配置与优化
Redis(远程字典服务器) 是一个开源的、使用 C 语言编写的 NoSQL 数据库。Redis 基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环。Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度则是完全依靠于主进程的执行效率。若在服务器上只运行一个Redis进程,当多个客户端同时访问时,服务器的处理能力是会有一定程度的下降;
2024-01-11 15:17:58 1177
原创 Nginx+Tomcat负载均衡、动静分离以及Nginx负载均衡和四层代理
●ip_hash 负载均衡模式: 每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题,但是ip_hash会造成负载不均,有的服务请求接受多,有的服务请求接受少,所以不建议采用ip_hash模式,session 共享问题可用后端服务的 session 共享代替 nginx 的 ip_hash(使用后端服务器自身通过相关机制保持session同步)。●fair(第三方)负载均衡模式: 按后端服务器的响应时间来分配请求,响应时间短的优先分配。
2024-01-09 16:57:15 1010 1
原创 Tomcat服务实例部署
Servlet 是Java Servlet 的简称,可以理解为是一个服务连接器,是用 Java 编写的服务器端程序,具有独立于平台和协议的特性, 简单的理解:servlet 就是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态网页的创建。JSP 全称 Java Server Pages,是一种动态网页开发技术。它使用 JSP 标签在HTML网页中插入 Java 代码。标签通常以 结束。
2024-01-09 16:50:05 1148
原创 数据库备份和恢复以及配置优化
如果MySQL的连接数据达到max_connections时,新的请求将会被存在堆栈中,以等待某一连接释放资源,该堆栈数量即back_log,如果等待连接的数量超过back_log,将不被接受连接资源。MySQL的最大连接数,如果服务器的并发连接请求量较大,建议调高此值,以增加并行连接数量,当然这建立在机器能支撑的情况下,因为如果连接数越多,MySQL回味每个连接提供连接缓冲区,就会开销越多的内存,所以要适当调整该值,不能盲目提高设值。这样的情况次数越多,表示查询缓存 应用到的比较少,效果也就不理想。
2024-01-09 16:32:39 833
原创 MySQL主主复制管理器
MMM 使用 Perl 语言开发,主要用来监控和管理 MySQL Master-Master (双主)复制,虽然叫做双主复制,但是业务上同一时刻只允许对一个主进行写入,另一台备选主上提供部分读服务,以加速在主主切换时备选主的预热,可以说MMM这套脚本程序一方面实现了故障切换的功能,另一方面其内部附加的工具脚本也可以实现多个 Slave 的 read 负载均衡。●mmm_agent:运行在每个MySQL服务器上的代理进程,完成监控的探针工作和执行简单的远端服务设置。此脚本需要在被监管机上运行。
2024-01-09 16:23:37 1219
原创 MySQL半同步复制
所以,半同步复制最好在低延时的网络中使用。MySQL默认的复制即是异步的,主库在执行完客户端提交的事务后会立即将结果返给客户端,并不关心从库是否已经接收并处理,这样就会有一个问题,主如果crash掉了,此时主上已经提交的事务可能并没有传到从上,如果此时,强行将从提升为主,可能导致新主上的数据不完整。当半同步复制发生超时(由rpl_semi_sync_master_timeout参数控制,默认为10000ms,即10s),会暂时关闭半同步复制,转而使用异步复制,也就是会自动降为异步工作。
2024-01-09 16:17:56 1321
原创 MySQL MHA
MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA 的出现就是解决MySQL 单点的问题。MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。
2024-01-08 08:48:06 1565
原创 MySQL主从复制与读写分离
读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。
2024-01-05 11:18:21 864
原创 mysql 高阶查询
select A.字段,count(字段) from (select distinct 字段 from 左表 union all select distinct 字段 from 右表) A group by A.字段 having count(字段) > 1;select A.字段 from (select distinct 字段 from 左表 union all select distinct 字段 from 右表) A group by A.字段 having count(A.字段) = 1;
2024-01-05 11:02:42 941
原创 MySQL备份与恢复
mysqlbinlog --no-defaults --start-position='开始位置点'--stop-position='结束位置点' | mysql -uXXX -pXXX。mysqlbinlog --no-defaults --start-datetime='开始时间点' --stp-position='结束时间点' | mysql -uxxX-pxxX。增量备份: 每次备份只备份上一次完全备份或增量备份后的更新数据。
2023-12-26 18:26:01 805
原创 LVS+Keepalived集群
实现高可用负载均衡一个合格的集群需具备的特性:负载均衡健康检查(探针):for调度器/节点服务器、Keepalived、Heartboat故障转移:通过VIP漂移实现主备切换:向目标主机的发起连接请求,如果TCP连接三次握手成功则认为健康检查探测成功,否则认为健康检查探测失败:向目标主机的路径发送请求方法,如果响应消息为2XX、3XX状态码则认为健康检查探测成功,如果响应消息为4XX、5XX状态码则认为健康检查探测失败Keepalived。
2023-12-25 16:41:23 948
原创 MYSQL数据库初体验
一.操作系统Macos()二.Linux系统OpenSUSE三.信创标准华为 欧拉阿里 龙蜥腾讯 tencentOS红旗 统信 麒麟(银河麒麟,中标麒麟-->CentOS,优麒麟-->Ubuntu)数据库分两大类:关系型数据库 SQL非关系型数据库 NoSQL关系型数据库:典型代表 MySQL MariaDB PostgreSQL(pgdb) Oracle SQL Server Db2。
2023-12-25 16:22:22 798
原创 DR模式 LVS负载均衡群集
LVS调度器用的调度方法基本分为两类: 固定调度算法:rr,wrr,dh,sh rr:轮询算法,将请求依次分配给不同的rs节点,即RS节点中均摊分配。动态调度算法:wlc,lc,lblc wlc:加权最小连接数调度,假设各台RS的权值依次为Wi,当前tcp连接数依次为Ti,依次去Ti/Wi为最小的RS作为下一个分配的RS。真实服务器响应完请求后,查看默认路由,把响应后的数据包发送给负载均衡器,负载均衡器在接收到响应包后,把包的源地址改成虚拟地址(VIP)然后发送回给客户端。列举你知道的LVS调度算法?
2023-12-22 17:23:21 818
原创 LVS负载均衡群集——NAT模式
(与IP隧道模式的区别) DR模式是企业首选的LVs模式。采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的Internet连接直接回应客户机,而不再经过负载调度器 服务器节点分散在互联网中的不同位置具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信。调度器会作为所有节点服务器的默认网关,也是客户端的访问入口和节点服务器返回响应消息的出口,所以调度器会承载双向流量的负载压力,可能会为整个群集的性能瓶颈 由于节点服务器都会处于内网环境,使用私网IP,所以具有一点的安全行。
2023-12-19 18:51:29 861
原创 Nginx优化与防盗链
nginx应用程序的配置文件安全优化:1、隐藏版本号,开启server_tokens2、修改进程运行的用户和组,一般在程序配置的时候指定nginx,或者是可以修改配置文件中的user3、添加防盗链,使用rewrite模块,重写URL4、修改limit_conn和limit_req的模块参数,限制单个ip的最大访问数量和访问频率
2023-12-15 17:32:24 1005
原创 Nginx Rewrite
第一个必选规则 直接匹配网站根目录首页,通过域名访问网站首页比较频繁,使用这个会加速处理,比如说官网。可以是一个静态首页,也可以直接转发给后端应用服务器 location = /index.html { root html;#第二个必选规则是处理静态文件请求,这是nginx作为http服务器的强项 有两种配置模式,目录匹配或后缀匹配,任选其一或搭配使用 location ^~ /static/ { root /webroot/;
2023-12-13 16:47:30 993
原创 Nginx
Nginx是一款高性能、轻量级Web服务软件,用于HTTP、HTTPS、SMTP、POP3、IMAP协议。高效实现反向代理和负载均衡,可处理2-3万的并发数,理想状态达到5万。内置的健康检查功能:如果有一个服务宕机,会做一个健康检查,再发送的请求就不会发送到宕机的服务器了,重新将请求提交到其他的节点上。:配置虚拟主机的相关参数,一个 http 块中可以有多个server块。:配置代理、缓存、日志定义等绝大多数功能和第三方模块的配置。:配置后端服务器具体地址,负载均衡配置不可或缺的部分。
2023-12-12 23:32:03 416
原创 LAMP与LNMP架构
一、概述LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词,具体包括Linux操作系统、Apache网站服务器、MySQL数据库服务器、PHP(或Perl、Python)网页编程语言。二、各组件的主要作用(平台)Linux:作为LAMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AMP组件也支持Windows、UNIX等平台)。(前台)Apache。
2023-12-11 18:58:42 1244
原创 内外网转换NAT
支持的规则链:INPUT、OUTPUT、PREROUTING、POSTROUTING分类SNAT(将外网设备共享给内网)source NAT ,支持,让本地网络中的主机通过某一特定地址访问外部网络,实现地址伪装,请求报文:修改源IPDNAT(将内网设备共享给外网)destination NAT,支持,把本地网络中的主机上的某服务开放给外部网络访问(发布服务和端口映射),但隐藏真实IP,请求报文:修改目标IPPNATport nat,端口和IP都进行修改内核参数配置文件SNAT。
2023-12-04 18:40:43 519
原创 防火墙规则保存及自定义链
类似于函数,将类型相同的规则放入同一个链中#删除WEB链#当WEB链被赋予链接,及链内有规则时,不可以被删除#先将与WEB链关联的INPUT规则删除#再将WEB链内的规则全部清空#注意:当有人使用时无法清空#此时使用-X命令,就可以删除WEB链了#将WEB链改名为NEW#修改自定义链时,与删除条件一致,必须清空。
2023-12-04 18:19:06 398
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人