自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 k8s之Pod控制器

Pod控制器,又称之为工作负载(workload),是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试进行重启,当根据重启策略无效,则会重新新建pod的资源。

2023-08-08 20:45:02 509

原创 k8s存储卷

容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。其次,在Pod中同时运行多个容器时,这些容器之间通常需要共享文件。Kubernetes 中的Volume抽象就很好的解决了这些问题。Pod中的容器通过Pause容器共享Volume。

2023-08-04 17:48:58 655 2

原创 K8S群集调度

Kubernetes 是通过 List-Watch 的机制进行每个组件的协作,保持数据同步的,每个组件之间的设计实现了解耦。用户是通过 kubectl 根据配置文件,向 APIServer 发送命令,在 Node 节点上面建立 Pod 和 Container。APIServer 经过 API 调用,权限控制,调用资源和存储资源的过程,实际上还没有真正开始部署应用。这里 需要 Controller Manager、Scheduler 和 kubelet 的协助才能完成整个部署过程。在 Kuberne

2023-07-31 00:05:48 809

原创 k8s之Pod容器的探针

探针是由 kubelet 对容器执行的定期诊断(pod中探针又分为三类): 存活探针(livenessProbe)探测容器是否运行正常。如果探测失败则kubelet杀掉容器(不是Pod),容器会根据重启策略决定是否重启 就绪探针(readinessProbe)探测Pod是否能够进入READY状态,并做好接收请求的准备。如果探测失败Pod则会进入NOTREADY状态(READY为0/1)并且从所关联的service资源的端点(endpoints)中踢出

2023-07-19 01:01:08 1353

原创 k8s之Pod容器资源限制

当定义 Pod 时可以选择性地为每个容器设定所需要的资源数量。 最常见的可设定资源是 CPU 和内存大小,以及其他类型的资源。当为 Pod 中的容器指定了 request 资源时,代表容器运行所需的最小资源量,调度器就使用该信息来决定将 Pod 调度到哪个节点上。当还为容器指定了 limit 资源时,kubelet 就会确保运行的容器不会使用超出所设的 limit 资源量。kubelet 还会为容器预留所设的 request 资源量, 供该容器使用。

2023-07-17 19:28:39 1324

原创 k8s之Pod详解

Pod 中的容器 3 种pause容器(基础容器、父容器、根容器) 给Pod中的容器组环境初始化,具体见上init容器(初始化容器、init container) 可以为应用容器事先提供运行环境或辅助工具;还可以阻塞或延迟应用容器的启动Pod 有多个init容器时,是串行启动的,要在上一个init容器成功的完成启动、运行和退出后才会启动下一个init容器应用容器(业务容器、main container) 提供应用程序业务Pod有多个应用容器时,是并行启动。

2023-07-16 01:07:55 5752 4

原创 k8s的资源配置清单的管理操作

Kubernetes 支持 YAML 和 JSON 格式管理资源对象JSON 格式:主要用于 api 接口之间消息的传递YAML 格式:用于配置和管理,YAML 是一种简洁的非标记性语言,内容格式人性化,较易读

2023-07-04 23:17:14 373

原创 kubectl详解之声明式管理方法

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

2023-07-03 23:13:18 408

原创 Kubernetes 服务发布方式(蓝绿发布、灰度发布和滚动发布)

应用程序升级面临最大挑战是新旧业务切换,将软件从测试的最后阶段带到生产环境,同时要保证系统不间断提供服务。长期以来,业务升级渐渐形成了几个发布策略:蓝绿发布、灰度发布和滚动发布,目的是尽可能避免因发布导致的流量丢失或服务不可用问题。

2023-07-03 09:47:03 2511

原创 kubectl详解之陈述式资源管理方法

kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口,kubectl 是官方的CLI命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为 apiserver 能识别的信息,进而实现管理 k8s 各种资源的一种有效途径

2023-06-30 11:58:00 251

原创 kubeadm方式安装部署 kubernetes1.20

kubeadm方式安装部署 kubernetes1.20

2023-06-28 13:49:18 340

原创 初识Kubernetes的理论基础

Kubernetes,词根源于希腊语的 舵手、飞行员。在国内又称k8s(因为k和s之间有8个字母,所以得名。“国内程序员的幽默”)。用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统。可以理解成 K8S 是负责自动化运维管理多个容器化程序(比如 Docker)的集群,是一个生态极其丰富的容器编排框架工具。K8S由google的Borg系统(博格系统,google内部使用的大规模容器编排工具)作为原型,后经GO语言延用Borg的思路重写并捐献给CNCF基金会开源。

2023-06-26 08:49:47 749

原创 二进制安装K8S(单Master集群架构)

搭建单Master集群架构

2023-06-23 10:08:57 975

原创 Ansible之playbooks剧本

playbooks是ansible用于配置,部署,和管理被控节点的剧本。通过playbooks的详细描述,执行其中的tasks,可以让远端主机达到预期的状态。playbooks是由一个或多个”play”组成的列表。 当对一台机器做环境初始化的时候往往需要不止做一件事情,这时使用playbooks会更加适合。通过playbooks你可以一次在多台机器执行多个指令。通过这种预先设计的配置保持了机器的配置统一,并很简单的执行日常任务。

2023-06-15 23:12:27 999

原创 自动化运维工具之Ansible

Ansible其中一个比较鲜明的特性是Agentless,即无Agent的存在,它就像普通命令一样,并非C/S软件,也只需在某个作为控制节点的主机上安装一次Ansible即可,通常它基于ssh连接来控制远程主机,远程主机上不需要安装Ansible或其它额外的服务。Ansible是基于模块工作的,它只是提供了一种运行框架,它本身没有完成任务的能力,真正执行操作的是Ansible的模块, 比如copy模块用于拷贝文件到远程主机上,service模块用于管理服务的启动、停止、重启等。在远程主机定义任务计划。

2023-06-14 22:58:13 1037

原创 Docker 安全及日志管理

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

2023-06-13 11:43:30 2568

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

docker本地仓库,存放镜像,本地的机器上传和下载,pull/push。使用私有仓库有许多优点:①节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;②提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用–restart=always重启策略:no:默认策略,容器退出不重启on-failure:容器非正常退出重启容器on-failure:3:容器非正常退出最多重启4次容器always:退出总是重启容器。

2023-06-11 22:44:53 2090

原创 使用Docker-Compose对Docker容器集群快速编排

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

2023-06-11 22:43:54 1479

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

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

2023-06-11 22:43:43 674

原创 Docker镜像的创建方法及Dockerfile案例

但是当编写一个新的Dockerfile文件来基于A镜像构建一个镜像(比如为B镜像)时,这时构造A镜像的Dockerfile文件中的ONBUILD指令就生效了,在构建B镜像的过程中,首先会执行ONBUILD指令指定的指令,然后才会执行其它指令。联合文件系统(unionFS):分层、轻量级并且高性能的文件系统,即一层一层叠加然后制作成的镜像,底层为内核加载,然后是rootfs系统,再上层是只可读的基础镜像,镜像启动后成为容器即为可读可写层此层保存数据等,然后可以再打包成一个新的镜像保存数据。

2023-06-09 00:22:30 1936 1

原创 Docker资源控制

Docker 通过 Cgroup 来控制容器使用的资源配额,包括 CPU、内存、磁盘三大方面, 基本覆盖了常见的资源配额和使用量控制。Cgroup 是 ControlGroups 的缩写,是 Linux 内核提供的一种可以限制、记录、隔离进程组所使用的物理资源(如 CPU、内存、磁盘 IO 等等) 的机制,被 LXC、docker 等很多项目用于实现进程资源控制。Cgroup 本身是提供将进程进行分组化管理的功能和接口的基础结构,I/O 或内存的分配控制等具体的资源管理是通过该功能来实现的。

2023-06-06 10:38:41 612

原创 Docker基本管理与网络以及数据管理

Docker是一个go语言开发的应用容器引擎,运行容器里的应用。docker是用来管理容器和镜像的一种工具。容器是在linux上本机运行,并与其他容器共享主机的内核,它运行的是一个独立的进程,不占用其他任何可执行文件的内存,非常轻量。虚拟机运行的是一个完整的操作系统,通过虚拟机管理程序对主机资源进行虚拟访问,相比之下需要的资源更多。直接使用bridge模式,是无法支持指定IP运行docker的,例如执行以下命令就会报错。

2023-06-04 18:01:54 1287 1

原创 分布式存储Ceph的部署及应用(创建MDS、RBD、RGW 接口)

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

2023-06-02 00:49:39 1268

原创 zookeeper机制及消息队列kafka集群部署

Zookeeper:开源分布式的服务,为分布式框架提供协调服务的apache项目kafka:是一个分布式的,支持分区的,多副本基于发布/订阅模式的消息队列(MQ message quene),主要用于日志和大数据实时处理①broker:一台kafka服务器就是一个broker。一个集群由多个broker组成,一个broker可以容纳多个topic②Produer:生产者。也就是写入消息的一方,将消息写入broker中③Consumer:消费者。也就是读取消息的一方,从broker中读取消息。

2023-05-30 15:47:41 1545

原创 ELFK日志分析系统并使用Filter对日志数据进行处理

Filebeat是用于转发和集中日志数据的轻量级传送工具。Filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或 Logstash进行索引。

2023-05-29 11:57:46 1272

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

ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。

2023-05-27 23:29:25 663

原创 zabbix 自动发现与自动注册、部署 zabbix 代理服务器及部署 Zabbix 高可用集群

zabbix 自动发现(对于 agent2 是被动模式)zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大。

2023-05-24 22:18:04 2347

原创 分布式系统监控zabbix安装部署及自定义监控

zabbix是一个监控软件,其可以监控各种网络参数,保证企业服务架构安全运营,同时支持灵活的告警机制,可以使得运维人员快速定位故障、解决问题。zabbix支持分布式功能,支持复杂架构下的监控解决方案,也支持web页面,为主机监控提供了良好直观的展现。作为一个运维,需要会使用监控系统查看服务器系统性能、应用服务状态和网站流量指标等,利用监控系统的数据去了解网站上线发布的结果和健康状态。利用一个优秀的监控软件,我们可以:●通过一个友好的界面进行浏览整个网站所有的服务器状态。

2023-05-23 12:29:27 790

原创 rsync远程同步:上行同步、下行同步+inotify实时同步部署

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

2023-05-22 19:55:44 2361

原创 Squid代理服务器应用

squid主要提供缓存加速、应用层过滤控制的功能代理服务器是一个位于客户端和原始(资源)服务器之间的服务器,为了从原始服务器取得内容,客户端想代理服务器发送一个请求并指定目标原始服务器,然后代理服务器向原始服务器转交请求并将获得的内容返回给客户

2023-05-21 22:17:05 452

原创 Redis三种模式——主从复制、哨兵模式、集群

主从复制,是指将一台 Redis 服务器的数据,复制到其他的 Redis 服务器。前者称为主节点(Master),后者称为从节点(Slave);数据的复制是单向的,只能由主节点到从节点。默认情况下,每台 Redis 服务器都是主节点;且一个主节点可以有多个从节点 (或没有从节点),但一个从节点只能有一个主节点。

2023-05-20 23:18:31 3290

原创 NoSQL之Redis高可用与优化

持久化的功能:Redis是内存数据库,数据都是存储在内存中,为了避免服务器断电等原因导致Redis进程异常退出后数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘;缺点:RDB文件的致命缺点在于其数据快照的持久化方式决定了必然做不到实时持久化,而在数据越来越重要的今天,数据的大量丢失很多时候是无法接受的,因此AOF持久化成为主流。RDB持久化是将进程数据写入文件,而AOF持久化,则是将Redis执行的每次写、删除命令记录到单独的日志文件中,查询操作不会记录;

2023-05-17 23:45:15 1035 1

原创 NoSQL之Redis配置与数据库常用命令

NoSQL(NoSQL = Not Only SQL ),意思是“不仅仅是 SQL”,是非关系型数据库的总称。除了主流的关系型数据库外的数据库,都认为是非关系型。主流的 NoSQL 数据库有 Redis、MongBD、Hbase、CouhDB 等。

2023-05-16 19:06:13 824

原创 MySQL之MHA高可用集群及故障切换

MHA(MasterHigh Availability)是一套优秀的mysql高可用环境下故障切换和主从复制的软件。MHA的出现就是为了解决mysql单点故障。Mysql故障切换过程中,MHA能做到0-30秒内自动完成故障性切换操作。MHA能在故障切换的过程中最大程度保证数据的一致性,已达到真正意义上的高可用。MySQL的高可用+故障切换核心部分MHA组件:Manager:主要功能:做MHA的启动、关闭、管理和检测MySQL的各种健康检查。

2023-05-15 11:55:18 804

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

1. 主服务器 master 记录数据库通过 dump 线程将操作记录到 Binary log。 2. 从服务器开启I/O线程向主服务器发送同步日志的请求。 3. 主服务器把二进制日志内容发送给从服务器。 4. 从服务器将二进制日志记录的操作同步到relay log(中继日志)。 5. 从服务器中的sql线程将relay log日志记录的操作在从服务器执行后写入从服务器数据库。

2023-05-14 18:43:45 606

原创 MySQL高阶语句与连接

right join(右连接):返回包括右表中的所有记录和左表中联结字段相等的记录。left join(左连接):返回包括左表中的所有记录和右表中联结字段相等的记录。inner join(内连接):只返回两个表中联结字段相等的行。获取从字符串 x 中的第 y 个位置开始长度为 z 的字符串。将字符串 z 替代字符串 x 中的字符串 y。将提供的参数 x 和 y 拼接成一个字符串。返回字符串 x 的长度。返回去除指定格式的值。

2023-05-14 17:20:11 1371

原创 MySQL日志管理与备份恢复

Mysql的日志默认保存位置为/usr/local/mysql/date,Mysql的日志配置文件为/etc/my.cnf,里面有一个【mysqld】项。当备份文件中只包含表的备份,而不包含创建的库的语句时,执行导入操作时必须指定库名,且目标库必须存在。数据库在某一时间点可能既有错误的操作也有正确的操作,可以基于精准的位置跳过错误的操作。在错误的时间点停止,在下一个正确的时间点开始。发生错误节点之前的一个节点,上一次正确操作的位置点停止。发生错误节点之前的一个节点,上一次正确操作的位置点停止。

2023-05-14 16:31:28 1277

原创 MySQL事务与存储引擎

事务是一种机制、一个操作序列,包含了一组数据库操作命令,并且把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行是一个不可分割的工作逻辑单元,在数据库系统.上执行并发操作时,事务是最小的控制单元适用于多用户同时操作的数据库系统的场景,如银行、保险公司及证券交易系统等等通过事务的整体性以保证数据的一致性

2023-05-09 10:53:31 250

原创 MySQL索引

索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址)。使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据,因此能加快数据库的查询速度。索引就好比是一本书的目录,可以根据目录中的页码快速找到所需的内容。索引是表中一列或者若干列值排序的方法。建立索引的目的是加快对表中记录的查找或排序。1、索引分类① 普通索引 :针对所有字段,没有特殊的需求/规则。

2023-05-08 11:35:08 323

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

当不在需要一张表时,用drop;想删除部分数据行时,用delete,并带上where;删除数据保留表时用truncate因克隆表时无法克隆索引等信息,所以克隆表只能用于临时备份数据,在实际生产中也仅用于备份数据,防止误删除数据,造成不必要的损失在遗忘MySQL的root密码时,更改配置文件并更改密码后,记得要将配置文件还原,否则其它用户可以直接免密登录。

2023-05-05 12:34:51 542 1

一键部署LNMP脚本(Nginx、MySql、PHP)

本文件为centos系统一键部署LNMP脚本 mysql-boost-5.7.20.tar.gz nginx-1.22.0.tar.gz php-7.1.10.tar.bz2

2023-04-21

空空如也

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

TA关注的人

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