自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Prometheus 之PromQL

7、historgram:对一定时间范围内的数据进行采样,通常是请求持续的时长和响应大小的类型,这一类的数据计入可配置的桶(bucket),可以通过区间来对样本进行筛选。8、Summary:分位数计算,类似于historgram,在客户端于一段时间内(默认十分钟)的每个采样点进行统计,计算并且存储了分数位的值,服务端可以直接抓取响应的值。6、gauge:用于存储值。irate:是一个高灵敏度的函数,计算指标是瞬时速率,基于样本范围内的最后两个样本进行计算,irate更适用于短时间内的变化速率分析。

2024-01-31 12:27:15 635

原创 promethues之POD搭建

consonl node主机发现。prometheus的容器化部署。kube-api自动发现。

2024-01-30 17:08:32 240

原创 promethues基础概念

promethues是一个开源的系统监控以及报警系统,整个zabbix的功能,系统,网络,设备promethues可以兼容网络和设置被,容器监控,告警系统,因为他和k8s是一个项目基金开发的产品,天生匹配k8s原生系统,人弄国企话和云原生服务适配性很高。promethues是一个服务监控系统和时序监控系统,提供了通用数据模型和快捷数据采集,存储和接口查询。核心组件:promethues server定期从静态配置的监控目标或者基于服务发现的自动配置目标中进行拉取数据。

2024-01-29 15:02:24 489

原创 Kubernetes/k8s之安全机制:

核心是分布式集群管理工具,容器编排,安全机制核心是:API SERVER作为整个集群内部通信的中介,也是外部控制的入口,所有的安全机制都是围绕api server开设计的。请求api资源1、认证 2、鉴权 3、准入机制三个条件都通过,才可以在k8s集群当中创建资源。

2024-01-25 12:09:16 1102

原创 Kubernetes/k8s之HPA,命名空间资源限制

HPA的自动扩缩容命令空间两种方式ResourceQuota:可以对命名空间进行资源限制第二种LimitRange:直接声明在命名空间当中创建pod,容器的资源限制,只是一种统一的限制,所有的pod都受这个条件的制约pod资源限制 一般是我们创建的时候声明好的,必加选项resourceslimit命名空间资源限制:对命名空间使用cpu和内存一定会做限制通过核心:防止整个集群的资源被一个服务或者一个命名空间沾满命名空间统一资源限制在pod LimitRange。

2024-01-23 16:14:36 1266

原创 Kubernetes/k8s之包管理器helm

tree nginxnginx/├── chartscharts:用于存储依赖环境,如果这个chart依赖于其他的chart,依赖文件保存这个目录chart.yaml:helm chart的元数据文件,包含了这个chart的名称,版本,维护者信息等等templates:包含清单模板的目录deployment.yaml:部署应用的模板文件heplers.tpl:帮助文档,告诉用户如何来定义模板的值hpa.yaml:定义了应用程序副本数的扩缩容行为。

2024-01-22 14:22:05 548

原创 k8s之ingress

ingress基于域名进行映射,把url(http https)的请求转发到service,再由service把请求转发到每一个podingress只要一个或者少量的公网ip或者LB,可以把多个http请求暴露到外网,七层反向代理理解为service的service,是一组基于域名和URL路径,把一个或者多个请求转发到service先是七层代理然后再是四层代理再到podingress >service>nginxingress的组成:ingress是要给api对象,通过yaml文件来进行配置,ingress

2024-01-18 17:34:26 2056

原创 kubernetes/k8s配置资源管理

系统自建的:kubernetes.io/service-account-token,用来访问apiserver,pod会默认使用这个kubernetes.io/service-account-token创建的secret和apiserver通信,自动挂载到pod的/run/secret/kubernetes.io/serviceaccount.保存的是不需要加密的信息。configMap的热更新:热更新可以直接反映到容器内部,也不会触发pod的更新机制,如果不是需要重启的配置,都可以直接生效。

2024-01-16 14:14:10 1028

原创 pod控制器的作用

1、动态pv和pvcdeployment是控制器pod空气器:工作负载,workload用于管理pod的中间层,确保podi资源符合预期的状态预期状态1、·副本数2、容器重启策略3、镜像拉取策略pod、出现故障时重启等等pod的控制器类型1、replicaset:指定pod的副本数量三个组件:pod的副本数标签的选择器,判断哪个pod归自己管理扩缩容2deployment控制器,他是工作在repalicaset之上,管理无状态应用,目前是最好的控制器,支持滚动更新和回滚。

2024-01-15 17:37:50 819

原创 Kubernetes的动态pv

pv和pvc存储卷存储卷:emptyDir:容器内部,随着pod销毁,emptyDir也会消失,不能做数据持久化hostPath:持久化存储数据可以和节点上目录做挂载,pod被销毁了数据还在NfS:一台机器,提供pod内容器所有的挂载点pv和pvc:pvc就是pod发起的挂载 的请求pv:持久化存储的目录,ReadwriteMan、ReadOnlyMany、ReadWriteOnce只有NFS支持ReadWriteOnce、ReadOnlyMany 、readwriteMany。

2024-01-11 14:46:57 899

原创 Kubernetes/k8s的存储卷/数据卷

k8s的存储卷/数据卷容器内的目录和宿主机的目录挂载容器在系统上的生命周期是短暂的,delete,k8s用控制创建的pod,delete相当于重启,容器的状态也会回复到初始状态一旦回到初始状态,所有的后天编辑的文件都会消失容器和节点之间创建一个可以持久化保存容器内文件的存储卷,即使容器被销毁,删除,重启,节点上的存储卷的数据依然存在,后续也可以使用可以继续将容器内目录的宿主机挂载,保存的数据继续使用。1、emptyDir。

2024-01-10 14:19:00 1234

原创 k8s的node亲和性和pod亲和性和反亲和性 污点 cordon drain

(master节点的污点就是这个)1、pod的亲和亲和性策略,在配置时,必须要加上拓扑域,必须要加上拓扑域的关键字topologyKet,指向节点的标签。--ignore-daemonsets:忽视daemonsets部署的pod,daemonsets部署的pod还在节点。指定key的值,指标节点的标签值,但是不指定污点的类型,要么所有节点上只要包含了这个指定的标签名,可以容忍所有的污点。生命周期结束之后,会驱逐一部分pod到其他节点,有的节点还是会保留在污点上,有的节点还是会保留在污点节点上。

2024-01-09 13:51:42 574

原创 list-watch和节点亲和性和node亲和性

kubectl run nginx --image=nginx:1.22 ---- apiserver -----controller manager ---scheduler ---- kubelet管理容器生命周期。2、podfitshost:pod适应主机,如果pod指定了node的name, nginx1pod检测node01是否存在,检测主机名是否存在,存在要和pod指定的名称匹配,之才能调度过去。指定了节点,再参数中设置了nodeName,指定了节点的名称,会跳过scheduler的调度策略。

2024-01-08 15:01:00 932

原创 k8s/Kubernetes容器钩子和探针

onFilure:当pod内的容器退出时,状态码0.整个po都不会重启,只有一个或者n个容器非正常退出状态码非0,整个pod才会重启。3、退出时,可以执行自定义命令,删除或者生成一些必要的程序,自定义销毁方式以及自定义资源回收的方式以及容器的退出容器等待时间。就绪探针,pod的状态是running ready状态是notready,容器不可以提供正常的业务访问,就绪探针不会重启容器。6、就绪探针,如果不影响容器运行,status:running ,这个时候不会重启,一旦容器退出的话,就绪探针也会重启。

2024-01-05 14:03:08 416

原创 pod进阶:

每隔多少秒进行一次检查,看应用的延迟敏感度,这个应用非常 重要,是要给核心组件, periodSeconds: 2 #表示如果探测失败,失败几次,把容器标记为不健康 failureThreshold: 2 #只要成功一次即可就标记为就绪,健康或者ready successThreshold: 1 #表示每一次探测的超时时间,在多少秒内必须完成探测,不能比perioSeconds大 timoutSecond: 1。启动探针starupProbe:只是在容器的启动后开始检测,容器内的应用是否启动成功。

2024-01-04 12:30:25 838

原创 pod篇:

1、master节点发出指令,pod使用的镜像nginx,pod的副本数,2、kube-scheduler来分配执行的node节点 3、node节点的kubelet收到master的指令,先拉pause,在拉nginx的镜像,指定创建几个副本,4、pause容器先启动,提供命名空间,进程管理pid1,为pod内容器提供共享服务以及容器的进程管理 (pause就是初始化容器)管理方便,简单直观。pod里面是容器,容器运行的是进程,pid是从pause来的 pause为1 ,会在pod内部管理这些容器的进程。

2024-01-03 13:51:06 935

原创 kucectl的蓝绿发布、蓝灰发布、滚动发布和声明式资源管理方法(yaml)文件

delpoyment控制器之创建服务,才可以使用这个发布方式,滚动更新,暂停,发布的过程中,暂时停止,只有一部分的pod先升级,其他的pod还是处于老的版本,只有一部分用户可以访问新的版本,绝大多数用户还是再老版本,确定无问题后,再把剩下的老版本,升级成新的版本,先把暂停取消,继续发布,如果有问题,可以立即回滚,暂停不是回滚,一旦取消暂停只能全部升级完毕之后,再回滚。蓝绿发布:把应用服务群标记为两个组,蓝组和绿组,先升级蓝组,要把蓝组从负载均衡当中移除,绿组继续提供。

2024-01-02 13:40:47 805

原创 k8s的陈述式资源管理:

ClusterIP:创建service的默认类型,提供一个集群内部的虚拟ip地址,这是service的默认的类型,通过这个虚拟ip可以直接访问pod资源,但是仅限于内部请求,无法对外提供访问。grace-period=0:表示过度存活期,默认是30秒,可以让pod优雅的结束容器内的进程,然后退出pod ,=0表示立刻停止pod,必须要force。滚动更新:不是一次性的把所有pod全部部署,而是一个一个来,pod的更新时使用,逐步的引入新的pod:逐步减少新的pod。

2023-12-29 12:26:18 1694

原创 kubeadm开快速的搭建一个k8s集群

所有节点安装kubeadm,kubelet和kubectl //定义kubernetes源 cat > /etc/yum.repos.d/kubernetes.repo << EOF [kubernetes] name=Kubernetes baseurl=所有节点安装docker yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo。输入私钥密码:123456。

2023-12-28 15:11:09 1255

原创 如何实现https密钥对登录方式

des3:加密的算法 Triple DES加密的算法,生成的私钥进行加密。openssl genrsa :生成密钥 RSA。-out server.key 生成私钥文件。2048:密钥的位数是2048。第二台机器也需要docker。再回到第二台docker上。回到第一台docker上。

2023-12-25 15:51:25 672

原创 K8S理论

4、ETCD:是k8s的存储服务,是一个分布式的键值存储系统(key:value),存储k8s的关键配置和用户配置,其他组件如何来调用,先通过APIserver调用etcd当中的存储信息,然后在实施,在整个集群当中,能对etcd存储进行读写权限的,只有API-server。sevice:在k8s的集群当中,每创建一个pod都会为其中运行的容器分配一个集群内的ip地址,由于业务的变更,容器可能会发生变化,ip地址可能也会发生变化,service的作用就是提供整个pod对外统一的ip地址。

2023-12-25 15:49:43 1101

原创 ansible-playbook的Temlates模块 tags模块 Roles模块

jinja模板架构,通过模板可以实现向模板文件传参(python转义)把占位符参数传到配置文件中去,生产一个目标文本文件,传递变量到需要的配置文件当中 (web开发)标签模块,可以在playbook当中为任务设定标签(tags)我们在运行playbook可以通过指定任务标签,来实现只允许设定的标签任务。/etc/ansible/hosts配置了主机的占位符名称和j2文件的占位符一致(定义参数:占位符的参数声明好)现在/etc/ansible/roles下面创建好php http mysql的目录。

2023-12-21 15:15:45 482

原创 ansible的脚本---playbook剧本

with_item s声明变量item,playbook的内置变量,with_items,会把item的值,遍历列表,当中a,b,c,d,虽然声明的列表是两个,但是with_items还是把两个列表当成整体进行遍历 for i in (a,b,c,d,1,2,3,4)5、roles:角色:是一种组织和封装playbook的,允许把相关的任务、变量、模板以及处理器组织成一个可复用单元。1、tasks任务:包含要在目标主机上执行的操作,使用模块定义这些操作,每个任务都是一个模块的调用。在20.0.0.14。

2023-12-20 15:58:25 502

原创 ansible模块

dest:指出复制文件的目标和位置,要复制的文件在哪,必须使用绝对路径,如果是源目录指目标也得是目录,如果目标内容存在,会覆盖原有的内容。ansible_user 指定连接时使用对方主机的用户名,不指定主机执行ansible的用户即为使用目标主机的用户名。只有在/etc/ansible/hosts文件当中声明的主机,ansible的服务端才可以进行远程模块。src:复制文件的源,最好使用绝对路径,源目标是目录,指目标也得是目录。在目标主机上的操作都是后台运行,不影响其他用户的使用。

2023-12-19 15:04:03 963

原创 ansible

remove=yes\no 当删除用户时,当删除用户是,加上remove=yes,删除用户的加目录 userdel -r。如创建程序用户一定要声明system=yes,声明shell的类型,shell=/sbin/nologin 也可以指定uid的方式给用户分配一个uid。在使用ansible的user模块,创建用户时,如果创建普通用户可以不加system=no,指定shell类型也可以不加,默认就是/bin/bash。create_home=yes\no:替换用户的家目录,不需要替用户的家目录可以不写。

2023-12-18 14:15:24 919

原创 docker consul 容器自动发现与注册。

6、DNS和HTTP的API:consul支持DNS接口,可以通过域名解析定位服务的位置,http api:通过API应用接口,可以调用consul的信息,服务信息,健康检查等等。consul-template自动化管理文件的工具,获取的额consul当中注册的服务信息,可以自动的添加到配置文件当中,即使生效,无需重启。获取锁:微服务2,简历会话,获取锁,如果申请的锁,客户端成功获取,如果已经存在,表示已有其他的服务在占用,会给你分配一个新的锁(KV存储)可以允许其他服务动态的查询和发现这些服务。

2023-12-15 14:51:00 870

原创 docker-compose 单机容器编排

虽然我们登录容器,显示的是root用户,伪管理员,一旦privileged: true,容器内的root用户和宿主机的root用户,拥有一样的权限,生产者能不给就不给。docker-compose 核心就是yml文件,可以定义容器的一切,通过yml配置,直接运行容器。-f:使用特定的compose的模板文件,一般都用docker-compose.yml。dockerfile:先配置好文件,然后build,镜像------->容器。-p:project-name:指定项目名称,如果不加,会使用目录名称。

2023-12-13 12:10:01 383

原创 dockerfile创建镜像 lNMP+wordpress

dockerfile创建镜像 lNMP+wordpress。

2023-12-12 16:13:57 449

原创 dockerfile:创建镜像的方式,船舰自定义的镜像

区别:add可以解压,如果是一个压缩问价,add在复制后会自动解压(tar.gz和tar.bz2)可以支持URL下载源文件,只能支持下载但是不能解压,通过URL拷贝的文件无法自动解压。一旦定义好了镜像层是不可变的,你在某一层当中添加一个新的命令,但是下一层删除了指令,镜像中基于这个命令创建的文件依然存在,但是在容器中看不到。根据官方提供的镜像源,创建镜像,然后拉起容器,只能提供基础的功能,扩展性的功能还是需要自定义(进入容器进入操作)一旦有一层镜像失败,所有的镜像层都会失败,镜像也不会创建。

2023-12-11 15:06:18 1158

原创 docker的资源控制:

control grouos是linux内核系统提供的一种可以限制,记录,隔离进程组所使用的物流资源的机制。CFS调度的周期长度,微妙,在每个周期内,容器可以使用指定比例的cpu时间,默认情况都是100毫秒。容器使用cpu的配额时间必须,大于1ms, --cpu-quota的值,必须是>=1000。我们也可以自定义容器的调度周期,已经在这个周期时间之内各个容器能够使用cpu的调度时间。--cpu-quota 设置在每个周期内,容器可以使用cpu的时间。对容器的使用宿主机的资源进行限制。

2023-12-11 15:02:14 477

原创 docker基本管理和docker相关概念

linux的命名空间,namespace,是一种内核的特性,允许讲一组系统资源隔离,在一个命名空间中的进程在系统当中可以拥有独立的资源。docker的宿主机是linux系统,集装箱可以理解为相互隔离的容器(组件,应用容器app),每个容器都是一个独立的应用程序。docker的容器技术可以在一台主机上轻松的为任何应用创建一个轻量级的,可以移植的,自给自足的容器。已经配置好的导出的容器镜像,可以直接使用(我们都是用的开发已经设置,配置好的容器镜像)

2023-12-06 15:49:07 1157

原创 消息队列zookeeper集群+kafka

可恢复性:系统当中的有一部分组件小时,不影响整个系统,也就是消息队列当中,即使一个处理消息的进程失败,一旦恢复还可以重新加入到队列当中继续处理消息。经纪人:broker每个kafka节点都有一个 borker,每个负责一台kafka,id唯一,存储主题分区当中数据,处理生产和消费者的请求,B启动,在发起一次选举,A和B分别投自己一票,交换选票信息,myid,A发现B的myid比A大,A的这一票转而投给B。只要通信保证,其他的修改不影响整个集群,每个组件可以独立的扩展,修改,降低的组件之间的依赖性。

2023-12-06 12:15:17 1478

原创 zabbix的自动发现机制:

zabbix的配置:先有主机,再有模板,再模板当中设置应用集,在应用集当中哦欸之监控项,在监控项之后配置触发器,最后图形(可选)市面上zabbix是一款成熟的监控软件,有所有一切的模板,脚本,docker和k8s容器化的运行的yaml。zabbix客户端主动的和服务端联系,将自己的地址和端口发送给服务端,实现自动添加监控主机。zabbix:就是一个监控服务程序,网络设备,以及主机的软件,但是不能很好的监控容器的运行。可以进行性能监控:带宽的利用率、cpu的利用率等等,可以通过图形了解网络的负载的情况。

2023-12-04 23:37:27 408

原创 elk:filebeat也是一个日志收集工具

filebeat是一个轻量级的日志收集工具,所使用的系统资源比logstash部署和启动使用的资源要小的多。filebeat可以允许在非java环境,他可以代替logstash在非java环境上收集日志。filebeat无法实现数据的过滤,一般是结合logstash的数据过滤功能一块使用。logstash工作线程,默认值就是cpu数,4 2 8 4给一般即可 2核, 2个。out这个文件当中。filebeat收集的数据可以发往多个主机,远程收集。logstash收集日志的过程。远程收集,远程收集多个日志,

2023-11-28 18:21:44 667

原创 elk日志分析系统:

可以支持动态的(实时)从各种服务应用收集日志资源,还可以对收集到日志数据进行过滤,分析,丰富收集的到日志数据,统一格式。k:kiabana图形化界面,可以更好的分析存储在ES上的日志数据,提供了一个图形化的界面,来浏览ES上的日志数据。filebeat:轻量级的开源的,日志收集工具,收集的速度比较快,但是没有数据分析和过滤的能力,一般是结合logstash一块使用。RUBY语言编写的,运行在java虚拟机上的一个强大的数据处理工具,数据传输,格式化输出,格式化处理,主要用来处理日志。

2023-11-27 18:08:33 949

原创 redis-cluster集群

主从复制:主宕机之后,主节点原来负责的哈希槽位将会不可用,需要从节点代替主节点继续负责原有的哈希操作,保证集群正常工作,故障切换的过程种,会提示集群不可用。1、数据分区 是集群的核心功能 ,每个主都额可以对外提供读,写的功能,但是数据是--对应写入主的对应从节点。集群模式自带哨兵模式,可以自动实现故障切换,但是在故障切换完成之前,整个集群都将不可用,切换完毕之后,集群会立即恢复。集群模式当中,主从一一对应,数据写入和读取与主从模式一样,主负责写,从只能读,在集群模式当中,只能选择0库,集群不能切换库。

2023-11-23 12:25:45 325

原创 redis的性能管理

RSS时向系统申请的内存空间,redis占用物理空间额外的开销比例,比例越低越好,redis实际占用的物理内存和向系统申请的内存越接近,额外的开销越低。:使用redis内为的LRU算法,把已经设置了过期时间的键值对中淘汰数据,移除最少使用的键值对(针对已经设置了过期时间的键值对)allkeys-lru:LRU算法当中,对所有的键值对进行淘汰,移除最少使用的键值对(针对所有的键值对)(针对有设置过期时间的键值对)分配器碎片的比例,redis主进程调度时产生的内存,比例越小越好,值越高,内存的浪费越多。

2023-11-22 14:09:42 254

原创 redis的数据类型的操作增删改查

appendfsync no :写入操作调用系统的write操作,不对AOF文件进行同步,操作系统来同步,同步周期30秒,文件同步的时间不可控,缓冲区会堆积大量数据,数据的安全也无法保证。*文件重写虽然是AOF持久化强烈推荐的,但不是必须的,没有重写并不影响redis启动时读写数据,在实际中,会关闭自动的文件重写,通过定时任务来完成。1、随着时间增长,AOF文件当中的数据也会不断增加,AOF的文件也会也来越大,过大的AOF文件不仅仅会影响,也会导致数据恢复的时间过长。缺点:文件大,恢复速度慢。

2023-11-21 17:58:58 92

原创 GFS分布式文件系

在分布式卷模式下,他是没有对文件进行分块的,直接存储在某个server的节点上存取效率也没有提高,直接使用本地文件系统进行存储。分布式复制卷:这是分布式卷和复制卷的组合,可以将多个物理磁盘组合成一个逻辑卷,并且将这个逻辑卷复制到多个物理磁盘上,从而提高存储容量、I/O性能和数据的可靠性。分布式复制卷式最常用的分布式文件存储方式,他是根据策略还是分布式的存储方式,分开存储,但是会进行复制,所以也拥有冗余的功能但是磁盘利用率也只有50%复制卷具备冗余换一个节点也不影响数据,但是要保存副本,磁盘利用率50%

2023-11-17 17:08:37 197

原创 rsync远程同步

inotify通知接口,可以用来监控文件系统的各种变化情况,文件存取,删除移动修改都可以被监控。rsync远程同步 :是一个开源的快速备份工具,可以在不同主机之间同步整个目录。在文件数量较多的情况下,比如百万或者千万级别的文件,rm -rf *速度很慢。rsyns同步速度很快,适合同步大文件,可以结合数据库同步使用。2、往后的同步,都是增量备份(差异备份),只同步变化的数据。--delete:删除目标位置有,但是原始位置没有的文件。可以实现增量同步,只同步发生变化的数据,数据传输效率很高。

2023-11-17 17:05:49 131

空空如也

空空如也

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

TA关注的人

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