- 博客(55)
- 收藏
- 关注
原创 kubeadm快速部署K8S
EOF#使用Systemd管理的Cgroup来进行资源控制与管理,因为相对Cgroupfs而言,Systemd限制CPU、内存等资源更加简单和成熟稳定。#日志使用json-file格式类型存储,大小为100M,保存在/var/log/containers目录下,方便ELK等日志系统收集和管理日志。
2024-06-11 00:35:55
1450
1
原创 K8S二进制安装与部署
修改node节点上的bootstrap.kubeconfig,kubelet.kubeconfig配置文件为VIP。在 node01 节点和node02 节点上分别操作。在 node01 节点和node02 节点上操作。在 master01 节点上操作。在 master01 节点上操作。在 master01 节点上操作。在 master01 节点上操作。在 master01 节点上操作。在 master01 节点上操作。在 node01 节点上操作。在所有 node 节点上操作。
2024-05-21 00:56:58
1214
原创 K8S基础
K8s 全称 Kubernetes,是一种开源的容器编排平台,用于自动化部署,可以扩展和管理化应用程序。它提供了一种容器编排和管理的方式,还可以帮助开发人员更轻松的管理化应用程序。k8s特性(1)自我修复(2)弹性伸缩(3)自动部署和回滚(4)服务发现和负载均衡(5)集中化配置管理和密钥管理(6)存储编排(7)任务批量处理运行核心组件Master主控制节点、Node(WorkNode)工作节点Master组件APIServer:集群统一入口,以Restful方式交给ETCD进行存储。
2024-05-20 19:30:24
1021
原创 Ansible(二)
cd /opt---vars:tasks:-e选项指定ymal配置文件中变量username,因为指定了在yaml文件中指定的username为"nginx",实际命令中指定为"test001"最终是以-e选项指定的username生效;注意:命令行中的变量优先级高于YAML配置文件中的变量优先级。。
2024-05-12 22:41:36
841
原创 Ansible(一)
Salt由Salt Master和被称为Salt Minions的客户端组成,后者作为代理在每个节点机器上运行。Puppet的工作方式是由节点请求更新,而Salt的工作方式与此相反,Salt Master将所有配置推送给所有客户机。Salt还可以在多主机配置中运行。如果一个Salt主服务器发生故障,代理将连接到配置中列出的另一个主服务器。这一功能提高了整个系统的整体可用性和冗余度Salt的另一个好处是,它允许一次并行执行多个命令。
2024-05-08 01:11:00
1108
原创 Docker-harbor
Harbor 是 VMware 公司开源的企业级 Docker Registry 项目,其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。Harbor以 Docker 公司开源的 Registry 为基础,提供了图形管理 UI 、基于角色的访问控制(Role Based AccessControl) 、AD/LDAP(LDAP轻型目录访问协议) 集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。
2024-05-06 13:28:58
1203
原创 Docker-consul
consul是google开源的一个使用go语言开发的服务管理软件。支持多数据中心、分布式高可用的、服务发现和配置共享。采用Raft算法,用来保证服务的高可用。内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等)。服务部署简单,只有一个可运行的二进制的包。每个节点都需要运行agent,他有两种运行模式server 和 client。
2024-05-05 23:13:22
856
原创 Docker-compose
Docker Swarm 是 Docker 官方提供的容器编排工具,用于管理 Docker 容器集群。Swarm 将一组 Docker 引擎(称为节点)组织成一个集群,这些节点可以是物理服务器或虚拟机。在 Swarm 模式下,你可以定义服务(Services),每个服务可以跨越多个节点部署多个实例(Replicas),从而实现高可用性和负载均衡。Swarm 提供了服务发现、负载均衡、故障恢复等功能,并且支持多种调度策略。Swarm 更适用于大型生产环境,特别是需要自动伸缩、滚动更新和复杂服务管理的场景。
2024-05-05 23:13:08
1127
原创 Dokerfile扩展案例
-privileged:使container内的root拥有真正的root权限。否则,container内的root只是外部的一个普通用户权限。
2024-04-28 17:41:49
315
原创 Docker的数据管理
管理 Docker 容器中数据主要有两种方式:数据卷(Data Volumes)和数据卷容器(DataVolumes Containers)。
2024-04-25 23:42:42
977
原创 Docker网络及资源控制
docker允许用户创建自己的定义的网络,用户可以定义的网络范围、子网、路由 等参数这种类型网络使用用户可以更好地对容器网络进行控住和隔离(生产业务需求;注:根据甲方指定或领导指定)。根据业务需求指定静态IP地址。(1)创建自定义网络。
2024-04-24 23:14:13
1075
3
原创 虚拟化及Docker基础
docker本质就是宿主机的一个进程,docker是通过namespace实现资源隔离,通过cgroup实现资源限制,通过写时复制技术(copy-on-write)实现了高效的文件操作(类似虚拟机的磁盘比如分配500g并不是实际占用物理磁盘500g)。Docker的镜像是创建容器的基础,类似虚拟机的快照,可以理解为一个面向 Docker 容器引擎的只读模板。通过镜像启动一个容器,一个镜像是一个可执行的包,其中包括运行应用程序所需要的所有内容包含代码,运行时间,库、环境变量、和配置文件。
2024-04-23 09:16:19
817
原创 Zabbix监控
zabbix是一个基于 Web界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
2024-04-21 22:12:33
1079
原创 消息队列之Kafka
主要原因是由于在高并发环境下,同步请求来不及处理,请求往往会发生阻塞。比如大量的请求并发访问数据库,导致行锁表锁,最后请求线程会堆积过多,从而触发 too many connection 错误,引发雪崩效应。
2024-04-21 22:12:07
732
原创 ELK 日志分析系统(二)
Filebeat是一款轻量级的日志收集工具,可以在非JAVA环境下运行。因此,Filebeat常被用在非JAVAf的服务器上用于替代Logstash,收集日志信息。实际上,Filebeat几乎可以起到与Logstash相同的作用,可以将数据转发到Logstash、Redis或者是Elasticsearch中进行直接处理。
2024-04-21 21:39:11
637
1
原创 ELK 日志分析系统(一)
比如:我们假设运营一个博客平台并且将所有的数据存储到一个索引中,在这个索引中,你可以为用户数据定义一个类型,为博客数据定义一个类型,也可以为评论数据定义另一个类型。集群有一个唯一性标示的名字,默认是elasticsearch,集群名字很重要,每个节点是基于集群名字加入到其集群中的。比如说,你可以有一个客户数据的索引、一个产品目录的索引、还有一个订单数据的索引。是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大容量的日志数据,也可用于搜索许多不同类型的文档。
2024-04-11 11:33:11
936
原创 GFS 分布式文件系统
GFS是一个分布式文件系统,只在扩展存储容器,提高性能并且通过多个互联网络的存储节点的进行冗余,以确保数据的可用性和一致性。
2024-04-09 23:32:47
907
原创 rsync+inotify
使用inotify通知接口,可以用来监控文件系统的各种变化情况,如文件存取、删除、移动、修改等。利用这一机制,可以非常方便地实现文件异动告警、增量备份,并针对目录或文件的变化及时作出响应。将inotify机制与rsync工具相结合,可以实现触发式备份(实时同步),即只要原始位置的文档发生变化,则立即启动增量备份操作;否则处于静默等待状态。这样,就避免了按固定周期备份时存在的延迟性、周期过密等问题。因为 inotify 通知机制由 Linux 内核提供,因此主要做本机监控,在触发式备份中应用时更适合上行同步。
2024-04-08 23:49:50
557
原创 Redis群集模式和rsync远程同步
Redis集群引入了哈希槽的概念,Redis集群有16384个哈希槽(编号0-16383),集群的每个节点负责一部分哈希槽,每个Key通过CRC16校验后对16384取余来决定放置哪个哈希槽,通过这个值,去找到对应的插槽所对应的节点,然后直接自动跳转到这个对应的节点上进行存取操作。rsync(Remote Sync,远程同步) 是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,并保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用。
2024-04-07 17:36:47
1236
原创 Redis性能管理及主从复制、哨兵的配置与部署
尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高Redis服务器的并发量。(4)Master机器收到Slave端机器的连接后,将其完整的数据文件发送给Slave端机器,如果Mater同时收到多个Slave发来的同步请求,则Master会在后台启动一个进程以保存数据文件,然后将其发送给所有的Slave端机器,确保所有的Slave端机器都正常。自动故障转移:当主节点不能正常工作时,哨兵会开始自动故障转移操作,它会将失效主节点的其中一个从节点升级为新的主节点,并让其它从节点改为复制新的主节点。
2024-04-06 22:28:37
1260
原创 Redis常用命令补充和持久化
redis 支持多数据库,redis 默认情况下包含 16 个数据库,数据库名称是用数字 0-15 来依次命名的。多数据库相互独立,互不干扰。
2024-04-03 01:17:48
1304
原创 NoSQL(非关系型数据库)之Redis的简介与安装
(1)关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。主流的关系型数据库包括 Oracle、MySQL、SQL Server、Microsoft Access、DB2、PostgreSQL 等。以上数据库在使用的时候必须先建库建表设计表结构,然后存储数据的时候按表结构去存,如果数据与表结构不匹配就会存储失败。
2024-04-02 22:35:24
1292
原创 MySQL故障排查与优化
(3)通常是使用 RAID-0+1 磁盘阵列,注意不要尝试使用RAID-5,MySQL 在 RAID-5 磁盘阵列上的效率并不高。解决方法:修改 my.cnf 配置文件,在[mysqld]下添加 innodb_force_recovery=4, 启动数据库后备份数据文件,然后去掉该参数,利用备份文件恢复数据。通过 phpMyAdmin 修复, phpMyAdmin 带有修复数据表的功能,进入到某一个表中后,点击“操作”,在下方的“表维护”中点击“修复表”即可。2)临时修改最大连接数,重启后不生效。
2024-04-01 15:58:47
1933
原创 MHA高可用配置
master 出现故障时,它可以自动将最新数据的 slave提升为新的 master,然后将所有其他的 slave 重新指向新的 master。(2)使用半同步复制,可以大大降低数据丢失的风险,如果只有一个slave已经收到了最新的二进制日志,MHA可以将最新的二进制日志应用于其他所有的slave服务器上,因此可以保证所有节点的数据一致性。(2)在 master 上配置到数据库节点 slave1 和 slave2 的无密码认证。(2)在 Master、Slave1、Slave2 节点上都创建两个软链接。
2024-03-31 22:45:42
758
1
原创 MySQL主从复制与读写分离
(3)同时Master节点为每个I/0线程启动一个dump线程,用于向其发送二进制事件,并保存至slave节点本地的中继日志(Relay 1og)中,slave节点将启动SQL线程从中继日志中读取二进制日志,在本地重放,即解析成 sql语句逐一执行,使得其数据和Master节点的保持一致,最后I/0线程和SQL线程将进入睡眠状态,等待下一次被唤醒。6)在客户端服务器上测试,客户端会分别向slave1和slave2读取数据,显示的只有在两个从服务器上添加的数据,没有在主服务器上添加的数据。
2024-03-28 19:08:32
1727
原创 MySQL 高级语句(二)
1、存储过程是一组为了完成特定功能的SQL语句集合。两个点 第一 触发器(定时任务) 第二个判断。2、存储过程这个功能是从5.0版本才开始支持的,它可以加快数据库的处理速度,增强数据库在实际应用中的灵活性。存储过程在使用过程中是将常用或者复杂的工作预先使用SQL语句写好并用一个指定的名称存储起来,这个过程经编译和优化后存储在数据库服务器中。当需要使用该存储过程时,只需要调用它即可。操作数据库的传统 SQL 语句在执行时需要先编译,然后再去执行,跟存储过程一对比,明显存储过程在执行上速度更快,效率更高。
2024-03-27 22:03:58
948
原创 MySQL 高级语句(一)
ASC 是按照升序进行排序的,是默认的排序方式,即可以省略;SELECT语句中如果没有指定具体的排序方式,则默认按ASC方式进行排序。DESC是按降序方式进行排列。当然ORDER BY前面也可以使用 WHFRE 子句对查询结果进一步过滤。
2024-03-26 17:43:24
1404
原创 MySQL备份与恢复
4、可以通过mysqlbinlog --no-defaults --base64-output=decode-rows -v 二进制日志文件名,查看日志内容。5、可以通过mysqlbinlog --no-defaults 二进制日志文件名 mysql -uroot -p ,恢复丢失的数据库。(3)二进制日志(binlog),用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,可用于数据恢复,默认已开启。log-bin mysql-bin 或 log_bin=mysql-bin。
2024-03-25 22:42:46
1602
原创 数据库事务补充和存储引擎
MySQL中的数据用各种不同的技术存储在文件中,每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力,这些不同的技术以及配套的功能在MySQL中称为存储引擎。2)动态表,动态表可以包含可变字段,记录的长度是不固定的,优点是占用空间少。1)静态表,固定长度表。(4) 丢失更新: 两个事务同时读取同一条记录,A先修改记录,B也修改记录(B不知道A修改过),B提交数据后B的修改结果覆盖了A的修改结果。(1) 脏读: 一个事务读取了另一个事务未提交的数据,而这个数据是有可能回滚的。
2024-03-24 22:36:24
759
原创 数据库索引、事务
需要满足最左原则,因为select语句的where条件是依次从左往右执行的,所以在使用select语句查询时where条件使用的字段顺序必须和组合索引中的排序一致,否则索引将不会生效。比如说,在人员管理系统中,要删除一个人员,即需要删除人员的基本资料,又需要删除和该人员相关的信息,如信箱,文章等等。数据库索引是一个排序的列表,存储着索引值和这个值所对应的物理地址无须对整个表进行扫描,通过物理地址就可以找到所需数据是表中一列或者若干列值排序的方法,需要额外的磁盘空间。唯一索引允许有空值(注意和主键不同)。
2024-03-21 23:33:36
906
原创 Mysql数据库管理
Structured Query Language的缩写,即结构化查询语言,关系型数据库的标准语言,用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能。
2024-03-21 23:33:30
2086
原创 MySQL数据库基础
20世纪90年代后期,形成了多种数据库系统共同支撑应用的局面一些新的元素被添加进主流数据库系统中,例如,Oracle支持的“关系-对象”数据库模型。数据库系统(DatabaseSystem,DBS)是一个人机系统,一般由硬件、操作系统、数据库、DBMS、应用软件和数据库用户(包括数据库管理员)组成。描述事物的符号记录,包括数字,文字、图形、图像、声音、档案记录等,以“记录”形式按统一的格式进行存储。表的集合,是存储数据的仓库,以一定的组织方式存储的相互有关的数据集合。
2024-03-21 00:39:30
1018
原创 DHCP与DNS的原理与搭建
带权限复制/var/named目录下named.localhost文件命名为如上kgc.com.zone,不带权限复制,启动后解析不成功。vim /etc/sysconfig/netwprk-scripts/ifcfg-ens33 #打开网卡配置文件。专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议。当更改IP地址段时,不需要重新配置每个用户的IP地址。ipconfig/release#释放IP地址配置。域名数据库文件所在位置/var/named/正向解析:根据域名查找对应的IP地址。
2024-03-18 13:58:33
1105
原创 Linux网络
nmcli实现bonding,红帽8以后修改网络配置推荐的命令。IP地址:ifconfig 或 ip a。怎么验证dns服务器是否可以解析 域名。网络连接状态: ss 或 netstat。netstat 要遍历文件,查看状态。2.修改linux 基础的网络设置。优先级大于域名服务器(设置的dns。1.查看Linux基础的网络设置。查看服务器上的域名是否生效。网关:route -n。将域名翻译成 ip地址,抓包工具 tcpdump。路由:route -n。永久修改网卡,写入文件。
2024-02-22 15:58:38
360
1
原创 日志分析与管理
根据文件夹的文件名和indoe号的关系找到对应的 inode表,再根据inode表当中的指针找到磁盘上的真实数据。/var/log/btmp: 用户登录相关失败的日志信息,是二进制的文件,使用lastb命令进行查看。/var/log/lastlog:记录用户最后一次 登录的信息 可以使用 lastlog 命令查看。inode 号在同一个设备上是唯一的inode 号是有限的资源,它的多少和磁盘大小有关。是文件存取的最小单位。程序日志: 是和程序本身有关 ,有的有独立日志,有的没有独立日志。
2024-01-14 20:44:07
449
1
原创 系统安全及应用
此时cpu和内存利用率过高,使用ps或top命令查找到这个异常进程,通过进程pid找到proc下exe 再找到文件的真实位置把它删除,如果病毒过一段时间会再次新建文件甚至覆盖文件,那就建和病毒同名的文件,加上 chattr +i 锁定文件。su - 完整切换,不加-会有上个用户的残留信息如$PATH,会继承上个用户的env环境。limit模块文件位置:/etc/security/limits.conf。文件修改: /etc/login.defs。/etc/pam.d/ 配置文件。limit模块(重要)
2024-01-14 18:28:21
448
1
原创 进程与计划任务
Linux 定义了几十种不同类型的信号,可以使用kill -l看所有信号及其编号,这里是常用的信号,1,3,9,15用的相对多一些。cron任务中不建议使用%,它有特殊用途,它表示换行的特殊意义,且第一个%后的所有字符串会被将成当作命令的标准输入,如果在命令中要使用%,则需要用\转义。/etc/at.deny 默认所有用户可以使用at,只有在/etc/at.deny文件里面的用户不可以写。系统中默认只有 /etc/at.deny 文件,而且这个文件是空的,因此系统中所有用户都可以用 at 命令。
2024-01-14 14:39:42
758
1
原创 引导过程与服务控制
加电后bios程序会自检硬件,硬件无故障后,会根据第一启动项去找内核,一般来说第一启动项是硬盘,找到硬盘后,会根据mbr 的指引找到完整的 grub 程序,再根据rub的配置文件找到内核文件的具体位置然后将内核文件加载到内存中运行,内存加载好后会启动第一个程序。bios加电自检 --- mbr----- grub---- 加载内核文件---- 启动第一个进程。bios加电自检---- mbr --- grub---- 加载内核---- 启动进程。造成服务器不停重启的原因:硬盘损坏,开机启动项设置错误。
2024-01-07 21:28:27
863
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅