自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Prometheus 监控系统

Prometheus 是一个开源的服务监控系统和时序数据库,其提供了通用的数据模型和快捷数据采集、存储和查询接口。它的核心组件 Prometheus server 会定期从静态配置的监控目标或者基于服务发现自动配置的目标中进行拉取数据,新拉取到的数据会持久化到存储设备当中。

2024-03-13 20:28:30 796

原创 k8s配置资源管理

kubectl create secret docker-registry <资源名称> --docker-server=<私有仓库URL路径> --docker-username=<仓库用户名> --docker-password=<用户密码> --docker-email=<邮箱地址>在容器配置中用volumeMounts将卷挂载到容器的指定的目录,Secret资源数据的键名会作为文件名,Secret资源数据的键值会作为文件内容。

2024-03-07 16:24:04 1203

原创 pod控制器

如上所述,一个完整的 StatefulSet 控制器由一个 Headless Service、一个 StatefulSet 和一个 volumeClaimTemplate 组成。

2024-03-06 17:28:21 622

原创 k8s存储

这里定义5个PV,并且定义挂载的路径以及访问模式,还有PV划分的大小。

2024-03-05 16:59:28 957

原创 k8s集群调度,亲和性,污点,容忍,排障

●公平:如何保证每个节点都能被分配资源●资源高效利用:集群所有资源最大化被使用●效率:调度的性能要好,能够尽快地对大批量的 pod 完成调度工作●灵活:允许用户根据自己的需求控制调度的逻辑Sheduler 是作为单独的程序运行的,启动之后会一直监听 APIServer,获取 spec.nodeName 为空的 pod,对每个 pod 都会创建一个 binding,表明该 pod 应该放到哪个节点上。调度分为几个部分:首先是过滤掉不满足条件的节点,这个过程称为预算策略(predicate);

2024-03-04 17:55:03 892

原创 Pod 进阶

PS:在买硬盘的时候,操作系统报的数量要比产品标出或商家号称的小一些,主要原因是标出的是以 MB、GB为单位的,1GB 就是1,000,000,000Byte,而操作系统是以2进制为处理单位的,因此检查硬盘容量时是以MiB、GiB为单位,1GiB=2^30=1,073,741,824,相比较而言,1GiB要比1GB多出1,073,741,824-1,000,000,000=73,741,824Byte,所以检测实际结果要比标出的少一些。不过,容器不可以使用超出所设置的 limit 资源量。

2024-02-29 18:13:39 847

原创 Pod基础概念

每个Pod都有一个特殊的被称为“基础容器”的Pause容器。Pause容器对应的镜像属于Kubernetes平台的一部分,除了Pause容器,每个Pod还包含一个或者多个紧密相关的用户应用容器。

2024-02-28 17:08:51 826

原创 kubectl 命令行管理K8S(下)

1.适合于对资源的修改操作2.声明式资源管理方法依赖于资源配置清单文件对资源进行管理资源配置清单文件有两种格式:yaml(人性化,易读),json(易于api接口解析)3.对资源的管理,是通过事先定义在统一资源配置清单内,再通过陈述式命令应用到k8s集群里4.语法格式:kubectl create/apply/delete -f xxxx.yaml可理解成使用yaml配置文件里定义的配置来实现资源对象的管理操作。

2024-02-27 16:53:29 1279

原创 kubectl 命令行管理K8S(上)

1.kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口2.kubectl 是官方的CLI命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为 apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径3.kubectl 的命令大全k8s中文文档:http://docs.kubernetes.org.cn/683.html4.对资源的增、删、查操作比较方便,但对改的操作就不容易了。

2024-02-26 18:24:40 1169

原创 二进制部署k8s集群之cni网络插件

UDP——出现最早,性能最差。基于flanneld应用程序实现原始数据包的封装和解封装VXLAN——是flannel的默认模式,也是推荐使用模式。(与udp模式比:)性能比udp好,基于内核实现原始数据帧的封装和解封装;(与HOST-GW模式比:)配置简单使用方便。HOST-GW——性能最好的模式,但是配置复杂,且不能跨网段(通过静态路由实现)

2024-02-24 21:21:11 1205

原创 二进制搭建 Kubernetes

k8s集群master01:192.168.75.10 kube-apiserver kube-controller-manager kube-scheduler etcdk8s集群master02:192.168.80.20k8s集群node01:192.168.75.20 kubelet kube-proxy dockerk8s集群node02:192.168.75.30etcd集群节点1:192.168.75.10 etcd。

2024-02-21 20:15:22 739

原创 Kubernetes 概述

ansible 应用级别的跨主机编排工具docker 容器引擎 容器运行时dockerfile 构建镜像docker-compose 单机容器集群编排工具docker-swarm Docker旗下的容器跨主机编排工具,是实现在多机上Docker容器集群管理调度的工具mesos:分布式资源管理框架,可以对集群中的多台主机的硬件资源进行统一调度和管理。

2024-02-20 16:25:23 1002

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

Ansible Playbook 是设定自动化任务的一种蓝图,可在无需人工干预或有限干预的前提下执行复杂的 IT 操作。Ansible Playbook 对一组或一类共同构成 Ansible 清单的主机执行。Ansible Playbook 本质上是一些框架,是一些预先编写的代码,开发人员可以用作临时模板或起始模板。Ansible Playbook 常被用于自动化 IT 基础架构(例如,操作系统和 Kubernetes 平台)、网络、安全系统,以及开发人员角色(例如 Git)。

2024-02-19 22:19:36 1305

原创 Ansible 自动化运维工具的使用

Ansible是一个基于Python开发的配置管理和应用部署工具,现在也在自动化管理领域大放异彩。它融合了众多老牌运维工具的优点,Pubbet和Saltstack能实现的功能,Ansible基本上都可以实现。Ansible能批量配置、部署、管理上千台主机。比如以前需要切换到每个主机上执行的一或多个操作,使用Ansible只需在固定的一台Ansible控制节点上去完成所有主机的操作。

2024-02-19 15:44:22 1243

原创 Docker 安全及日志管理

容器的安全性问题的根源在于容器和宿主机共享内核。如果容器里的应用导致Linux内核崩溃,那么整个系统可能都会崩溃。与虚拟机是不同的,虚拟机并没有与主机共享内核,虚拟机崩溃一般不会导致宿主机崩溃。

2024-01-31 16:50:00 1029

原创 Consul容器服务自动发现和更新

服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必须要知道所有后端服务的网络位置,并配置在配置文件中。如果需要调用后端服务A-N,就需要配置N个服务的网络位置,配置很麻烦后端服务的网络位置变化,都需要改变每个调用者的配置既然有这些问题,那么服务注册与发现就是解决这些问题的。

2024-01-30 14:52:51 1044

原创 Docker私有仓库搭建

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

2024-01-29 18:06:54 1064

原创 Docker Compose

Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service) 以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。

2024-01-29 16:20:13 1129

原创 Docker镜像的创建

容器其实是在镜像的最上面加了一层读写层,在运行容器里做的任何文件改动,都会写到这个读写层。但是当编写一个新的Dockerfile文件来基于A镜像构建一个镜像(比如为B镜像)时,这时构造A镜像的Dockerfile文件中的ONBUILD指令就生效了,在构建B镜像的过程中,首先会执行ONBUILD指令指定的指令,然后才会执行其它指令。Dockerfile是由多条的指令组成的文件,其中每条指令对应 Linux 中的一条命令,Docker 程序将读取Dockerfile 中的指令生成指定镜像。

2024-01-25 16:16:14 1046

原创 Docker的Cgroup资源限制

因此,无法单纯根据某个容器的 CPU 份额来确定有多少 CPU 资源分配给它,资源分配结果取决于同时运行的其他容器的 CPU 分配和容器中进程运行情况。所以 -m 300m --memory-swap=1g 的含义为:容器可以使用 300M 的物理内存,并且可以使用 700M(1G - 300)的 swap。使用 --cpu-period 即可设置调度周期,使用 --cpu-quota 即可设置在每个周期内容器能使用的CPU时间。设置 -1,表示不限制swap的值,宿主机有多少容器即可使用多少。

2024-01-25 00:05:15 1066

原创 Docker网络管理

直接使用bridge模式,是无法支持指定IP运行docker的,例如执行以下命令就会报错创建自定义网络,再指定ip运行docker#可以先自定义网络,再使用指定IP运行dockerdocker network create --subnet 自定义网段 --opt "com.docker.network.bridge.name"="自定义网桥名" 自定义网络模式名docker run --network 自定义网络模式名 --ip 自定义容器IP ....

2024-01-24 18:01:27 954

原创 Docker 基本管理

Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。Docker是在Linux容器里运行应用的开源工具,是一种轻量级的“虚拟机”。Docker 的容器技术可以在一台主机上轻松为任何应用创建一个轻量级的、可移植的、自给自足的容器。Docker的Logo设计为蓝色鲸鱼,拖着许多集装箱。鲸鱼可看作为宿主机,集装箱可理解为相互隔离的容器,每个集装箱中都包含自己的应用程序。

2024-01-23 18:25:51 1322 4

原创 部署Filebeat+Kafka+ELK 集群

主要原因是由于在高并发环境下,同步请求来不及处理,请求往往会发生阻塞。比如大量的请求并发访问数据库,导致行锁表锁,最后请求线程会堆积过多,从而触发 too many connection 错误,引发雪崩效应。我们使用消息队列,通过异步处理请求,从而缓解系统的压力。消息队列常应用于异步处理,流量削峰,应用解耦,消息通讯等场景。当前比较常见的 MQ 中间件有 ActiveMQ、RabbitMQ、RocketMQ、Kafka、Pulsar 等。

2024-01-22 20:20:28 1235

原创 Zookeeper集群

Zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目。

2024-01-22 13:29:25 873

原创 ELK 企业级日志分析系统

ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。●ElasticSearch:是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志。Elasticsearch 是用 Java 开发的,可通过 RESTful Web 接口,让用户可以通过浏览器与 Elasticsearch 通信。

2024-01-19 17:45:42 936

原创 Ceph应用管理

提供了user、subuser、bucket和object,其中的user对应于S3的user,而subuser则对应于Swift的user,不过user和subuser都不支持为bucket提供名称空间,因此不同用户的存储桶不允许同名;Ceph 客户端向 monitor 请求集群的状态,并向 Pool 中写入数据,数据根据 PGs 的数量,通过 CRUSH 算法将其映射到不同的 OSD 节点上,实现数据的存储。快照分层支持用快照的克隆生成新镜像,这种镜像与直接创建的镜像几乎完全一样,支持镜像的所有操作。

2024-01-17 20:08:30 1091

原创 Ceph的介绍与部署

存储机制会把数据分散存储到多个节点上,具有高扩展性、高性能、高可用性等优点。Ceph使用C++语言开发,是一个开放、自我修复和自我管理的开源分布式存储系统。具有高扩展性、高性能、高可靠性的优点。Ceph目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack,Kubernetes都可与Ceph整合以支持虚拟机镜像的后端存储。粗略估计,我国70%—80%的云平台都将Ceph作为底层的存储平台,由此可见Ceph俨然成为了开源云平台的标配。

2024-01-16 19:01:15 1084

原创 Zabbix监控系统详解及配置

zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置。

2024-01-15 20:20:22 1102

原创 rsync远程同步

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

2024-01-11 20:12:19 800

原创 Web缓存代理

CDN的全称是(Content Delivery Network),即内容分发网络。其目的是通过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,提高用户访问网站的响应速度。简单的说,CDN的工作原理就是将您源站的资源缓存到位于全球各地的CDN节点上,用户请。

2024-01-10 17:40:04 934

原创 Redis高可用(主从复制、哨兵模式和Cluster集群)

例如,如果单机内存太大,bgsave和bgrewriteaof的fork操作可能导致主进程阻塞,主从环境下主机切换时可能导致从节点长时间无法提供服务,全量复制阶段主节点的复制缓冲区可能溢出。哨兵无法对从节点进行自动故障转移,在读写分离场景下,从节点故障会导致读服务不可用,需要对从节点做额外的监控、切换操作。2.当主节点出现故障,此时哨兵节点会通过Raft算法(选举算法)实现选举机制共同选举出一个哨兵节点为leader,来负责处理主节点的故障转移和通知。数据的复制是单向的,只能由主节点到从节点。

2024-01-09 18:52:48 901

原创 Redis持久化

Redis载入AOF文件时,会对AOF文件进行校验,如果文件损坏,则日志中会打印错误,Redis启动失败。正常情况下,大部分的访问请求应该是先被redis响应的,在redis那里得不到响应的小部分访问请求才会去请求MySQL数据库获取数据,这样MySQL数据库的负载压力是非常小的,且可以正常工作。如果你的redis是主redis(说明redis集群有主从),那么在设置内存使用上限时,需要在系统中留出一些内存空间给同步队列缓存,只有在你设置的是“不移除”的情况下,才不用考虑这个因素。存储能力受到单机的限制。

2024-01-08 17:03:44 777

原创 【非关系型数据库】Redis概述及安装、命令使用

关系型数据库和非关系型数据库都有各自的特点与应用场景,两者的紧密结合将会给Web2.0的数据库发展带来新的思路。让关系型数据库关注在关系上和对数据的一致性保障,非关系型数据库关注在存储和高效率上。例如,在读写分离的MySQL数据库环境中,可以把经常访问的数据存储在非关系型数据库中,提升访问速度。关系型数据库:实例-->数据库-->表(table)-->记录行(row)、数据字段(column)非关系型数据库:实例-->数据库-->集合(collection)-->键值对(key-value)

2024-01-06 23:04:07 1401

原创 Mysql群集MHA高可用配置

MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。MHA 的出现就是解决MySQL 单点的问题。MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。

2024-01-04 19:58:07 940

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

读写分离,基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。

2024-01-02 19:31:40 1082

原创 SQL语句中的函数和高级语句

如sql_mode开启了PIPES_AS_CONCAT,"||"视为字符串的连接操作符而非或运算符,和字符串的拼接函数Concat相类似,这和Oracle数据库使用方法一样的。substr(x,y) 获取从字符串 x 中的第 y 个位置开始的字符串,跟substring()函数作用相同。least(x1,x2...) 返回集合中最小的值,也可以返回多个字段的最小的值。greatest(x1,x2...) 返回集合中最大的值,也可以返回多个字段的最大的值。

2023-12-27 22:33:14 1103

原创 MySQL数据库日志管理和数据的备份及恢复

STATEMENT:基于SQL语句记录二进制日志,写入和恢复速度较快,在高并发的情况可能会出SQL语句顺序记录偏差导致恢复时数据丢失。慢查询日志,用来记录所有执行时间超过long_query_time秒的语句,可以找到哪些查询语句执行时间长,以便于优化,默认是关闭的。二进制日志(binlog),用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认已开启。备份的主要目的是灾难恢复,在生产环境中,数据的安全性至关重要,任何数据的丢失都可能产生严重的后果。

2023-12-26 19:39:44 1472

原创 MySQL 存储引擎

存储引擎是MySQL数据库中的组件,负责执行实际的数据I/O操作(数据的存储和提取)。工作在文件系统之上,数据库的数据会先传到存储引擎,再按照存储引擎的存储格式保存到文件系统。死锁是指两个或多个事务在同一个资源上相互占用,并请求对方的锁定资源,从而导致恶心循环的现象。

2023-12-25 21:18:45 971

原创 MySQL 事务

那么,在第一个事务中的两次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的的数据可能是不一样的。mysql默认的隔离级别,确保如果在一个事务中执行两次相同的SELECT语句,都能得到相同的结果,不管其他事务是否提交这些修改。“S1”代表回滚点名称。当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。两个事务同时读取同一条记录,A先修改记录,B也修改记录(B不知道A修改过),B提交数据后B的修改结果覆盖了A的修改结果。

2023-12-25 17:42:23 1020

原创 MySQL 索引

可以是单列上创建的索引,也可以是在多列上创建的索引。需要满足最左原则,因为 select 语句的 where 条件是依次从左往右执行的,所以在使用 select 语句查询时 where 条件使用的字段顺序必须和组合索引中的排序一致,否则索引将不会生效。索引虽可以提升数据库查询的速度,但并不是任何情况下都适合创建索引。因为索引本身会消耗系统资源,在有索引的情况下,数据库会先进行索引查询,然后定位到具体的数据行,如果索引使用不当,反而会增加数据库的负担。与普通索引类似,但区别是唯一索引列的每个值都唯一。

2023-12-23 21:36:26 1064

空空如也

空空如也

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

TA关注的人

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