自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 K8S陈述式管理方式

蓝绿发布:两套环境交替升级,旧版本保留一定时间便于回滚。灰度发布:根据比例将老版本升级,例如80%用户访问是老版本,20%用户访问是新版本。滚动发布:按批次停止老版本实例,启动新版本实例。相关命令kubectl create -n [选项....]kubectl delete -n [--force --grace-period=0]

2023-02-20 20:39:39 285

原创 kubeadm部署K8S

enabled=1gpgcheck=0EOF复制代码。

2023-02-20 20:36:29 603 1

原创 二进制搭建Kubernetes集群(中)——部署node节点

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

2023-02-20 20:35:18 328

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

仪表板是基于Web的Kubernetes用户界面。您可以使用仪表板将容器化应用程序部署到Kubernetes集群,对容器化应用程序进行故障排除,并管理集群本身及其伴随资源。您可以使用仪表板来概述群集上运行的应用程序,以及创建或修改单个Kubernetes资源(例如部署,作业,守护进程等)。例如,可以使用部署向导扩展部署,启动滚动更新,重新启动Pod或部署新应用程序。仪表板还提供有关群集中Kubernetes资源状态以及可能发生的任何错误的信息。#在 master01 节点上操作。

2023-02-20 20:35:17 371

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

这篇文章开始介绍二进制搭建 Kubernetes v1.20,由于内容过多,分三篇介绍。目前Kubernetes最新版本是v1.24,但大部分公司一般不会使用最新版本,而是老版本中的v1.15,或者新版本的v1.18、v1.20,其中v1.16改变了很多API接口版本。

2023-02-20 20:13:58 799

原创 kubernetes理论基础

K8S的全称为 Kubernetes ,因为k和s间有8个字母(K12345678s),所以为了方便,叫做k8s。作用用于自动部署、扩展和管理"容器化(containerized)应用程序"的开源系统。可以理解成K8S 是负责自动化运维管理多个容器化程序(比如 Docker)的集群,是一个生态极其丰富的容器编排框架工具。由来K8S由google的Borg系统(博格系统,google内部使用的大规模容器编排工具)作为原型,后经go语言延用Borg的思路重写并捐献给CNCF基金会开源。

2023-02-20 20:10:37 164

原创 Ansible的脚本——playbook剧本

playbook是 一个不同于使用Ansible命令行执行方式的模式,其功能更强大灵活。简单来说,playbook是一个非常简单的配置管理和多主机部署系统,不同于任何已经存在的模式,可作为一个适合部署复杂应用程序的基础。Playbook可以定制配置,可以按照指定的操作步骤有序执行,支持同步和异步方式。我们完成一个任务,例如安装部署一个httpd服务,我们需要多个模块(一个模块也可以称之为task)提供功能来完成。

2023-02-10 17:29:27 401

原创 自动化运维工具Ansible——inventory 主机清单

Inventory支持对主机进行分组,每个组可以定义多个主机,每个主机都可以定义在任何一个或多个主机内。

2023-02-10 17:26:48 254

原创 自动化运维工具Ansible——概述及命令行模块

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

2023-02-10 17:25:09 203

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

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

2023-02-06 00:03:40 45

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

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

2023-02-05 23:57:04 111

原创 Docker-compose

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

2023-02-05 23:39:09 131

原创 Dockerfile创建镜像

Dockerfile其实就是我们用来构建Docker镜像的源码,当然这不是所谓的编程源码,而是一些命令的组合,只要理解它的逻辑和语法格式,就可以编写Dockerfile了。简单点说,Dockerfile的作用:它可以让用户个性化定制Docker镜像。因为工作环境中的需求各式各样,网络上的镜像很难满足实际的需求。基础镜像尽量使用轻量级最小化的镜像。Dockerfile中尽量把RUN指令合并在一起,减少镜像的层数(因为每一个RUN指令就是一个镜多级构建(拿Dockerfile构建好的镜像再构建一次)。

2023-02-05 23:32:04 820

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

命令说明docker run -v 宿主机目录:数据卷将宿主机目录挂载到容器中docker run -v 数据卷创建数据卷容器docker run --volumes-from 数据卷容器挂载数据卷容器(挂载点路径不变)docker run --link 源容器名称:别名容器互联注意:一般只建议在创建容器时进行挂载,不建议启动容器后再挂载。因为启动容器后再挂载的话,需要修改配置文件,且不一定能挂载成功。

2023-02-05 23:28:41 70

原创 Docker Cgroups资源控制管理

cgroups,是一个非常强大的linux内核工具,他不仅可以限制被namespace 隔离起来的资源,还可以 为资源设置权重、计算使用量、操控进程启停等等。所以cgroups (Control groups) 实现了对资源的配额和度量。docker run -cpu-period #设置调度周期时间1000~1000000-cpu-quota #设置容器进程的CPU占用时间,要与调度周期时间成比例--cpu-shares #设置多个容器之间的CPU资源占用比。

2023-02-05 23:21:24 158

原创 Docker的网络模式

直接使用bridge 模式,是无法指定IP运行docker 的,例如执行以下命令就会报错需要先自定义网络,再指定IP运行docker。docker1 :为执行ifconfig -a 命令时显示的网卡名,如果不使用 --opt 参数指定此名称,使用 ifconfig -a 查看网卡的网络信息时,看到的将会是类似 br-110eb56a0b22这样的名字,这不方便记忆。mynetwork:为执行"docker network list" 命令时,显示的 bridge 网络模式名称。

2023-02-05 23:18:48 214

原创 Docker 容器管理

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

2023-02-05 23:15:00 263

原创 Docker的镜像管理

docker 是什么?是go语言开发的开源的容器引擎是在容器里运行应用的工具,可以看作是一种轻量级的“虚拟机”可以实现容器应用的一次封装,到处运行docker容器 和 虚拟机 区别共享宿主机内核 拥有独立的操作系统内核启动速度快,秒级 分钟级性能接近原生,几乎无损耗 通过hypervisor对主机进行访问,会多占用一些资,性能源弱于容器,最多损耗50%单机容量成百上千个 几十个namespace资源隔离,cgroup资源限制 完全隔离。

2023-02-05 23:12:34 1363

原创 Docker基本管理

docker 是什么?是go语言开发的开源的容器引擎是在容器里运行应用的工具,可以看作是一种轻量级的"虚拟机”可以实现对容器中的应用一次封装,到处运行容器和虚拟机区别docker容器虚拟机共享宿主机内核拥有独立的操作系统内核启动速度快,秒级分钟级性能接近原生,几乎无损耗通过hypervisor对主机进行虚拟访问,会多占用一些资源,性能弱于容器,最多损耗50%单机容量成百上千个几十个namespace资源隔离,cgroup资源限制完全隔离namespace的六项隔离。

2023-02-05 23:10:47 54

原创 消息队列之 Kafka + EFLFK集群部署

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

2022-12-16 23:50:24 753

原创 zabbix——分布式监控系统

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

2022-12-16 23:46:44 712

原创 ELFK集群部署与Logstash的过滤模块

ELFK集群环境下,Logstash 组件所在节点的/etc/logstash/conf.d目录下,不需要创建system.conf配置文件,即Logstash不需要收集系统日志,因为系统日志将由filebeat收集后发送给Logstash。filebeat 发送给 logstash 的日志内容会放到message 字段里面,logstash 匹配这个 message 字段就可以了。(安装filebeat后,Logstash会创建filebeat.conf配置文件获取filebeat传来的数据)

2022-12-16 17:40:47 369

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

日志服务器提高安全性集中存放日志缺陷对日志的分析困难收集日志的选择中小规模的集群:脚本、rsyslog大规模集群:ELKELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。ELK工作原理Logstash:由Logstash收集日志数据,并对日志数据进行过滤、格式化输出到ES。

2022-12-16 17:37:13 415

原创 GFS分布式文件系统

GlusterFS是一个开源的分布式文件系统。由存储服务器、客户端以及NFS/Samba存储网关(可选,根据需要选择使用)组成。没有元数据服务器组件,这有助于提升整个系统的性能、可靠性和稳定性。MFS(传统的分布式文件系统技术)传统的分布式文件系统大多通过元服务器来存储元数据,元数据包含存储节点上的目录信息、目录结构等。这样的设计在浏览目录时效率高,但是也存在一些缺陷,例如单点故障。一旦元数据服务器出现故障,即使节点具备再高的冗余性,整个存储系统也将崩溃。而Glusteres分布式文件系统是基于。

2022-12-11 16:08:44 97

原创 rsync远程同步

下行同步操作命令rsync -az 原始位置 目标位置用户名@IP::共享模块名 例:rsync -avz backuper@192.168.44.20: myhtml /opt/html/rsync://用户名@IP/共享模块名 例:rsync -avz rsync://backuper@192.168.44.20/myhtml /opt/html/rsync -avz -e 'ssh -p SSH端口号' 原始位置 目标位置。

2022-12-11 04:32:55 364

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

redis哨兵模式优点:能够实现主从复制架构中的主节点的自动故障转移缺点:写操作无法负载均衡,存储能力受到单机限制,从节点无法自动故障转移结构数据节点:主从复制架构中的主节点和从节点,存储数据的哨兵节点:不存储数据,由一个或多个(奇数个)哨兵节点组成。监控主从和其它哨兵节点,主节点自动故障转移,通知故障转移结果工作流程。

2022-12-11 04:15:14 160

原创 Redis 高可用——持久化

RDB:redis定期的将内存中的数据快照保存到硬盘中,并压缩,文件名通常以.rdb为后缀AOF:redis将每次的写操作命令追加到aof_buf缓冲区中,然后根据同步策略每秒将缓冲区的数据刷到硬盘里,文件名通常以.aof为后缀区别RDB持久化生成的文件体积小,恢复速度更快,但是实时性差,在fork子进程进程时会阻塞redis主进程,在持久化向硬盘写入数据时会带来IO压力。

2022-12-11 04:08:47 144

原创 NoSQL之Redis配置及优化

Redis (远程字典服务器)是一个 开源的、使用C语言编写的NoSQL 数据库。Redis基于内存运行并支持持久化,采用key-value (键值对)的存储形式,是目前分布式架构中不可或缺的一环。Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度则是完全依靠于主进程的执行效率。若在服务器上只运行一个Redis进程,当多个客户端同时访问时,服务器的处理能力是会有一定程度的下降;

2022-12-10 18:50:12 126

原创 MHA高可用配置

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

2022-12-09 17:39:17 138

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

目录概述什么是读写分离?为什么要读写分离呢?什么时候要读写分离?主从复制与读写分离mysql支持的复制类型主从复制主从复制的工作过程MySQL主从复制的几个同步模式主从复制操作(异步复制)MySQL主从复制延迟原因和优化方法读写分离MySQL读写分离原理读写分离方案读写分离操作(使用Amoeba)单台MySQL在安全性、高可用性和高并发方面都无法满足实际的需求,就需要配置多台主从数据库服务器以实现读写分离读写分离,基本的原理是让主数据库处理事务性增、改、删操作( INSERT、UPDATE、DELETE)

2022-12-04 22:19:02 257

原创 mysql高阶语句二

目录一、表连接查询1.1 left join(左连接)1.2 right join(右连接)1.3 inner join(内连接)二、视图2.1 视图表与派生表比较2.2 视图表能否插入数据示例1:示例2:三、联集3.1 UNION(合并后去重)3.1 UNION ALL(合并后不去重)四、交集值4.1 使用union all + group by+having求交集值4.2 使用内连接求交集值4.3 使用左连接求交集值4.4 使用右连接求交集值4.5 使用子查询的方式求交集值 in五、无交集值六、CASE

2022-12-04 22:06:17 83

原创 MySQL高阶语句一

高阶语句

2022-12-04 22:03:00 140

原创 MySQL备份与恢复

目录数据库备份的分类数据备份的重要性数据库备份的分类常见的备份方法MySQL完全备份与恢复MySQL完全备份介绍MySQL完全备份的优缺点数据库完全备份分类完全备份操作物理冷备份逻辑备份(mysqldump的使用)MySQL增量备份与恢复MySQL增量备份特点增量备份与恢复操作增量备份增量恢复断点恢复从物理与逻辑的角度,备份可分为从数据库的备份策略角度,备份可分为完全备份:每次对数据库进行完整的备份差异备份:备份自从上次完全备份之后被修改过的文件增量备份:只有在上次完全备份或者增量备份后被修改的文件才会被备

2022-12-04 21:41:36 313

原创 mysql 日志管理

MySQL的日志默认保存位置为/usr/local/mysql/data可以修改配置文件,自定义日志文件的保存位置。错误日志,用来记录当MySQL启动、停止或运行时发生的错误信息,默认已开启。通用查询日志通用查询日志,用来记录MysQL的所有连接和语句,默认是关闭的二进制日志二进制日志(binlog),用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认已开启二进制日志的格式例: ROW:基于行记录二进制日志,写入和恢复速度较STA

2022-12-04 21:23:54 156

原创 MySQL之存储引擎

目录存储引擎概念MySQL常用的存储引擎MyISAM存储引擎MyISAM特点介绍MyISAM支持的存储格式MyISAM适用的生产场景举例InnoDB存储引擎InnoDB特点介绍InnoDB适用生产场景分析企业选择存储引擎依据查看和修改存储引擎查看存储引擎修改存储引擎InnoDB行锁与索引的关系行级锁定与表级锁定死锁如何避免死锁总结MySQL中的数据用各种不同的技术存储在文件中,每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力,这些不同的技术以及配套的功能在MySQL中称为存储引擎

2022-12-04 21:02:56 466

原创 MySQL数据库——事务

目录事务的概念事务的ACID特点原子性一致性隔离性事务的隔离级别持久性事务控制语句开始事务和提交事务事务回滚创建回滚点回滚自动提交功能修改隔离级别总结所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。ACID,是指在可靠数据库管理系统(DBNS)中,事务(transaction)应该具有的四个特性:原子性、一致性、隔离性、持久性。这是可靠数据库所应具备的几个特性。在事务管理中,原子性是基础,隔离性是手段,一致性是目的,持久性是结果。原子性(基础):指事务是一个不可再分

2022-12-04 20:55:30 412

原创 MySQL数据库之索引

目录索引的概念索引的作用索引的副作用索引的排序功能创建索引的原则依据索引的分类和创建普通索引唯一索引主键索引组合索引(单列索引与多列索引)全文索引查看索引删除索引explain命令分析总结先创建一个表,在表内随机插入记录(如:id不按顺序)创建id的索引,只查看id字段会排序好,但查看全部依然没有排序。 索引虽可以提升数据库查询的速度,但并不是任何情况下都适合创建索引。因为索引本身会消耗系统资源,在有索引的情况下,数据库会先进行索引查询,然后定位到具体的数据行,如果索引使用不当,反而会增加数据库的负担。

2022-12-04 20:30:03 94

原创 MySQL数据库用户管理以及数据库用户授权

MySQL数据库用户管理以及数据库用户授权

2022-11-27 19:26:41 123

原创 MySQL数据库管理

MySQL数据库管理

2022-11-27 19:17:32 76

原创 mysql配置及安装

mysql配置及安装

2022-11-27 19:10:13 132

空空如也

空空如也

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

TA关注的人

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