自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 K8S管理工具-kubectl

resource可以是具体资源名称,如"pod nhinx-xxx";或者all(仅展示几种核心资源,并不完整)grace-period表示过渡存活期,默认30s,在删除pod之前允许pod慢慢终止其上的容器进程,从而优雅的退出,0表示立即终止pod。注意:当apply不生效时,先使用delete清除资源,再apply创建资源。-l app=nginx:仅显示包含app标签,且值为nginx的资源。获取资源的相关信息,-n指定命名空间,-o指定输出格式。-l app:仅显示标签为app的资源。

2022-11-03 18:34:06 615

原创 K8S二进制部署之定义CA证书与ETCD

1、 服务器单向认证:只需要服务器端提供证书,客户端通过服务器端证书验证服务的身份,但服务器并不验证客户端的身份。④ 客户端私钥:客户端证书中包含的公钥所对应的私钥,同理,客户端使用该私钥来向服务器端证明自己是客户端证书的拥有者。⑤ 服务器端 CA 根证书:签发服务器端证书的 CA 根证书,客户端使用该 CA 根证书来验证服务器端证书的合法性。⑥ 客户端端 CA 根证书:签发客户端证书的 CA 根证书,服务器端使用该 CA 根证书来验证客户端证书的合法性。

2022-11-01 18:45:04 699

原创 Kubernetes集群架构与组件

从 Master 节点获取自己节点上 Pod 的期望状态(比如运行什么容器、运行的副本数量、网络或者存储如何配置等),直接跟容器引擎交互实现容器的生命周期管理,如果自己节点上 Pod 的状态与期望状态不一致,则调用对应的容器平台接口(即 docker 的接口)达到这个状态。在 K8S 的集群里,虽然每个 Pod 会被分配一个单独的 IP 地址,但由于 Pod 是有生命周期的(它们可以被创建,而且销毁之后不会再启动),随时可能会因为业务的变更,导致这个 IP 地址也会随着 Pod 的销毁而消失。

2022-11-01 14:11:36 419

原创 Kubernetes部署

部署 Kubernetes Node,将节点加入Kubernetes集群中。部署 Dashboard Web 页面,可视化查看Kubernetes资源。在所有节点上安装Docker和kubeadm。部署Kubernetes Master。下载插件yaml插件。

2022-10-30 19:54:19 429

原创 Kubernetes原理

单机容器编排:docker-compose容器集群编排:docker swarm、mesos+marathon、kubernetes应用编排:ansble。

2022-10-30 17:41:38 161

原创 Prometheus告警功能

Prometheus对指标的收集、存储同告警能力分属于Prometheus Server和AlertManager(通用的组件)两个独立的组件,前者仅负责基于"告警规则"生成告警通知,具体的告警操作则由后者完成;Alertmanager负责处理由客户端发来的告警通知客户端通常是Prometheus server,但它也支持接收来自其它工具的告警;Alertmanager对告警通知进行分组、去重后,根据路由规则将其路由到不同的receiver,如Email、短信或PagerDuty等;

2022-10-27 18:12:04 415

原创 Prometheus-部署grafana及模板展示

浏览器访问:https://grafana.com/grafana/dashboards ,在页面中搜索 node exporter ,选择适合的面板,点击 Copy ID 或者 Download JSON。在 grafana 页面中,+ Create -> Import ,输入面板 ID 号或者上传 JSON 文件,点击 Load,即可导入监控面板。grafana默认配置文件目录 /etc/grafana/grafana.ini。:组织和管理数据的可视化面板(Panel):提供用于展示的数据的储存系统。

2022-10-27 15:36:37 5550 2

原创 Prometheus-部署service discovery服务发现

因此,Prometheus为此专门设计了一组服务发现机制,以便于能够基于服务注册中心(服务总线)自动发现、检测、分类可被监控的各Target,以及更新发生了变动的Target指标抓取的生命周期。一款基于golang开发的开源工具,主要面向分布式,服务化的系统提供服务注册、服务一发现和配置管理的功能提供服务注册/发现、健康检查、Key/Value存储、多数据中心和分布式一致性保证等功能。基于文件的服务发现仅仅略优于静态配置的服务发现方式,它不依赖于任何平台或第三方服务,因而也是最为简单和通用的实现方式。

2022-10-26 22:48:12 1302

原创 Prometheus原理与部署

目前Prometheus支持OpenTsdb、InfluxDB、Elasticsearch等后端存储,通过适配器实现Prometheus存储的remote write和remote read接口,便可以接入Prometheus作为远程存储使用Prometheus由Go语言编写而成,采用Pull方式获取监控信息,并提供了多维度的数据模型和灵活的查询接口。Prometheus不仅可以通过静态文件配置监控对象,还支持自动发现机制,能通过Kubernetes、Consl、DNS等多种方式动态获取监控对象。

2022-10-25 22:02:32 324

原创 cAdvisor的安装使用(Docker)

cAdvisor是一个非常好用的容器监控工具,还可以和Prometheus整合,安装和使用都很简单。CAdvisor是一个容器资源监控工具,包括容器的内存CPU,网络IO,磁盘I0等监控,同时提供了一个WEB页面用于查看容器的实时运行状态。CAdvisor默认存储2分钟的数据, 而且只是针对单物理机。不过,CAdvisor提供了很多数据集成接口,支持InfluxDB,Redis,Kafka,Elasticsearch等集成,可以加上对应配置将监控数据发往这些数据库存储起来。

2022-10-24 16:31:04 2414 2

原创 Docker-consul部署

Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置(注册中心,注册机)与Docker等轻量级容器可无缝配合template模板(更新)registrator(自动发现)后端每构建出一个容器,会向registrator进行注册,控制consul完成更新操作,consul会触发consul template模板进行热更新核心机制:consul:自动发现、自动更新、为容器提供服务(添加、删除、生命周期)

2022-10-23 16:00:30 1589

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

之前我们搭建了本地私有仓库,但是本地仓库的管理和使用比较麻烦,个原生的私有仓库并不好用,所以我们采用harbor私有仓库,也叫私服,更加人性化。Harbor是VMware公司开源的企业级Docker Registry项目,其目标是帮助用户迅速搭建一个企业级的Docker Registry服务。

2022-10-21 17:25:31 305

原创 Docker-compose

使用一个Dockerfile模板文件可以定义一个单独的应用容器,如果需要定义多个容器就需要服务编排。下面介绍Docker官方产品,Docker Compose。Dockerfile可以让用户管理一个单独的应用容器,而compose则允许用户在一个模板(yaml格式)中定义一组相关联的应用容器(被称为一个project,即项目)例如一个web服务再加上后端的数据库服务容器等。docker-compose项目是docker官方的开源项目, 负责实现对docker容器集群的快速编排。

2022-10-20 21:39:38 276

原创 Docker-cpu

docker使用cgroup控制资源,K8S里面也有respones(request limit) (使用上线) CPU 内存两个部分进行管理。

2022-10-20 16:53:06 2133

原创 Docker-搭建本地私有仓库

Docker 官方提供了一个搭建私有仓库的镜像 registry ,运行该镜像的容器并且对外暴露5000端口就ok了。通常我们在docker拉取的镜像都是在docker hub或quay.io等公有仓库获取,那么在实际工作中,每个公司如果使用到docker,那么肯定是要搭建自己的私有仓库。那么接下来就通过docker提供的registry镜像来搭建我们自己的私有仓库。

2022-10-19 22:28:42 1098

原创 Docker-dockerfile镜像优化

Docker-dockerfile镜像优化。

2022-10-19 21:45:45 459

原创 Docker-dockerfile构建镜像

LXC是一种内核中的容器技术,早期docker在没有将资源容器化的功能时,就是靠内核中LXC来完成容器虚拟化的。在Docker镜像的最底层是bootfs,这一层与我们典型的Linux/Unix系统是一样的,包含boot加载器和内核。一次同时加载多个文件系统,但从外面看起来,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录。Dockerfile中的COPY指令和ADD指令都可以将主机上的资源复制或加入到容器镜像中,都是在构建镜像的过程中完成的。

2022-10-19 14:08:19 652

原创 Docker数据卷与数据集容器

如果需要在容器之间共享一些数据,最简单的方法就是使用数据容器,数据卷容器是一个普通的容器,专门提供数据卷给其他容器挂载。在/var/www/data1中加点东西,在liuxu容器中也可以看到,可以使用name登陆,也可以使用ID。宿主机目录/var/www挂载容器中的/data1。php–>mysql之间想要通信,通过socker。先下载centos镜像。

2022-10-18 14:33:44 190

原创 Docker网络模式管理

因为在我们使用bridge模式的时候,是无法支持指定IP运行docker的,#启动一个容器,指定为bridge模式,并且指定该容器的ip为172.17.0.10.报错:来自守护进程的错误响应:仅在用户定义的网络上支持用户指定的IP地址。bridge无法手动指定容器的ip,只能依靠docker0来分配因为不能自定义创建容器的ip地址,全是docker0所安排的,既然这样,那我们就自己创建一个docker0出来,但是名字不能重复,ip 也不能。创建出来的默认也是bridge模式。想自定义其它网络的也可以。

2022-10-17 17:07:51 263

原创 Docker镜像、容器操作

在迁移过程中,可以使用docker export 命令将已经创建好的容器导出为文件,无论这个容器是处于运行状态还是停止状态均可导出。可将导出文件传输到其他机器,通过相应的导入命令实现容器的迁移。在上传镜像之前,还需要先对本地镜像添加新的标签,然后再使用 docker push 命令进行上传。新创建的容器默认处于停止状态,不运行任何程序,需要再其中发起一个进程来启动容器。IMAGE ID:镜像的唯一ID 号,唯一标识一个镜像;TAG:镜像的标签信息,标记同一个仓库中的不同镜像;CREATED:镜像创建时间;

2022-10-16 18:59:58 3645

原创 Docker容器安装

docker本质就是宿主机的一个进程,docker是通过namespace(命名空间)实现资源隔离,通过cgroup实现资源限制,通过写时复制技术(copy-on-write)实现了高效的文件操作(类似虚拟机的磁盘比如分配500g并不是实际占用物理磁盘500g)。

2022-10-16 16:46:33 317

原创 虚拟化与Docker

在Linux中,Linux操作系统会有一个进程PID=1派出其他进程来控制不同服务,多个服务可能会互相影响,使用者期望将这三个不同的服务,跑在不同的运行环境中实现相互不影响,同时不会增加服务器成本延伸出——>能否将这三种服务分别封装起来——>KVM虚拟化技术,实现了一个操作系统模拟多个操作系统/不同的运行时环境随着技术发展——>虚拟化技术前期开销较大——>延伸出容器技术。

2022-10-12 18:36:45 1328

原创 ELK日志分析系统

日志分析是运维工程师解决系统故障,发现、定位问题的主要途径。日志主要包括系统日志、应用程序日志和安全日志系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。input {file{path => “/var/log/messages” #指定要收集的日志的位置type => “system” #自定义日志类型标识。

2022-10-10 19:43:15 823

原创 GlusterFS分布式文件系统

当数据集的大小超过一台独立物理计算机的存储能力时,就有必要对它进行分区,并存储到若干台单独的计算机上。GFS 是用来管理网络中跨多台计算机存储的文件系统。这种系统构架于网络之上,肯定会引入网络编程的复杂性,因此它比普通的磁盘文件系统更为复杂。开源的分布式文件系统由存储服务器、客户端以及NFS/Samba存储网关组成无元数据服务器传统的分布式文件系统大多通过元服务器来存储元数据,元数据包含存储节点上的目录信息、目录结构等。这样的设计在浏览目录时效率高,但是也存在一些缺陷,例如单点故障。

2022-10-09 22:57:34 581

原创 rsync远程同步

rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份的优秀工具。并且可以不进行改变原有数据的属性信息,实现数据的备份迁移特性rsync软件适用于unix/linux/windows等多种操作系统平台rsync是一个快速和非常同样的文件复制工具。它能本能复制,远程复制,或者远程守护进程方式复制,它提供了大量的参数来控制其行为的各个方面,并且允许非常灵活的方式来实现文件的传输复制以其delta-transfer算法闻名rsync监听端口:873。

2022-10-07 21:02:06 565

原创 Redis五种数据类型

可以用于一个大型在线游戏的积分排行榜。每当玩家的分数发生变化时,可以执行ZADD命 令更新玩家的分数,此后再通过ZRANGE命令获取积分TOP10的用户信息。可以采用这样的命名方式(hash格式):对象类别和ID构成键名,使用字段表示对象的属性,而字段值则存储属性值。smembers set #通过smembers命令查看插入的结果,从结果可以看出,输出的顺序和插入顺序无关。lrange list 0 -1 #取链表中的全部元素,其中0表示第一个元素,-1表示最后一个元素。

2022-10-06 20:25:01 95

原创 Redis集群模式

1、集群,即 Redis Cluster, 是Redis 3. 0开始引入的分布式存储方案。2、集群由多个节点(Node) 组成,Redis 的数据分布在这些节点中。3、集群中的节点分为主节点和从节点;只有主节点负责读写请求和集群信息的维护;从节点只进行主节点数据和状态信息的复制。

2022-10-06 19:46:14 318

原创 Redis哨兵模式

哨兵(sentinel):是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制选择新的Master,并将所有Slave 连接到新的Master。指定该哨兵节点监控192.168.32.10:6379这个主节点,该主节点的名称是mymaster,最后的2的含义与主节点的故障判定有关:至少需要2个哨兵节点同意,才能判定主节点故障并进行故障转移。哨兵的核心功能:在主从复制的基础上,哨兵引入了主节点的自动故障转移。#杀死 Master 节点上redis-server的进程号。

2022-10-06 18:31:31 711

原创 Redis主从复制

在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点),分担服务器负载;尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高Redis服务器的并发量。主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器。logfile /var/log/redis_6379.log #172行,指定日志文件目录。dir /var/lib/redis/6379 #264行,指定工作目录。

2022-10-05 21:16:55 824

原创 Redis 之高可用与持久化

redis 相比于其他非关数据库优势的地方主要在于:① 数据类型丰富② 持久化(可以将内存种的数据保存在磁盘中)形式为:RDB 与AOF③ 使用epoll+I/O复用以及回调机制提升单线程模型的处理性能减少资源消耗(处理性能优化)

2022-09-29 20:45:01 483

原创 REDIS

比如所有购买某一电子设备的客户ID被存储在一个指定的Set中,而购买另外一种电子产品的客户ID被存储在另外一个Set中,如果此时我们想获取有哪些客户同时购买了这两种商品时,Set的intersections命令就可以充分发挥它的方便和效率的优势了。例如,在读写分离的 MySQL 数据库环境中,可以把经常访问的数据存储在非关系型数据库中,提升访问速度。String是redis最基本的类型,最大能存储512MB的数据,String类型是二进制安全的,即可以存储任何数据、比如数字、图片、序列化对象等。

2022-09-28 23:20:30 149

原创 MySQL MHA

MHA目前在MySQL高可用方面是一个相对成熟的解决方案但是在搭建的过程中容易报错,且MHA的构建综合了主从复制,所以MHA安装时需要严格执行每一个部署MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,MHA是由日本人开发,是一套优秀的MySQL故障切换和主从复制的高可用软件。

2022-09-27 21:36:03 995

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

360内部使用Atlas运行的mysql业务,每天承载的读写请求数达几十亿条。在实际环境中,面对巨大的并发量和数据读写压力,我们往往需要多台数据库服务器来提共服务,并且将读和写的的压力分担到不同的服务器上,以满足在安全性与高可用性上的需求。:Master将数据保存在二进制日志中,I/O向dump发出同步请求,dump把数据发送给I/O线程,I/O写入本地的中继日志数据,同步到自己数据库中,完成同步。在主服务器上执行的SQL语句,在从服务器上执行同样的语句,MySQL默认采用基于语句的复制,效率比较高。

2022-09-25 23:48:48 266

原创 MySQL语句(二)

从两次视图表的查询结果可以看到,随着原表数据的变化,视图的数据也在实时变化。需要注意的是,不仅改原表视图会变,改视图原表也会变。

2022-09-25 00:15:15 281

原创 MySQL语句(一)

order by 语句也可以使用多个字段来进行排序,当排序的第一个字段相同的记录有多条的情况下,这些多条的记录再按照第二个字段进行排序,order by后面跟多个字段时,字段之间使用英文逗号隔开,优先级是按先后顺序而定,但order by 之后的第一个参数只有在出现相同值时,第二个字段才有意义。使用SELECT语句可以将需要的数据从MySQL数据库中查询出来,如果对查询的结果进行排序,可以使用ORDER BY 语句来对语句实现排序,并最终将排序后的结果返回给用户。%:百分号表示零个、一个或多个字符。

2022-09-22 21:22:24 2042

原创 MySQL数据库日志、备份与恢复

数据传输、数据存储、数据交换、软件故障、硬盘坏道等情况容易产生数据故障。如果没有采取数据备份和数据恢复手段与措施,就会导致数据的丢失。没有数据库的备份,就没有数据库的恢复,企业应当把企业数据备份的工作列为一项不可忽视的系统工作,为其选择相应的备份设备和技术,进行经济可靠的数据备份,从而避免损失。

2022-09-20 15:51:25 2036

原创 MYSQL之压测

系统平台/自述文件在硕士 ·阿科皮托夫/系统台 ·吉特哈布 (github.com)sysbench]是一款开源的多线程性能测试工具,可以执行CPU/内存/线程/IO/数据库等方面的性能测试。数据库目前支持MySQL/Oracle/PostgreSQL。本文只是简单演示一下几种测试的用法,后续准备利用sysbench来对MySQL进行一系列的测试。具体的一些参数设置,需要根据不同的测试要求来进行调整。CPU 运算性能测试磁盘 IO 性能测试调度程序性能测试内存分配及传输速度测试。

2022-09-19 13:55:07 3212 1

原创 Mysql之存储引擎

动态表包含可变字段(varchar),记录不是固定长度的,这样存储的优点是占用空间较少,但是频繁的更新,删除记录会产生碎片,需要定期执行 OPTIMIZE TABLE 语句或 myisamchk -r 命令来改善性能,并且出现故障的时候恢复相对比较困难。MySQL中的数据用各种不同的技术存储在文件中,每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力,这些不同的技术以及配套的功能在MySQL中称为存储引擎。存储引擎是MySQL将数据存储在文件系统中的存储方式或者存储格式。

2022-09-18 20:22:39 206

原创 MySQL之事务

一个事务对一个表中的数据进行了修改,这种修改涉及到表中的全部数据行,同时,另外一个事务也修改这个表中的数据,这种修改是向表中插入一行新数据。修改数据的事务可在另一个使用相同数据的事务开始之前访问这些数据,或者在另一个使用相同数据的事务结束之后访问这些数据。一个事务内两个相同的查询却返回了不同数据,这是由于查询时系统中其他事务修改的提交而引起的,事务A第一次查询得到一行记录row1,事务B提交修改后,事务A第二次查询得到row1,但列内容发生了变化。事务是一个完整的操作,事务的各元素是不可分的。

2022-09-18 01:39:02 267

原创 Mysql之索引

索引是对数据库表中一列或多列的值进行排序的一种结构。MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。索引只是提高效率的一个因素,如果你的MySQL有大数据量的表,就需要花时间研究建立最优秀的索引,或优化查询语句。

2022-09-15 21:27:37 145

空空如也

空空如也

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

TA关注的人

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