自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 k8s(7)

Pod:是K8S中创建和管理的最小单位一个Pod至少包含多少容器?1个pause容器(基础容器/父容器/根容器)1个或者多个应用容器(业务容器)通常一个Pod最好只包含一个应用容器,一个应用容器最好也只运行一个应用进程同一个Pod里的容器都是运行在同一个node节点上的,并且共享 net mnt uts pid ipc 命名空间pause容器的作用?(给Pod容器组做环境初始化)作为linux命名空间共享的基础,为Pod里的其它容器提供网络、存储资源的共享。

2024-02-29 16:59:21 682 1

原创 k8s(6)

kubectl get -n -o yaml > XXX.yaml #获取资源配置清单kubectl apply|create -f XXX.yaml #创建|更新资源kubectl delete -f XXX.yaml #删除资源kubectl edit -n #在线修改资源配置。

2024-02-27 14:49:08 849

原创 k8s(5)

环境准备:2主2从负载均衡器:192.168.233.50,192.168.233.60注意事项:master节点cpu核心数要求大于2最新的版本不一定好,但相对于旧版本,核心功能稳定,但新增功能、接口相对不稳学会一个版本的 高可用部署,其他版本操作都差不多宿主机尽量升级到CentOS 7.9内核kernel升级到 4.19+ 这种稳定的内核部署k8s版本时,尽量找 1.xx.5 这种大于5的小版本(这种一般是比较稳定的版本)

2024-02-26 11:17:40 1002

原创 k8s(4)

都进行编译安装nginx:[nginx]gpgcheck=1enabled=1。

2024-02-23 14:08:49 868

原创 k8s(3)

使用BGP模式会把每个node节点看作成路由器,通过Felix、BIRD组件来维护和分发路由规则,可实现直接通过BGP路由协议实现路由转发,传输过程中不需要额外封包和解包过程,因此性能较好,但是只能在同一个网段里使用,无法跨子网传输。3)flanneld进程会根据在etcd中维护的路由表查到目标Pod所在的nodeIP,并在UDP报文外封装nodeIP头部、MAC头部,再通过物理网卡发送到目标node节点。VXLAN可以将数据帧封装成UDP报文,再通过网络层传输给其它网络,从而实现虚拟大二层网络的通信。

2024-02-22 16:41:43 908

原创 k8s(2)

Kubeadm降低部署门槛,但屏蔽了很多细节,遇到问题很难排查。如果想更容易可控,推荐使用二进制包部署Kubernetes集群,虽然手动部署麻烦点,期间可以学习很多工作原理,也利于后期维护。Kubeadm也是一个工具,提供kubeadm init和kubeadm join,用于快速部署K8S集群,相对简单。生产首选,从官方下载发行版的二进制包,手动部署每个组件和自签TLS证书,组成K8S集群,新手推荐。遇到故障,启动宿主机,再启动进程,最后去启动容器,集群才能恢复,速度比二进制慢。

2024-02-22 14:36:56 1674

原创 K8S的架构(1)

kubernetes : Google旗下的容器跨主机编排工具,占据了80%以上的市场份额,已经的事实标准,在Docker等容器技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。

2024-02-20 16:24:39 1115 1

原创 Ansible(2)

在Ansible中,提供的唯一一个通用的条件判断是when指令,当when指令的值为true时,则该任务执行,否则不执行该任务。ansible-playbook demo1.yaml --syntax-check #检查yaml文件的语法是否正确。ansible-playbook demo1.yaml --list-task #检查tasks任务。ansible-playbook demo1.yaml --list-hosts #检查生效的主机。(2)Variables:变量。

2024-02-18 15:30:47 1056

原创 Ansible自动化工具(1)

ansible :自动化运维工具,也叫机器管理工具。可以实现批量管理成百上千的多台主机,是应用级别的跨主机编排工具。

2024-02-04 19:42:26 1294 1

原创 Docker容器引擎(7)

尽量以资源限制的方式运行容器 -m --memory-swap --cpu-quota --cpu-shares --cpuset-cpus --device-write-bps。3)客户端收到服务端发来的证书后,会先用本地的CA证书校验服务端证书的有效性,如果证书有效,再将包含公钥的客户端证书发送给服务端。3)客户端受到服务端发来的证书后,会先用本地的CA证书校验服务端证书的有效性,如果证书有效,则继续,否则告警。

2024-01-31 14:50:28 835

原创 Docker容器引擎(6)

consul : 实现服务自动发现和注册的工具。

2024-01-30 15:06:12 1273

原创 Docker容器引擎(5)

编排管理容器:Dockerfile文件 --> 在 docker compose 配置文件里定义好容器启动参数和依赖关系 -> 执行 docker-compose 命令指定配置文件一次性的自动完成所有镜像的构建和容器的创建启动。本质就是在yaml格式的docker-compose配置模板文件里定义多个服务容器的启动参数和依赖关系,并使用docker-compose命令根据指定配置模板文件的配置来启动和管理容器集群。字段 描述。

2024-01-29 15:14:54 1247

原创 Docker容器引擎(4)

Harbor 的每个组件都是以 Docker 容器的形式构建的,使用 docker-compose 来对它进行部署。用于部署 Harbor 的 docker-compose 模板位于 harbor/docker-compose.yml。

2024-01-29 10:49:55 755

原创 Docker容器引擎(3)

docker run --entrypoint="命令" > 镜像里的ENTRYPOINT指令指定的"命令" > docker run .... 镜像 "命令" > 镜像里的CMD指令指定的"命令"区别:ENTRYPOINT指定的容器启动命令优先级更高,如果CMD和ENTRYPOINT同时存在,那么CMD指定的内容将作为ENTRYPOINT指定的容器启动命令的选项或参数使用。Docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统就是UnionFS。

2024-01-25 18:16:46 816

原创 Docker容器引擎(2)

如果容器希望外部访问能够访问到,可以通过映射容器端口到宿主主机(端口映射),即 docker run 创建容器时候通过 -p 或 -P 参数来启用,访问容器的时候就通过[宿主机IP]:[容器端口]访问容器。Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。docker的默认网络模式。CFS默认的调度周期是100ms。

2024-01-24 18:11:01 906

原创 Docker容器引擎(1)

1)容器可以屏蔽底层操作系统的差异性,让业务应用不管在哪里都是使用容器的环境运行,从而保证开发测试环境与生产环境的一致性2)容器部署起来非常便捷和迅速,缩短开发测试部署的周期时间Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。

2024-01-23 17:17:43 966

原创 ELK分离式日志(2)

Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。主要原因是由于在高并发环境下,同步请求来不及处理,请求往往会发生阻塞。比如大量的请求并发访问数据库,导致行锁表锁,最后请求线程会堆积过多,从而触发 too many connection 错误,引发雪崩效应。我们使用消息队列,通过异步处理请求,从而缓解系统的压力。消息队列常应用于异步处理,流量削峰,应用解耦,消息通讯等场景。

2024-01-22 18:49:15 1000

原创 ELK 分离式日志(1)

通常在需要采集数据的客户端安装 Filebeat,并指定目录与日志格式,Filebeat 就能快速收集数据,并发送给 logstash 进行解析,或是直接发给 Elasticsearch 存储,性能上相比运行于 JVM 上的 logstash 优势明显,是对它的替代。总结:logstash作为日志搜集器,从数据源采集数据,并对数据进行过滤,格式化处理,然后交由Elasticsearch存储,kibana对日志进行可视化处理。Kibana 从 ES 群集中查询数据生成图表,并进行前端数据的展示。

2024-01-18 18:42:55 1170

原创 Ceph分布式存储(2)

mount -t ceph node01:6789,node02:6789,node03:6789:/ <本地挂载点目录> -o name=<用户名>,secretfile=<秘钥文件>mount -t ceph node01:6789,node02:6789,node03:6789:/ <本地挂载点目录> -o name=<用户名>,secret=<秘钥>ceph osd pool rm 池名 池名 --yes-i-really-really-mean-it。

2024-01-18 08:31:20 1008

原创 Ceph分布式存储(1)

3)通过对pgid使用CRUSH算法得到PG对应的OSD的ID,如果是多副本,则是主从OSD的ID(注:PG与OSD的对应关系是在创建存储池Pool的时候就确定好的)ceph.client.admin.keyring : ceph客户端和管理端通信的认证密钥,拥有ceph集群的所有权限。FileStore:是L版本(12.x)以前版本的唯一可选的OSD存储引擎,将数据对象存储为文件系统的文件,性能上有所不足。ceph-deploy-ceph.log : monitor的日志。

2024-01-16 18:16:17 1068

原创 Zabbix监控(2)

高可用仅仅针对 Zabbix Server 部分,数据库部分和前端部分需要自行采用各自领域的高可用解决方案。常用于监控网络设备,也能监控支持开启SNMP功能的设备(windows、linux、打印机等)。分别输入 回车 -> n -> Y (设置root密码,如abc123) -> 后面一路 Y。zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。zabbix agent2 会主动上报自己的信息,发给 zabbix server。分担 server 的集中式压力;

2024-01-16 09:19:53 872

原创 Zabbix监控(1)

zabbix : 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix 由 2 部分构成:zabbix server 与可选组件 zabbix agent。通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。

2024-01-14 12:13:24 898

原创 rsync 远程同步

rsync(Remote Sync,远程同步) 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。在远程同步任务中,负责发起rsync同步操作的客户机称为发起端,而负责响应来自客户机的rsync同步操作的服务器称为同步源。在同步过程中,同步源负责提供文件的原始位置,发起端应对该位置具有读取权限。

2024-01-11 18:01:31 841

原创 Web缓存代理

作用:存储一些之前被访问的,且可能将要被再次访问的静态网页资源对象,使客户端可以直接从缓存代理服务器获取资源,从而减少上游原始服务器的负载压力,加快整个访问速度。代理服务器还可以代替客户端去获取原始服务器的资源,从而隐藏客户端真实地址。常见的Web缓存代理应用:本地实现 Nginx Squid Varnish 云环境远端实现 CDN数据库缓存代理应用:Redis Memcached。

2024-01-10 16:09:52 411

原创 Redis主从复制哨兵及集群

目录一.主从复制主从复制的工作原理如下:主从复制的作用:搭建Redis 主从复制每台服务器配置:​编辑进行编译安装:定义systemd服务管理脚本:开启服务,报错看下内容:修改 Redis 配置文件(Master节点操作):修改 Redis 配置文件(Slave节点操作):192.168.233.30(从)与192.168.233.20(从)配置一样.验证主从效果:二.Redis 哨兵模式哨兵模式的作用:哨兵结构由两部分组成:主节点的选举:哨兵模式工作过程:哨兵的启动依赖于主从模式,所以须把主从模式安装好的

2024-01-09 22:12:07 885

原创 Redis高可用

正常情况下,大部分的访问请求应该是先被redis响应的,在redis那里得不到响应的小部分访问请求才会去请求MySQL数据库获取数据,这样MySQL数据库的负载压力是非常小的,且可以正常工作。Cluster集群:通过集群,Redis解决了写操作无法负载均衡,以及存储能力受到单机限制的问题,实现了较为完善的高可用方案。读取数据时,先从redis读取数据,如果redis中没有,再从MySQL中读取,并将读取到的数据同步到redis缓存中。哨兵:在主从复制的基础上,哨兵实现了自动化的故障恢复。

2024-01-08 16:11:47 895

原创 Redis(Nosql数据库)

zrangebyscore 键 -inf +inf limit 最小值 最大值:-inf表示第一个(位置索引值最低的,即0),+inf表示最后一个(位置索引值最高的)limit后面的参数用于限制返回值,从索引值为2开始往后取3个值。: redis-benchmark -h <redis服务地址> -p <服务端口> -a <密码> -c <并发连接数> -n <请求数> -d <数据大小> -t <命令列表> -q。语法:redis-cli -h host -p port [-a password]

2024-01-06 20:40:25 1727 1

原创 Mysql高可用

mha:m是master,是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。出现就是解决MySQL 单点的问题。

2024-01-04 15:34:06 515

原创 Mysql的主从复制和读写分离

读写分离读写分离具有高可用性。

2024-01-02 18:47:07 932

原创 Mysql高阶语句及存储过程

mysql高阶语句case是 SQL 用来做为if,then,else 之类逻辑的关键字。select case '字段' when 值1或表达式 then 值或表达式when 值2或表达式 then 值或表达式.......else 值或表达式 end AS "字段别名"from 表;

2023-12-30 10:24:08 919 1

原创 Mysql 高级语句

least (x1,x2...) 返回集合中最小的值,也可以返回多个字段的最小的值。left join 左连接,返回左表所有的行记录和右表字段相等的行记录,不相等的行返回null。right join 右连接,返回右表所有的行记录和左表字段相等的行记录,不相等的行返回null。greatest(x1,x2...) 返回集合中最大的值,也可以返回多个字段的最大的值。round(x,y) 保留 x 的 y 位小数四舍五入后的值。

2023-12-28 15:03:17 1013

原创 Mysql(5日志备份恢复)

MySQL 的日志默认保存位置为 /usr/local/mysql/data先看下mysql的日志文件有无:修改配置文件添加:错误日志,用来记录当MySQL启动、停止或运行时发生的错误信息,默认已开启修改配置文件添加:通用查询日志,用来记录MySQL的所有连接和语句,默认是关闭的修改配置文件添加:二进制日志(binlog),用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认已开启。

2023-12-26 19:08:38 924

原创 Mysql(4事务及存储)

支持事务、外键约束,支持行级锁定(在全表扫描时仍然会表级锁定),读写并发能力较好,支持全文索引(5.5版本之后),缓存能力较好可以减少磁盘IO的压力,数据文件也是索引文件(存储成两个文件:表结构文件.frm、数据文件.ibd):不支持事务、外键约束,只支持表级锁定,适合单独的查询和插入的操作,读写会相互阻塞,支持全文索引,硬件资源占用较小,数据文件和索引文件是分开存储的(存储成三个文件:表结构文件.frm、数据文件.MYD、索引文件.MYI)不可重复读:指在一个事务内,多次读同一数据。

2023-12-25 20:52:13 936

原创 Mysql(3)

索引是一个排序的列表,包含索引字段的值和其对应的行记录的数据所在的物理地址。作用:加快表的查询速度,可以对字段排序。副作用:会额外占用磁盘空间;更新包含索引的表会花费更多的时间,效率会更慢。工作方式:没有索引的情况下,要根据条件查询某行数据时,需要先扫描全表,再定位某行数据的位置。有了索引后,会先通过查询条件的字段值找到其索引对应的行记录的数据的物理地址,然后根据物理地址直接访问相应的行记录的数据,就像根据书目录的页码快速找到所需的内容。

2023-12-24 20:15:06 508

原创 Mysql(2)

创建外键约束,保证数据的完整性和一致性。与外键关联的主表的字段必须设置为主键。要求从表不能是临时表,主从表的字段具备相同的数据类型、字符长度和约束。主键表和外键表的理解:(1)以公共关键字作主键的表为主键表(父表、主表)(2)以公共关键字作外键的表为外键表(从表、外表)

2023-12-24 18:09:07 551

原创 Mysql数据库(1)

insert into 表名 (字段1, 字段2, ....) values (字段1的值, 字段2的值, ....);create table 表名 (字段1 数据类型, 字段2 数据类型, ....[, primary key(字段)]);primary key: 主键约束 字段的值不能重复,不能为Null,一个表只能有一个主键。int :数值,整型 无符号[0,2^32-1],有符号[-2^31,2^31-1]windows有:win7,win10,win11,windows server。

2023-12-22 21:57:58 905

原创 HAproxy

HAProxy是可提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,是免费、快速并且可靠的一种解决方案。Nginx默认只支持被动健康检查,主动健康检查需要安装第三方模块后支持 HAProxy支持TCP端口、URL路径、脚本等方式的健康检查。HAProxy和Nginx都是基于应用程序实现的软负载均衡,都支持4层和7层代理转发,且支持正则匹配。LVS是基于linux内核实现的软负载均衡,只支持4层代理的IP转发,并且不支持正则匹配。leastconn(最小连接数):最小链接。

2023-12-20 21:51:52 1004

原创 Lvs+keepalived群集

在一个LVS服务集群中通常有主服务器(master)和备份服务器(backup)两种服务器,但是对外表现为一个虚拟IP(VIP),主服务器会发送VRRP通告信息给备份服务器,当备份服务器收不到VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟IP,继续提供服务,从而保证了高可用性。原因:因为主服务器和备服务器之间的通信链路中断,导致备服务器无法收到主服务发送的VRRP消息,备服务器误认为主服务器故障,并通过ip命令生成VIP。在网络不好的情况下,主备服务器会来回切换,会导致数据的丢失。

2023-12-19 17:56:44 983

原创 Lvs-DR部署

3.部署调度器,在ensXX:0接口配置VIP,修改内核参数关闭IP路由转发和ICMP重定向功能ip_forward=0、send_redirects=0,安装ipvsadm工具,添加虚拟服务器和真实服务器的相关配置,使用-g选项选择DR模式。4.节点服务器在返回响应报文前,会先重新封装报文(源IP为VIP,目的为客户端IP),再将响应报文先通过lo接口传送给物理网卡,再通过物理网卡发送给客户端。4.客户端访问VIP测试 注:如果需要跨网段通信,调度器和节点服务器的默认网关要指向路由器的网关接口地址。

2023-12-16 13:22:59 439

原创 Lvs-NAT部署

lvs负载均衡群集:由多台主机构成,对外表现为一个整体,只提供一个访问入口,相当于一个大计算机。

2023-12-15 17:33:24 823

空空如也

空空如也

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

TA关注的人

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