自定义博客皮肤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)
  • 收藏
  • 关注

原创 二进制搭建Kubernetes集群(三)——部署多master

先部署master02等其它master节点搭建Nginx/Haproxy + keepalived 高可用 负载均衡对接master节点群集修改node 节点上的kubelet kube-proxy 的kubeconfig 配置文件对接vipkubectl的配置文件也要对接VIP或者当前节点的IP。

2023-06-28 10:57:19 1008

原创 二进制搭建Kubernetes集群(二)——部署Worker Node 组件

(1)Pod 内容器与容器之间的通信在同一个 Pod 内的容器(Pod 内的容器是不会跨宿主机的)共享同一个网络命令空间,相当于它们在同一台机器上一样,可以用 localhost 地址访问彼此的端口。(2)同一个 Node 内 Pod 之间的通信每个 Pod 都有一个真实的全局 IP 地址,同一个 Node 内的不同 Pod 之间可以直接采用对方 Pod 的 IP 地址进行通信,Pod1 与 Pod2 都是通过 Veth 连接到同一个 docker0 网桥,网段相同,所以它们之间可以直接通信。

2023-06-28 10:03:58 327

原创 二进制搭建Kubernetes集群(一)——部署etcd集群和单master

分布式键值对型的数据库,服务发现系统(之前的docker-consul 就是服务发现)go语言开发的,使用raft-a致性算法部署集群时需要3台或以上的奇数台2379 对外(客户端)通信的端口2380 对内(集群内部节点间)通信的端口。

2023-06-20 13:26:39 1801

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

vars: #定义变量- groupname: mysql #格式为 key: valuetasks:group: name={{groupname}} system=yes gid=306 #使用 {{key}} 引用变量的值copy: content="{{ansible_default_ipv4}}" dest=/opt/vars.txt #gather_facts设为true,进行facts信息收集,在setup模块中可以获取facts变量信息变量可命令行里定义格式。

2023-06-19 09:02:30 1885

原创 自动化运维工具—Ansible

(1)Ansible其中一个比较鲜明的特性Agentless,即无Agent的存在,只需在某个作为控制节点的主机上安装一次Ansible即可,通常它基于ssh连接来控制远程主机,远程主机上不需要安装Ansible或其它额外的服务。(2)Ansible的另一个比较鲜明的特性是它的绝大多数模块都具备幂等性(idempotence)。所谓幂等性,指的是多次操作或多次执行对系统资源的影响是一致的。注意:script模块不具有幂等性。所以建议用剧本来执行。

2023-06-14 08:04:57 2755 1

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

consul是google开源的一个使用go语言开发的服务管理软件。支持多数据中心、分布式高可用的、服务发现和配置共享。采用Raft算法,用来保证服务的高可用。内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等)。服务部署简单,只有一个可运行的二进制的包。每个节点都需要运行agent,他有两种运行模式server和client。

2023-06-12 09:43:32 1021

原创 Docker--harbor私有仓库部署与管理

Harbor 是 VMware 公司开源的企业级项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。Harbor以 Docker 公司开源的为基础,提供了图形管理 UI 、基于角色的访问控制(Role Based AccessControl) 、AD/LDAP 集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。Harbor 的每个组件都是以 Docker 容器的形式构建的,使用** docker-compose** 来对它进行部署。

2023-06-12 09:01:06 510

原创 使用 Docker-compose 搭建lnmp

我们知道使用一个Dockerfile模板文件可以定义一个单独的应用容器,如果需要定义多个容器就需要服务编排。服务编排有很多种技术方案,今天给大家介绍Docker 官方产品Docker Compose。Dockerfile可以让用户管理一个单独的应用容器;而Compose则 允许用户在一个模板(YAML格式) 中定义一组相关联的应用容器( 被称为一个project,即项目),例如一个Web服务容器再加上后端的数据库服务容器等。Docker-Compose项目是Docker官方的开源项目,

2023-06-12 08:35:42 2176

原创 Dockerfile创建镜像

基础镜像尽量使用轻量级最小化的镜像。Dockerfile中尽量把RUN指令合并在一起,减少镜像的层数(因为每一个RUN指令就是一个镜像层)。多级构建(拿Dockerfile构建好的镜像再构建一次)。FROM 镜像 AS 别名 COPY --FROM 别名构建镜像时最后添加清空系统或应用程序的缓存的命令。

2023-06-12 08:18:32 4584

原创 Docker数据管理(数据卷、容器互联)

通过数据卷和数据卷容器对容器内数据进行共享、备份和恢复等操作,通过这些机制,即使容器在运行中出现故障,用户也不必担心数据发生丢失,只需要快速地重新创建容器即可命令说明docker run -v 宿主机目录:数据卷将宿主机目录挂载到容器中docker run -v 数据卷创建数据卷容器docker run --volumes-from 数据卷容器挂载数据卷容器(挂载点路径不变)docker run --link 源容器名称:别名容器互联。

2023-06-12 07:55:57 1545

原创 Docker Cgroups资源控制管理

docker run -cpu-period #设置调度周期时间1000~1000000-cpu-quota #设置容器进程的CPU占用时间,要与调度周期时间成比例--cpu-shares #设置多个容器之间的CPU资源占用比--cpuset-cpus #绑核(第一个CPU编号从0开始)

2023-06-12 07:43:47 1234

原创 Docker的网络模式

需要先自定义网络,再指定IP运行docker。#(1)先自定义网络,设置网卡地址池,网卡名,网络模式名称​-------------注释---------------------------------------------------------------------

2023-06-05 10:22:11 899

原创 Docker的容器管理操作

命令作用docker create -i [–name=容器名称] 镜像名创建容器docker create -it [–name=容器名称] 镜像名 创建容器并导入命令docker start 启动容器docker stop 停止容器docker kill 立即强制停止容器docker ps查询运行状态的容器查询所有容器docker rm [-f] 删除容器 (-f 强制删除正在运行的容器)

2023-06-05 09:46:25 708

原创 Docker 基本管理

Docker是基于go语言开发的开源容器引擎,可以在任何主机上运行容器应用,并且每个容器都是一个轻量级的虚拟机。实现“一次封装,到处运行”的目的。

2023-06-05 08:58:52 930

原创 Ceph应用

如果需要使用到类似 S3 或者 Swift 接口时候才需要部署/创建 RadosGW 接口,RadosGW 通常作为对象存储(Object Storage)使用,类于阿里云OSS。如果 ceph 集群有上千个 osd,每天坏 2~3 个太正常了,我们可以模拟 down 掉一个 osd。在管理节点使用 radosgw-admin 命令创建 RadosGW 账户。

2023-06-05 08:02:35 484

原创 Ceph分布式存储 原理+架构图详解

存储机制会把数据分散存储到多个节点上,具有高扩展性、高性能、高可用性等优点。

2023-06-05 07:41:52 2853

原创 【分布式应用】ELFK集群部署(Filebeat+ELK)Logstash的过滤模块

注意:ELFK集群环境下,Logstash 组件所在节点的/etc/logstash/conf.d目录下,不需要创建system.conf配置文件,即Logstash不需要收集系统日志,因为系统日志将由filebeat收集后发送给Logstash。filebeat 发送给 logstash 的日志内容会放到message 字段里面,logstash 匹配这个 message 字段就可以了。而对于 Logstash 的 Filter,这个才是 Logstash 最强大的地方。

2023-05-31 07:45:52 777

原创 【分布式应用】ELK企业级日志分析系统

是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志。Elasticsearch 是用 Java 开发的,可通过 RESTful Web 接口,让用户可以通过浏览器与Elasticsearch 通信。Elasticsearch是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大容量的日志数据,也可用于搜索许多不同类型的文档。

2023-05-31 07:16:59 584

原创 分布式监控平台——Zabbix6.0

作为一个运维,需要会使用监控系统查看服务器状态以及网站流量指标,利用监控系统的数据去了解上线发布的结果,和网站的健康状态。通过一个友好的界面进行浏览整个网站所有的服务器状态可以在Web 前端方便的查看监控数据可以回溯寻找事故发生时系统的问题和报警情况案列:自定义监控客户端服务器登录的人数需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息#可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中#自定义监控项的格式如下1).创建模板。

2023-05-30 18:48:05 1349 1

原创 Zookeeper+消息队列Kafka

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

2023-05-29 19:32:46 949

原创 rsync远程同步

rsync(Remote Sync,远程同步)是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。rsync 的官方站点的网址是,目前最新版本是 3.1.3,由 Wayne Davison 进行维护。作为一种最常用的文件备份工具,rsync 往往是 Linux 和 UNIX 系统默 认安装的基本组件之一。

2023-05-22 19:15:14 628

原创 Web缓存服务——Squid代理服务器应用

Squid 主要提供缓存加速、应用层过滤控制的功能。代理服务器能代替用户去访问公网,并且能把访问到的数据缓存到服务器本地,等用户下次再访问相同的资源的时候,代理服务器直接从本地回应给用户。当本地没有的时候,我代替你去访问公网,我接收你的请求,我先在我自己的本地缓存找,如果我本地缓存有,我直接从我本地的缓存里回复你;如果我在我本地没有找到你要访问的缓存的数据,那么代理服务器就会代替你去访问公网。

2023-05-22 18:44:28 1092

原创 Redis高可用之主从复制、哨兵、cluster集群

三种模式需要注意修改不同的配置文件。主从复制:vim /etc/redis/6379.conf哨兵模式:vim /opt/redis-7.0.9/sentinel.confcluster集群:vim /opt/redis-7.0.9/redis.conf。

2023-05-22 11:05:05 460

原创 Redis 高可用之持久化

在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供正常服务(如主从分离、快速容灾技术),还需要考虑数据容量的扩展、数据安全不会丢失等。

2023-05-16 19:16:17 469

原创 数据库缓存服务——NoSQL之Redis配置与优化

实例-->数据库-->表(table)-->记录行(row)、数据字段(column)实例-->数据库-->集合(collection) -->键值对(key-value)非关系型数据库不需要手动建数据库和集合(表)。Redis (远程字典服务器)是一个 开源的、使用C语言编写的NoSQL 数据库。Redis基于内存运行并支持持久化,采用key-value (键值对)的存储形式,是目前分布式架构中不可或缺的一环。

2023-05-15 19:00:16 525

原创 MySQL高可用之MHA集群

​​​​​​​​​MySQL Replication Health is OK. #出现该字样说明主从连接正常。

2023-05-15 00:09:55 424

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

Master节点需要开启二进制日志,Slave节点需要开启中继日志。(1)Master 节点将数据的改变记录成二进制日志(bin log),当Master上的数据发生改变时(增删改),则将其改变写入二进制日志中。(2)Slave节点会在一定时间间隔内对Master的二进制日志进行探测其是否发生改变,如果发生改变,则开始一个I/O线程请求Master的二进制事件。(请求二进制数据)(3)同时Master 节点为每个I/O线程启动一个dump线程,用于向其发送二进制事件,并保存至slave节点本地的。

2023-05-14 23:07:24 539 4

原创 MySQL 高级(进阶) SQL 语句三 存储过程

存储过程是一组为了完成特定功能的SQL语句集合。存储过程在使用过程中是将常用或者复杂的工作预先使用SQL语句写好并用一个指定的名称存储起来,这个过程经编译和优化后存储在数据库服务器中。当需要使用该存储过程时,只需要调用它即可。存储过程在执行上比传统SQL速度更快、执行效率更高。

2023-05-12 09:47:35 405

原创 MySQL 高级(进阶) SQL 语句二

注:oracle数据库支持 outer join(外连接),mysql不支持。

2023-05-11 19:38:49 1082

原创 MySQL 高级(进阶) SQL 语句一

如果sql_mode开启了PIPES_AS_CONCAT(可查看配置文件进行确认),"||"视为字符串的连接操作符而非”或“运算符,和字符串的拼接函数Concat相类似,这和Oracle数据库使用方法一样的。"GROUP BY"有一个原则,凡是在"GROUP BY"后面出现的字段,必须在SELECT 后面出现;凡是在SELECT 后面出现的、且未在聚合函数中出现的字段,必须出现在"GROUP BY"后面。用来过滤由"GROUP BY"语句返回的记录集,通常与"GROUP BY"语句联合使用。

2023-05-10 11:01:10 384

原创 MySQL数据库的备份与恢复

完全备份是对整个数据库、数据库结构和文件结构的备份保存的是备份完成时刻的数据库是差异备份与增量备份的基础使用mysqldump进行完全备份存在的问题备份数据中有重复数据备份时间与恢复时间过长是自上一次备份后增加/变化的文件或者内容增量备份的特点没有重复数据,备份量不大,时间短恢复需要上次完全备份及完全备份之后所有的增量备份才 能恢复,而且要对所有增量备份进行逐个反推恢复。

2023-05-09 19:24:52 3919

原创 MySQL数据库之存储引擎

MylSAM不支持事务,也不支持外键约束,只支持全文索引,数据文件和索引文件是分开保存的。访问速度快,对事务完整性没有要求。MylSAM适合查询、插入为主的应用。.frm文件存储表结构的定义数据文件的扩展名为.MYD (MYData)索引文件的扩展名是.MYI (MYIndex)支持事务,支持4个事务隔离级别MySQL从5.5.5版本开始,默认的存储引擎为InnoDB读写阻塞与事务隔离级别相关能非常高效的缓存索引和数据表与主键以簇的方式存储 BTREE。

2023-05-09 08:13:10 3249 1

原创 MySQL数据库之事务

原子性(Atomicity)一致性(Consistency )隔离性(Isolation)持久性(Durability)这是可靠数据库所应具备的几个特性。

2023-05-08 10:44:22 2317

原创 MySQL数据库之索引

加快查询速度,对字段进行排序。索引需要占用额外的磁盘空间。对于 MyISAM 引擎而言,索引文件和数据文件是分离的,索引文件用于保存数据记录的地址。而 InnoDB 引擎的表数据文件本身就是索引文件。(索引文件和数据文件是同一个)在插入和修改数据时要花费更多的时间、消耗更多性能,因为索引也要随之变动。

2023-05-05 21:41:20 1187

原创 MySQL数据库之用户管理

指定将创建的用户名指定新创建的用户可在哪些主机上登录,可使用IP地址、网段、主机名的形式,

2023-05-05 08:30:14 233

原创 MySQL数据库之库表管理

数据库:database表:table,行:row 列:column索引:index视图:view存储过程:procedure存储函数:function触发器:trigger事件调度器:event scheduler,任务计划用户:user权限:privilegeuse 库名;desc 表名;desc 表名\Gshow create table 表名;

2023-05-03 23:01:12 790

原创 MySQL数据库基础

(1)SQL Server(微软公司产品)面向Windows操作系统简单、易用(2)Oracle(甲骨文公司产品)面向所有主流平台安全、完善,操作复杂(3)DB2 (IBM公司产品)面向所有主流平台大型、安全、完善(4)MySQL(甲骨文公司收购)免费、开源、体积小关系数据库系统是基于关系模型的数据库系统关系模型的数据结构使用简单易懂的二维数据表关系模型可用简单的“实体-关系”(E-R)图来表示E-R图中包含了实体(数据对象)、关系和属性三个要素。

2023-04-27 18:42:53 441

原创 Haproxy搭建web群集

LVS基于Linux操作系统内核实现软负载均衡,而HAProxy和Nginx是基于第三方应用实现的软负载均衡;LVS是可实现4层的IP负载均衡技术,但不支持正则处理,无法实现基于目录、URL的转发。而HAProxy 和Nginx都可以实现4层和7层技术,HAProxy可提供TCP和HTTP应用的负载均衡综合解决方案;LVS性能最好,但搭建相对复杂,成本较高。一般在100台左右web主机的集群中使用。nginx做负载均衡调度器,配置简单,管理方便,但并发量不高,且没有主动健康检查。

2023-04-27 11:22:15 479

原创 LVS+keepalived 群集

Keepalived通过什么判断哪台主机为主服务器,通过什么方式配置浮动IP?Keepalived首先做初始化先检查state状态,master为主服务器,backup为备服务器。然后再对比所有服务器的优先级priority,谁的优先级高谁是最终的主服务器。优先级高的服务器会通过ip命令为自己的电脑配置一个提前定义好的浮动IP地址。

2023-04-26 08:27:52 418

原创 部署LVS-DR群集

修改源 MAC 地址为 Director Server 的 MAC地址,修改目标 MAC 地址为 Real Server 的 MAC 地址,源 IP 地址与目标 IP 地址没有改变,然后将数据包发送给 Real Server。(1)客户端发送请求到 Director Server(负载均衡器),请求的数据报文(源 IP 是 CIP,目标 IP 是 VIP)到达内核空间。发送ARP请求时,Linux默认使用IP包的源IP地址(即VIP)作为ARP请求包中的源IP地址,而不使用发送接口的IP地址。

2023-04-24 19:27:29 327

空空如也

空空如也

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

TA关注的人

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