自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Prometheus的promql语句

_address__:双下划线标签,是Prometheus系统的默认标签,不显示在target页面中,只有把光标移动到label的字段上,才能显示默认标签。counter:总数,在整个promQL中没有直接作用。通过rate topk increase irate这些函数生成样本数据的变化情况。区间向量:一组时序,每个时序包含一段时间内的多个采样值。瞬时向量:一组时序,每个时序只有一个采样值。Prometheus promQL的语法。标量数据:浮点数,小数。

2024-01-31 14:16:20 415

原创 Prometheus 容器化部署

【代码】Prometheus 容器化部署。

2024-01-30 17:13:32 452

原创 Prometheus

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

2024-01-29 16:29:59 816

原创 K8S安全机制

文件包含了集群的参数,CA证书,API server地址,客户端的参数(客户端的整数和私钥),以及集群的名称和用户名,k8s组件都是通过启动时制定访问不同的kubeconfig文件切换到不同的集群,再到api server--namespace再到资源对象,pod,容器,kubeconfig既是集群的描述文件,也是一个集群信息的保存文件,包含了集群的访问方式和他的认证信息,一般都在家目录下(隐藏文件).kube/config保存的是kubectl的访问认证信息。

2024-01-25 17:29:51 711

原创 K8S图像化工具rancher

都是为了容器的调度和编排系统,但是rancher不仅能够调度,还能挂历k8s集群,自带监控(普罗米修斯),你哪怕不知带k8s是什么,一样轻松的部署容器到k8s到集群中,大公司都是图形化。Rancher是一个开源的企业级多集群的k8s管理平台。Rancher和k8s的区别。

2024-01-24 15:07:48 1215

原创 K8S的HPA

Hpa和replication controller,deployment controller,都属于k8s的资源对象,通过跟踪分析副本控制器和deployment的pod负载变化,针对性的地调整目标pod的副本数。缩容是缓慢地,如果业务的峰值较高,回收的策略太积极的话,可能会产生业务的崩溃,所以缩容的速度是缓慢的,周期性的获取数据,缩容的机制问题。扩容时即时的,只要超过阀值会立刻扩容,不是立刻扩容到最大副本数,他会在最小值和最大值之间波动,如果扩容数量满足了需求,就不会再扩容。

2024-01-23 17:28:15 1036

原创 K8S的helm

在没有helm之前,deploymen service ingress ,helm的作用就是通过打包的方式,把deployment,service,ingress 这些打包在一块,一键式的部署服务,类似yum。Values.yaml:核心文件,自定义的值,都是通过values.yaml,把我们数据覆盖到安装的chart。Chart.Yaml:helm chart的元数据文件,包含了这个chart的名称,版本,维护者信息等等。Release:可以理解为版本,也可以理解为在安装过程中,给部署的应用起一个名字。

2024-01-22 16:05:17 1139 1

原创 K8S对外服务ingress

开源的有:nginx ingress controller,traefik,这两种都是属于ingress-controller,用户可以选择不同的ingress-controller实现,目前,由k8s维护的ingress-controller只有google云的GCE与ingress-nginx两个,其他还有很多第三方维护的ingress-controller,具体可以参考官方文档。具体的实现反向代理和负载均衡的程序,对ingress定义的规则进行解析,根据ingress的配置规则进行转发。

2024-01-17 18:20:28 1085

原创 pod配置资源管理

还有一种系统自建的:kubernetes.io/service-account-token用来访问系统的apiserver.pod会默认使用这个kubernetes.io/service-account-token创建的secret和apiserver通信自动挂载到。是secret的默认模式,Opaque base64加密编码的secret.用户自定义的密码,密钥等等。这类数据可以存放在镜像当中,但是放在secret当中可以更方便的控制,减少暴露的风险,保存加密的信息。把secret作为容器的环境变量。

2024-01-16 17:31:46 480

原创 pod控制器

Pod控制器:工作负载,workload,用来管理pod的中间层,确保pod资源符合预期的状态副本数容器的重启策略镜像的拉取策略Pod出现故障时的重启等等controllers:管理控制器,pod通过label(标签)到selector(选择标签)进行关联三个组件1.pod的副本数2.标签选择器,判断哪个pod归自己管理3.扩缩容Deployment控制器,它是工作在replicaSet之上,管理的是无状态应用,目前是最好的控制器,可以支持滚动更新,回滚,也能提供声明式配置。

2024-01-15 17:21:45 838

原创 k8s存储卷和数据卷下

SelfLink:API的资源对象之一,表示资源对象在集群当中自身的一个链接,self-link是一个唯一的表示符号,可以用于表示k8s集群当中每个资源的对象。容器里使用的配置,在provisioner当中定义好环境变量,床给容器,storgeclass的名称,nfs服务器的地址,已经nfs的目录。Nfs的provisioner的客户端以podded方式运行在集群中,今天k8s集群当中pv的请求,动态的创建于NFS服务器相关的pv。Pvc开发做,要和开发沟通好,你期望的读写和挂载类型,以及存储空间。

2024-01-11 16:52:44 624

原创 K8S存储卷和数据卷

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

2024-01-10 17:33:40 565

原创 pod的亲和性和反亲和性

拓扑域:k8s集群节点当中的一个组织结构,可以根据节点的物理关系或者逻辑关系进行划分,可以用来表示节点之间的空间关系,网格关系或者其他类型的关系。pod和指定标签的pod部署在同一拓扑域。pod和指定标签的pod部署在不同拓扑域。

2024-01-09 17:31:18 427

原创 K8S的集群调度

List-watch(监听)---会在每一步把监听的消息(先监听apiserver:6443)----每个组件(controller manager,scheduler,kubelet,etcd)都会监听apiserver:6443端口,都会获取消息。创建pod搭配节点时,由两个策略,先执行预选策略,再执行优选策略,这两步的操作都必须成功,否则立刻返回报错,也就是说,部署的node,必须满足这两个策略。选择pod时,申明了node01,我是硬策略,必须满足硬策略的条件,必须部署在node01,强制性要求。

2024-01-08 17:40:00 1178

原创 POD进阶

对指定ip+端口的容器发送一个httpget的请求,响应状态码大于等于200,小于400都是成功x>=200

2024-01-04 17:33:35 1006

原创 K8Spod组件

一个pod内的容器,必须都运行在同一个节点,基于现代容器技术的要求,就是一个pod运行一个容器,一个容器只运行一个进程,横向扩展(核心是方便扩缩容,还有就是解耦,一个pod内运行多个容器,耦合度太高,一旦一个进程失败,整个pod将全部失败)实现解耦,基于pod可以创建多个副本,实现高可用和负载均衡。终止中,正在被中终止,pod正在被删除,但是里面的容器正在终止,这个过程其中还会有一些其他的操作,如资源回收,垃圾清理,以及终止过程中需要执行的命令。,引入了pause禁止,代表整个容器的组的状态。

2024-01-03 15:26:08 596

原创 K8S三种发布方式和声明式资源管理

基于deployment控制器创建的服务,才可以使用这种发布方式,也算是一种滚动更新,实现了一个步骤叫暂停,也就是发布的过程中,暂时停止,只有一部分的pod先升级,其他的pod还是处于老的版本,只有一部分用户可以访问新的版本,绝大数用户还在老版本,确定无问题之后,再把剩下的老版本升级成新的版本,也就是把暂停取消,继续发布,如果有问题可以立即回滚,暂停不是回滚,一旦取消暂停只能全部升级完毕之后,再回滚。只能创建,不能更新,从指定yaml文件中读取配置,创建服务,不能更新。1.一旦出现问题,问题影响范围很大。

2024-01-02 16:58:13 1254

原创 K8S陈述式资源管理

命令行:kubectl命令行工具优点:90%以上的场景都可以满足,对增,删,查比较方便,对改不是很友好缺点:命令比较冗长,复杂,难记声明式k8s当中的yaml文件来实现资源管理---声明式所有的kubectl的命令行特点以及两种方式部署陈述式部署:命令行声明式:yaml文件部署滚动更新:不是一次性的吧所有pod全部部署,而是一个个来,pod的更新时使用,逐步的引入新的pod,逐步的减少旧的pod自我修复:如果有pod节点发生故障,deployment会自动启动新的pod来进行代替。

2024-01-01 00:10:13 1660

原创 Kubeadm

Node1: 192.168.233.82 2核4G docker kubelet kubeadm kubectl flannel。Master:192.168.233.81 2核4G docker kubelet kubeadm kubectl flannel。Node2 :192.168.233.83 2核4G docker kubelet kubeadm kubectl flannel。二进制搭建适合大集群,50台以上主机。

2023-12-28 16:13:54 372

原创 K8S网络类型

Flannel插件:功能就是让集群之中不同节点的docker容器具有全集群唯一的虚拟ai地址,他是一个overlay网络,在底层物理网络的基础之上,创建一个逻辑的网络层,准确的说它是二层加三层的集合,二层是物理网络,三层是逻辑上的网络层,overlay网络也是一种网络虚拟化的技术。BGP模式的特点:交换路由信息的外部网关协议,可以连接不同的node节点,node节点可能不是一个网段,BGP会自动寻址,自动选择可靠的路径,BGP实现可靠的,最佳的,而且是动态的路由选择,自动识别相邻的路由设备。

2023-12-27 21:49:10 1733

原创 K8S二进制部署

【代码】K8S二进制部署。

2023-12-26 17:37:45 27

原创 k8s基础

全称叫kubernetes,省略8个字母之后叫k8s,k8s的作用是自动部署,自动扩展和管理容器化部署的应用程序的一个开源系统,k8s是负责自动化运维管理多个容器化程序的集群,是一个功能强大的容器编排工具,以分布式和集群化的方式进行容器管理1.15 1.18 1.20 最新的是1.28,市面上的主流是1.18和1.20k8s是google的borg系统作为原型,后期经由go语言编写的开源软件KubernetesDocker微服务,可以满足微服务使用,那么为什么还要使用k8s。

2023-12-25 17:39:25 1059

原创 Ansible3

Jinja模版架构,通过这个模版可以实现,往配置文件(模版文件)传参(python转义)把占位符参数传到配置文件中去。Jinja就是生产一个目标文本文件,然后传递变量需要配置文件(web开发)Templates 模块。

2023-12-21 17:26:27 48

原创 ansible剧本playbook

【代码】ansible剧本playbook。

2023-12-20 17:38:47 140

原创 [自动化运维工具]ansible简单介绍和常用模块

ansible能批量配置,部署,管理上千台主机,类似于xshell的一键输入工具,不需要每次都切换主机进行操作,只要有一台ansible的固定主机,就可以所有节点的操作,他是不需要agent(客户端),只需要一台主机上配置了ansible。所谓幂等性,指的是多次操作或者多次执行对系统资源的影响是一致的,举例:如关闭防火墙,只要发现要停止的目标服务已经停止,后续同样的停止操作,不会改变任何结果,也就是什么也不做。shell模块,在远程主机执行命令,相当于调用远程主机的shell进程,支持管道符和重定向。

2023-12-18 15:31:00 216

原创 docker-consul

在传统架构中,应用程序之间直连到已知的服务,由设备提供的网络:IP地址,另一个是基于tcp/ip协议的端口。核心就是把微服务的位置信息(ip+端口+健康状况)统一注册到一个中心化的服务注册表。由于现代微服务部署,服务的动态性,数量增加了,传统的基于ip+端口的形式已经不太适用。服务注册与发现机制和其它工具配合使用,负载均衡,健康检查,配置管理(一键同步)。可以允许其他服务动态的查询和发现这些服务。是一种分布式的管理系统,定位服务的方法。是微服务架构中非常重要的组件。

2023-12-15 17:08:42 89

原创 docker私有仓库

Harbor:是VMware公司开发的,开源的企业级的dockerregistry项目。https:docker-harbor默认的通信协议是https,需要注释掉。帮助用户快速的搭建一个企业级的docker仓库的服务。私有,自定义用户的形式登录仓库,拉取或者上传镜像。Docker的核心组件镜像,容器,仓库。Docker-harbor私有仓库。Harbor DB的默认密码。镜像复制限制的线程为10个。可同时打开数据库的线程。

2023-12-14 15:25:16 957

原创 docker-compose

Docker适合单节点,docker没有统一对外提供服务的端口和配置,docker一般都是内部访问,无需使用httpds,如果要对外以集群和分布式的方式提供统一访问的端口,k8s+ingress。Docker-compose 核心就是yml文件,可以定义容器的一切,通过yml配置,直接运行容器。单引号引起来的字符,会被认为是普通字符串处理,双引号里面如果是特殊字符就表示本意 如。Dockerfile:先配置好文件,然后build,镜像 ----容器。符号字符后面都有一个空格 如 test: 2。

2023-12-13 16:01:30 69

原创 dockerfile创建镜像LNMP+wordpress

【代码】dockerfile创建镜像LNMP+wordpress。

2023-12-13 00:24:28 135

原创 dockerfile

分层特性:一次性同时加载多个文件系统,但从外面来看,就是一个文件系统,docker镜像实际上就是由一层层的文件系统组成的,这总层级的文件系统就是UnionFS,它的每一层都是layers,每一层都包含文件系统的一部分,这些层次叠加在一起,最总形成的就是rootfs。rootfs:就是容器的操作系统,在dockerfile中,我们可以自己指定,rootfs是多个基础镜像和应用镜像结合起来的可读层,镜像实际上就是一个只读文件,容器基础镜像实例,运行起来后,容器变成可读可写层。

2023-12-11 14:03:04 138

原创 docker 资源控制

-cpu-shares 是给每个容器使用cpu设置了相对的权重,权重高的,可以使用cpu的资源更多,但是,如果只有一个容器在运行,即便设置了权重,但是没有其他更高权重的容器来占用资源,权重低的容器依然不受影响。在使用dd获取空字符集是从文件系统的缓存当中输入,速度是比较快的,禁用文件系统缓存,实打实的直接把数据写入磁盘,可以更真实的测试设备的性能,模拟直接写入物理设备的情况。--cpu-shares指定容器占用cpu的份额,模式权重1024,设置的值只能是1024的倍数。

2023-12-08 17:22:49 346

原创 Docker 网络

容器如何与宿主机之间进行数据共享,数据卷是一个供容器使用的特殊的目录,在容器中,和宿主机进行映射,主机和宿主机之间都可以对目中的文件进行修改,双方都同步生效,对镜像也没有影响,宿主机到容器实现数据迁移。docker容器有自己的network-space,但是这个容器没有任何网络设置,这个容器没有网卡,ip,路由,只有lo会还网络,在none模式下,容器不可以联网。安装开启docker,docker程序会自动创建一个虚拟网络桥(docker0),是一个虚拟的网络设备,类似于物理网络设备的交换机。

2023-12-07 19:30:06 385

原创 Docker命令

主机与域名,在UTS这个名命名空间创建进程,进程可以看到自己的主机名与域名,与其他进程分隔开,每一个创建的进程都有自己独立的主机名和域名,每一个创建进程的主机名和域名都和其他程序相互独立。如果下载到了本地(linux系统),所有的镜像,容器,容器运行相关的日志,都默认保存在 /var/lib/docker 本地是指宿主机。保存镜像,所有的镜像都是从仓库当中拉取的,可以是公有仓库,还可以是私有仓库,镜像都是从仓库中拉取,镜像也保存在仓库之中。

2023-12-06 17:40:06 78

原创 Zabbix自动发现机制

市面上zabbix是一款成熟的监控软件,有所有一切的模版,脚本,包括docker和k8s容器化运行的yaml。现有主机,再有模板,模版当中设置应用集,在应用集当中配置监控项,在监控项之后配置触发器,图形(可选)。Zabbix:就是一个监控服务程序,网络设备,主机的软件,但是不能很好的监控容器的运行。SNMP是一个树形结构,.1 表示监控所有的SNMP的协议树。主要是用来监控交换器和路由器等网络设备。监控和管理网络设备的标准协议。

2023-12-06 12:27:12 58

原创 zabbix监控

Zabbix监控容器会出现假告警,监控服务器状态,监控硬件信息,内存,磁盘读写,监控进程服务器,容器不行(也不是一定不行,只是不太合适)运维人员,要会监控系统服务器的状态,网站的流量指标,网站的流量,进程服务的运行状态。运维的主要工作之一:保证整个集群的工作正常。怎么监控mysql的I/O读写线程。

2023-12-03 18:29:05 396

原创 zookeeper集群+kafka集群

经纪人: broker,每个kafka节点都有一个borker,每个负责一个kafka服务器,id唯一,存储主题分区当中的数据,处理生产和消费者的请求,以及维护元数据(zookeeper),3.0之后不依赖zookeeper的核心,元数据由kafka节点自己管理。分区:partion 每个主题可以分成多个分区,每个分区都是数据的有序子集,分区可以允许kafka进行水平拓展,,以处理大量数据消息在分钟按照偏移量存储,消费者可以独立读取每个分区的数据。

2023-11-29 21:55:18 177

原创 Elk:filebeat 日志收集工具和logstash

Filebeat是一个轻量级的日志手机工具,所使用的系统资源比logstash部署和启动时使用的资源要小得多。Logstash性能上的优化: logstash启动是在jvm虚拟机当中其中,启动一次至少500M内存。Filebeat可以在非java环境使用,他可以代理logstash在非java环境上收集日志。logstash的工作线程,默认值就是cpu数,4 2 8 4 给一半即可2核,2个。Logstash可以使用任意端口,只要没有被占用都可以使用,推荐1024之后使用。./filebeat 运行文件。

2023-11-29 21:35:30 614

原创 ELK日志分析系统

elasticSearch 简称ES,是一个开源的分布式的存储检索引擎(索引型的非关系型数据库),存储日志,是由java代码开发的,基于Lucene结构开发的一套全文检索引擎,它拥有一个web接口,用户可以拥浏览器的形式和ES组件进行通信。logstash是数据搜索引擎,支持动态实时的从各种服务应用收集资源,还可以对手机到的日志数据进行过滤,分析,丰富,统一格式等等操作,然后把数据同步到es存储引擎。

2023-11-27 19:25:28 158

原创 redis-cluster集群模式

MOVED不是报错,只是提醒客户端去分配好的槽位节点,获取数据。Redis3.0引入的分布式存储方案。

2023-11-23 12:18:59 338

原创 Redis 性能管理 主从复制与哨兵模式

首先slave1会向主发送一个syn command 请求建立连接,主节点收到之后不管slave是第一次连接还是从新连接,主节点都会启动一个后台进程,执行Bgsave,并且主节点会把所有修改数据的命令加载到缓存和数据文件之中,数据文件创建完毕之后由master传送给slave,slave会把这个数据文件,先保存到硬盘,再加载到内存。主节点(master)从节点(slave)组成,数据复制是单向的,只能从主节点到从节点,从节点只能读。数据节点:主节点和从节点都是数据节点。主从复制,哨兵模式,集群。

2023-11-22 17:24:11 291

空空如也

空空如也

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

TA关注的人

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