自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 k8s之pod进阶

只是在容器的启动后开始检测,容器内的应用是否启动成功。1.存活探针:livenessProbe 探测是否正常运行,如果发现探测失败,会杀掉容器,容器会根据重启策略来决定是否重启,不是杀掉pod。3.tcpSocket:端口,对指定端口上的容器的IP地址进行tcp检查(三次握手),端口打开,认为探测成功。检查特定容器的端口监听状态。unless-stopped:只要容器退出就会重启,但是docker守护进程时已经停止的容器,不在重启。一个pod可以有多个容器,只要有一个容器退出,pod内的所有容器都会重启。

2024-01-05 14:58:17 856 1

原创 k8s之pod组件

pod是k8s中最小的资源管理组件pod也是最小化运行容器化的应用的资源管理对象pod是一个抽象的概念,可以理解为一个或者多个容器化应用的集合一个pod内的容器,必须都运行在同一个节点。基于现代容器技术的要求,一个pod运行一个容器,一个容器只运行一个进程。pause是基础容器,也可以成为父容器,管理pod内容器的共享操作。pause还可以管理容器的生命周期。k8s提供了pause容器1.为pod内的所有容器提供一个命名空间。

2024-01-05 14:23:03 751

原创 声明式的管理方法文件

restartPolicy指的是pod内的容器启动失败或者有问题的重启策略:Always Never Onfailure(只有异常退>出才会重启,状态非0,如果状态为0,不重启),restartPolicy指的是容器的重启策略,资源类型定义为deployment,这个容器策略只能是Always。#元数据信息包括,service的名称,所属的命名空间,以及要匹配的deployment的标签,要和之前的保持一致。#定义业务的模版,如果定义了多个副本,所有的副本的属性都会按照模版的配置进行匹配。

2024-01-02 16:08:46 977

原创 k8s之陈述式资源管理

如果是基于deployment方式创建的pod,或者是daemonset创建的pod,是由控制器创建的pod,是由delete删除pod是删除不掉的,相当于重启pod。ClusterIP 创建service的默认类型,提供一个集群内部的虚拟ip地址,这是service的默认类型,通过虚拟ip直接访问pod的资源,无法对外提供访问。ClusterIP 创建service的默认类型,提供一个集群内部的虚拟ip地址,这是service的默认类型,通过虚拟ip直接访问pod的资源,无法对外提供访问。

2023-12-29 13:53:57 1058

原创 k8s之kudeadm

pod里面的容器可能使用不同的代码和架构编写。可以在一个网络空间里面实现通信,协调这个命名空间的资源。拖进去flannel,cni-plugins-linux-amd64-v0.8.6.tgz,kube-flannel.yml。拖flannel.tar ,cni-plugins-linux-amd64-v0.8.6.tgz。kubeadm安装的k8s组件都是以pod的形式运行在kube-system这个命名空间当中。把update-kubeadm-cert.sh 拖进去。#根据工作中的实际情况,自定。

2023-12-29 13:46:41 750

原创 k8s的网络类型

overlay网络:在底层物理网络的基础之上,创建一个逻辑的网络层。cni是一个标准接口,用于容器运行时调用网络插件,配置容器网络,负责设置容器的网络命名空间,ip地址,路由等等参数。每个pod都有一个全局的真实的ip地址,同一个node节点的不同pod可以直接使用对方的pod的ip地址进行通信。UDP:基于应用转发,flannel来提供路由表,flannel封装数据包,解封装1。vxlan:使用的就是overlay的虚拟隧道通信技术,二层+三层的模式。flannel的作用:封装数据包,提供转发路由表。

2023-12-29 13:41:32 898

原创 k8s的二进制部署

RBAC授权,使用户 kubelet-bootstrap 能够有权限发起 CSR 请求证书,通过CSR加密认证实现INIDE节点加入到集群当中,kubelet获取master的验证信息和获取API的验证。router_id NGINX_MASTER #lb01节点的为 NGINX_MASTER,lb02节点的为 NGINX_BACKUP。#上传 master.zip 和 k8s-cert.sh 到 /opt/k8s 目录中,解压 master.zip 压缩包。

2023-12-29 13:40:25 1208

原创 k8s初学

11.service:在k8s集群当中,每创建一个pod之后,都会其中运行的容器分配一个集群内的ip地址,由于业务的变更,容器可能会发生变化,ip地址也会发生变化,service的作用就是提供整个pod对外统一的ip地址。pod是一个容器或多个容器组成,pod中的容器共享网络,存储和计算资源,可以部署在不同的主机上,一个pod里面可以运行多个容器,也可以是一个容器。根据调度算法选择一个合适的node,node的节点的资源情况,node的资源控制的情况等等,选一个资源最富裕,负载最小的node来部署。

2023-12-25 15:09:45 435

原创 palybook剧本

标签模块,可以在playbook当中为任务设定标签(tags),我们在运行playbook时可以通过指定任务标签,来实现只运行设定的标签任务。#声明变量item,playbook的内置变量,with_items,会把item的值,遍历列表当中的a,b,c,d.roles:分别把变量,文件,任务,模块,以及处理器,放在单独的目录当中,使用roles模块来一键调用这些文件。如果是together 会把同一组的值遍历,列表当中的值一一对应,打印出来。列表里面的元素定义了循环的次数,第二层列表,相当于内循环。

2023-12-21 12:28:10 56

原创 Ansible模块

给/etc/fastab创建一个软连接,这个文件是目标主机/opt/fstab.bak 复制过来的文件,复制的文件/opt/fstab.bak在目标主机的/opt下,创建一个文件fsatb.link作为fatab.bak。runlevel:配合enabled的,开机自启,可以设置运行级别 在命令可以设置,但是不生效,要在palybook当中使用。dest 指出要复制的文件在哪,必须使用绝对路径,如果源目标是目录,指目录也得是目录。src 复制文件的源,最好使用绝对路径,源目标是目录,指目标也得是目录。

2023-12-19 14:54:33 144

原创 Ansible

是基于python开发的配置管理和应用部署工具,在自动化运维中,现在是异军突起Ansible能批量配置,部署,管理上千台主机。类似于xhell的一键输入的工具,不需要每次都切换主机进行操作。只要有一台ansible的固定主机,就可以所有节点的操作。不需要agent,客户端。只需要一台主机配置了ansible。ansible是基于模块进行工作,只是提供了一种运行的架构,执行操作和变更的是ansible的模块来实现的。比如 copy service 模块。

2023-12-18 14:08:51 198

原创 docker consul

server:指定集群当中的服务器节点,consul的RAFT算法实现分布式结构中节点的一致性,集群当中的成员,直接成为集群的leader,后续加入的服务器都是followe。获取锁:微服务2,建立会话,获取锁,如果申请的锁没有被使用,客户端成功回去,如果已经存在,表示已有其他的服务在占用,会给你分配一个新的锁(kv存储)可以允许其他服务动态的查询和发现这些服务。创建锁:微服务在注册到consul的时候,consul会和这个服务的会话创建一个锁,锁用来标识具体的服务器,会话和锁之间的关联。

2023-12-15 15:01:18 153

原创 docker-harbor私有仓库

docker 三大组件 镜像 容器 仓库仓库:保存镜像私有,自定义用户的形式登录仓库,拉去或者上传镜像(内部管理的用户)harbor:是由VMware公司开发的,开源的企业级的docker registry 项目。帮助用户快速的搭建一个企业级的docker仓库的服务。

2023-12-14 12:14:54 141

原创 docker-compose

虽然我们登录容器,显示的是root用户,伪管理员,一旦privileged: true,容器内的root用户和宿主机的root用户,拥有一样的权限,在生产中能不给就不给。docker-compose 既可以基于dockerfile,也可以基于镜像,一键式,拉起镜像和容器。docker-compose 核心就是yml文件,可以定义容器的一切,通过yml配置,直接运行容器。Dockerfile:先配置好文件,然后build,镜像------->容器。ps:列出由docker-compose编排出来的容器。

2023-12-13 11:52:41 272

原创 dockerfile创建镜像lnmp

创建容器内的数据卷,即可以对外给宿主机挂载,也可以对内,给容器作为挂载点。dockerfile创建镜像 LNMP+wordpress。curl 192.168.233.40 访问主机。在外面 docker pull centos:7。拖进去 nginx wordpress。要看到mysql.sock。#设定容器启动时的命令。

2023-12-13 11:47:00 271

原创 dockerfile

dockerfile:创建镜像,创建自定义的镜像,包括配制文件,挂载点,对外暴露的端口,设置环境变量1.docker的创建镜像的方式1.基于已有镜像进行创建根据官方提供的镜像源,创建镜像,然后拉起容器,是一个白板,只能提供基础的功能,扩展性的功能还是需要自定义(进入容器进行操作)docker pull centos:7docker run -itd --name test1 centos:7 /bin/bash2.基于模版进行创建docker import ubuntu-14 -

2023-12-11 15:08:25 110

原创 docker的资源控制

docker的资源控制:对容器使用宿主机的资源(cpu 内存 磁盘IO)进行限制docker使用linux自带的功能cgroupcontrol groups 是linux内核系统提供的一种可以限制,记录,隔离进程组所使用的物理资源的机制。docker借助这个机制,来实现资源的控制cgroup 本身提供将进程进行分组化管理的功能和接口的基础结构。分配控制的机制来实现资源控制host:容器和宿主机共用一个网络命名空间container:容器和容器之间共用一个网络命名空间。

2023-12-11 15:00:10 328

原创 docker数据卷

数据卷:容器如何与宿主机之间进行数据共享数据卷是一个供容器使用的特殊的目录,在容器中,和宿主机的目录进行映射,主机和宿主机都可以对目录中的文件进行修改,双方都同步生效。对镜像也没有影响,宿主机到容器实现数据迁移。

2023-12-07 17:14:47 321

原创 docker网络

3.容器和主机通信:通过桥接模式,容器可以与主机直接通信,容器可以访问主机上的运行服务,主机也可以通过桥接网络docker:0来访问容器内部的进程(iptables的nat地址转换,在主机上做了nat地址转换)4 none模式:docker容器有自己的network=space 但是这个容器没有任何设置,容器没有网卡,没有ip,没有路由,只有lo回环网络,在none模式下,容器不可用联网,用于容器功能测试。注意:docker的网桥是宿主机虚拟出来的,并不是一个真正存在的网络设备,外部网络无法寻址找到。

2023-12-07 17:12:57 123

原创 初识docker

1.UTS(命名空间),系统调用参数:CLONE_NEWUTS,隔离内容:主机与域名,在UTS这个命名空间当中创建进程,进程可以看到自己的主机名和域名,与其他进程分隔开。5.mount 系统调用的参数:CLONE_NEWNS,隔离内容:挂载点,在mount这个命名空间之中,每个进程或者设备都有一个自己的文件系统挂载点,相互之间互不干扰。镜像:是docker的基础,最小单位。docker是什么:开源的应用容器引擎,基于go语言开发的,运行在linux系统当中的开源的,轻量级的虚拟机。

2023-12-06 21:36:15 201

原创 zabbix的自动发现机制,代理功能,SNMP监控

zabbix客户端主动和服务端联系,将自己的地址和端口发送服务端,实现自动添加监控主机。zabbix的代理功能:代替服务端收集客户端的数据,然后把数据传送给服务端。性能监控:带宽利用率,CPU利用率等等,可以通过图形了解网络的负载情况。使用SNMP,监控ens33的数据流量,如果设备故障,发送邮件告警。2c 2 snmpV2协议 c 共同体的字符串 snmp的协议。SNMP是一个树型结构 .1监控所有的SNMP的协议树。设备监控:路由器,交换机,服务器,打印机,三层交换机。使用的是snmpv2协议。

2023-12-06 21:34:06 168

原创 zabbix

zabbix监控:非常成熟的监控软件我们是运维人员,监控系统服务器的状态,网站的流量,进行服务的运行状态。保证整个集群的工作正常。

2023-12-06 21:23:27 143

原创 elk+kafka+filebeat

传递给es实例中的信息包含kafka的属性数据。从头拉去,latest(实时更新)把filebeat投进去。解析json格式的代码。

2023-12-06 21:07:12 405

原创 zookeeper集群 +kafka集群

点对点 一对一:消息的生产者发送消息到队列中,消费者从队列中提取消息,消费者提取完之后,队列中被提取的消息将会被移除,后续消费者不能再消费队列当中的消息,消息队列可以有多个消费者,但是一个消息,只能由一个消费者提取。经纪人:Broker每个kafka节点都有一个Broker,每个Broker负责一台kafka服务器,id唯一,存储主题分区当中的数据,处理生产和消费者的请求,维护元数据(zookeeper)只有通信保证,其他的修改不影响整个集群,每个组件可以独立的扩展,修改,降低组件之间的依赖性。

2023-12-06 21:02:20 256

原创 elk:filebeat

vim /etc/logstash/logstash.yml (可以不改/etc/logstash/conf.d)filebeat是一个轻量级的日志收集工具,所使用的系统资源比logstash部署和启动时使用的资源要小的多。filebeat可以运行在非java环境,他可以代替logstash在非java环境上收集日志。filebeat无法实现数据的过滤,一般是结果logstash的数据过滤功能一块使用。filebeat收集的数据可以发往多个主机,远程收集。远程收集,远程收集多个日志,

2023-12-06 20:55:09 523

原创 ELK日志分析

L:Logstash 数据收集引擎,支持动态的(实时),从各种服务应用收集日志资源,还可以收集到日志数据进行过滤,分析,丰富,统一格式等等操作。总结:ELK的作用,当我们管理一个大集群时,需要分析和定位的日志就会很多,每一台服务器分别去分析,将会耗时耗力,所以我们应运而生了一个集中统一的日志管理和分析系统,极大的提高了定位问题的效率。提供了一个图形化的界面,来浏览ES上的日志数据。fliebeat 轻量级的开源的,日志队列,收集的速度较快,但是没有数据分析和过滤的能力,一般结合logstash一块使用。

2023-12-06 20:22:08 345

原创 redis-cluster集群

每次读写都涉及到哈希槽位,key通过CRC16校验之后,对16384取余,余数值绝对数据放入哪个哈希槽位,通过这个值找到对应槽位所在的节点,然后直接跳转到这个节点进行存取操作。1、数据分片:是集群的核心功能,每个主都可以对外提供读,写的功能,但是数据是一一对应写入主的对应从节点,在集群模式中,可以容忍的数据的不完整。集群模式自带哨兵模式,可以自动实现故障切换,但是在故障切换完整之前,整个集群都将不可用,切换完毕之后,集群会立刻恢复。根据集群当中主从节点数,分配哈希槽位,每个主从节点只负责一部分的哈希槽位。

2023-11-23 12:04:20 307

原创 redis的主从复制,哨兵模式

主节点在一定时间内没有回复或者回复了错误的消息,这个时候,哨兵就会把主观的任务主节点下线了,超过半数的哨兵节点认为主节点下线了,这个时候才会认为主节点是客观下线。主节点收到请求之后,他不管slave是第一次连接还是重新连接,主节点都会启动一个后台进程,执行BGSAVE,主节点会把所有修改数据记录的命令加载到缓存和数据文件之中。数据文件创建完毕之后,master把数据文件传送给slave,slave会把这个数据文件,先保存到硬盘,然后再加载到内存。在主从复制的基础之上,实现主节点故障的自动切换。

2023-11-22 15:15:56 327

原创 redis的性能管理

maxmemoey-policy volatile-lru :使用redis内置的LRU算法,把已经设置了过期时间的键值对中淘汰数据,移除最近最少使用的键值对(针对已经设置了过期时间的键值对)RSS是向系统申请的内存空间,redis占用物理空间额外的开销比例,比例越低越好,redis实际占用的物理内存和向系统申请的内存越接近,额外的开销越低。maxmemory-policy volatile-ttl:已经设置了过期时间的键值对,从当中挑选一个即将过期键值对(针对有设置过期时间的键值对)(针对所有的键值对)

2023-11-22 14:13:55 245

原创 redis的高可用

AOF重写是把redis进程内的数据,转化为写命令,同步到新的AOF文件当中(不会额外的生成一个新的文件,只是在原内容进行压缩),不会对原有的AOF文件进行任何读写的操作。appendfsync no :写入操作调用系统的write操作,不对AOF文件进行同步,操作系统来同步,同步周期30秒,文件同步的时间不可控,缓冲区会堆积大量数据,数据的安全也无法保证、aog为结尾的文件。缺点:文件大,恢复速度慢,AOF持久化需要频繁的向磁盘写数据,磁盘的IO压力也是很大的,对redis主进程的性能也会有一定影响。

2023-11-21 18:30:16 320

原创 redis非关系型数据库

redis:基于内存运行,支持持久化(数据恢复)。3、对事务的支持性,mysql支持事务,非关系型数据库也支持事务,redis也可以支持事务,但是稳定性和处理能力都不如关系型数据库。1.string:也是redis最基本的类型,最多能存储512MB的数据,可以存储任何数据:数字,文字,图片,等等。如果部署了多个redis进程,虽然能提高redis的并发处理能力,但是会给服务器的cpu带来很大的压力。3.支持持久化,平常的数据都是保存在内存中,持久化可以写入到磁盘中,既可以保存到本地,也可以实现备份。

2023-11-20 17:16:44 693 1

原创 GFS分布式文件系统

1、BRICK(存储块) 存储服务器提供的用于物理存储的专用分区,GFS当中的基本存储单元,也是对外提供的存储目录,由服务和目录的绝对路径组成。(3)VFS 将数据递交给 FUSE 内核处理,而 FUSE 文件系统则是将数据通过 /dev/fuse 设备文件递交给了 GFS客户端。4.弹性卷,类似于lvm,不同硬盘上的不同分区组成一个逻辑上的硬盘。5.基于标准协议,GFS存储服务支持,NFS FTP HTTP以及GFS协议,应用程序可以直接使用数据,不需要做任何修改。可靠性更强,存储效率也更高了。

2023-11-17 16:22:58 121

原创 rsync远程同步

cat /proc/sys/fs/inotify/max_user_watches #每个实例最多监控的文件。cat /proc/sys/fs/inotify/max_user_instances #最多监控的实例。##inotify通知接口,可以用来监控文件系统的各种变化情况,文件存取,删除 移动 修改都可以被监控。在文件数量较多的情况下,比如百万和千万级别的文件 , rm -rf 很慢。--delete:删除目标位置有,但是原始位置没有的文件。-a:归档模式,保留文件的权限,属性等等。

2023-11-17 15:59:47 362

原创 squid代理服务器

否则,代理服务器会代理客户端向web服务器发起请求,然后再把请求的资源响应给客户端,同时把响应缓存在本地,后续请求者都可以使用。1.代替客户端向网站请求数据,不需要访问代理的ip地址,直接请求目的网站,有代理服务器处理请求和响应。cache_mem 2000 MB #缓存功能使用的内存空间大小,容量最好为4的倍数,单位用MB,建议是内存的四分之一。3.反向代理 在反向代理的squid服务器当中缓存了请求资源,将资源直接返回给客户端。4.隐藏真实的ip地址,代理服务器代替客户端请求,客户端的信息不会显示。

2023-11-17 15:28:40 129

原创 mysql高可用

masterhight availabulity:基于主库的高可用环境下:主从复制 故障切换主从的架构MHA:最少要一主两从mysql的单点故障问题,一旦主库崩溃,MHA可以在0-30秒内自动完成故障切换MHA使用的是半同步复制,只要有一台服务器写入数据,就会自动提交给客户端master崩溃,slave就会从主的二进制日志保存文件slave会识别最新更新的日志差异部分同步到slave提升一个新的slave作为master其他的slave继续和新的master同步。

2023-11-14 17:29:05 174

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

每次事务提交时都会刷新事务日志,已确保持久性,最高级别的数据安全性,但是会影响性能,默认就是1 0 就是事务提交时不会立即刷新,而是每秒刷新一次,可以提供性能,但是发生故障会导致数据丢失。异步:udp,只要执行完之后,客户端提交事务,主mysql会立即把结果返回给从服务器,主mysql并不关心从mysql是否已经接收,并且处理。2.slave节点会一定时间内对主库的二进制日志文件进行探测,看其是否发送变化,如果有变化,从库会开启一个I/O的线程,请求的主库的二进制事件。占用比较高的性能,但是安全性高。

2023-11-14 17:08:27 151

原创 Mysql存储过程

要想使用存储过程里面的结果,必须要out才能传出参数,在声明存储变量时,要定义好参数的传参方式。主要用于复杂的,需要很多sql语句联合执行完成的任务,存储过程在执行上比sql语句的执行速度要快,效率也更高。3.inout:表示调用者向存储过程传入值,存储过程对传入值可能进行额外的操作之后,返回给调用者。insert into info values(2,'郭旗',@num,'是');使用存储过程中,在内部变量不需要加@,外部使用和赋值要加@,引用变量。-- 加工之后的字符串。set @str='刘亚伟';

2023-11-14 16:24:23 55

原创 Mysql高阶语句

insert into test select * from info where address in (select address from info where address like '%南京%')update v_info set score=100 where name='王宇杭' #修改了视图表,源表的数据会发生变化,一般情况我们是不对视图进行改的操作。统计name的行数,计算出学生的个数,把成绩也查出来,然后安装统计出来的学生个数,升序排序,按照地址分组,

2023-11-08 17:28:00 161

原创 数据库的备份和恢复

mysqlbinlog --no-default--start-datetime='时间点' --no-default--start-datetime='时间点' 文件 | mysql -u root -p。mysqlbinlog --no-defaults --start-position='位置点' --stop-position='位置点' 文件名 | mysql -u root -p。逻辑备份:只是对数据库的逻辑组进行备份,(表结构),以sql语句的形式,把库,表结构,表数据进行备份保存。

2023-11-07 16:39:41 539

原创 Mysql存储引擎

存储引擎:mysql当中数据用各种不同的技术存储在文件中,每一种技术都使用不同的存储机制,索引技巧 锁定水平 以及最终提供的不同功能和能力,,这些就是我们说的存储引擎。1.INNODB:5.5之后的mysql的默认存储引擎,事务型速记引擎,支持ACID事务,支持行锁,锁表。2、mysql的默认的死锁规则,会中选择一个事务作为死锁的牺牲品,直接终止,其中一个事务,但是不会自动回滚。2.MYISAM:5.5之前的默认存储引擎,插入数据的性能较高,查询速度也很优秀,但是不支持事务。每天记录都是单独压缩的。

2023-11-03 16:00:37 100

zabbix监控windows

zabbix监控windows

2024-05-31

空空如也

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

TA关注的人

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