自定义博客皮肤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 部署Alertmanager发送告警

Prometheus 对指标的收集、存储与告警能力分属于 Prometheus Server 和 AlertManager 两个独立的组件,前者仅负责定义告警规则生成告警通知, 具体的告警操作则由后者完成。Alertmanager 负责处理由 Prometheus Server 发来的告警通知,Alertmanager对告警通知进行分组、去重后,根据路由规则将其路由到不同的receiver,如Email、钉钉或企业微信等。除了基本的告警通知能力外,Altermanager还支持对告警进行去重、分组、抑制、静

2024-08-21 18:32:06 672

原创 Prometheus PromQL

PromQL作为Prometheus监控系统的核心查询语言,它是一种专门为时间序列数据设计的表达式语言。通过PromQL,我们能够以极其灵活和精确的方式,从海量的监控指标数据中筛选、聚合、计算和提取我们所关心的信息。

2024-08-21 11:59:29 1045

原创 Prometheus 服务发现

【代码】Prometheus 服务发现。

2024-08-20 23:53:17 860

原创 Prometheus监控系统

Prometheus除了传统业务架构,还能支持云环境、K8S容器集群的监控,是目前容器监控最好的解决方案。数据存储采用的是时序数据库,大大的节省存储空间,还能提升查询效率。单集群能支持的节点规模更大,通常超过2000台节点、服务数量大于1000个的时候建议直接上Prometheus。

2024-08-20 00:47:02 1203

原创 【kubernetes】k8s之HPA,命名空间资源限制

创建用于测试的pod。

2024-08-19 17:32:40 522

原创 【kubernetes】K8S常见的发布方式

【代码】【kubernetes】k8s集群中金丝雀发布后续。

2024-08-16 23:22:14 1136

原创 【kubernetes】k8s安全机制

客户端若想要发送请求给apiserver操作管理K8S资源对象,需要先通过三关安全验证:认证(Authentication)、鉴权(Authorization)、准入控制(Admission Control)

2024-08-15 23:22:41 1136 1

原创 【kubernetes】k8s配置资源管理

configMap资源(简称cm)作用:用于保存配置文件、环境变量等不需要加密的信息。它可以实现将配置信息与应用程序镜像解耦创建cm资源kubectl create cm <资源名称> -n <命名空间> --from-file=文件|目录 --from-liternal=<键名>=<键值>查看cm资源kubectl describe -n <命名空间> cm <资源名称>kubectl get -n <命名空间> cm <资源名称> -o yaml。

2024-08-14 22:30:14 1098

原创 【kubernetes】k8s对外服务之Ingress

K8S集群外部的客户端访问K8S集群内部的方案基于Service实现:NodePort、LoadBalancer、externalIPs 只能支持四层代理转发,如果K8S集群规模较大运行的业务服务较多,NodePort端口/externalIPs管理成本会很高基于Ingress实现:支持七层代理转发,可自定义规则根据用户请求的域名或URL路径转发给指定的Service端点实现Pod的代理访问一般来说,ingress-controller的形式都是一个pod,里面跑着daemon程序和反向代理程序。dae

2024-08-13 22:53:30 5102 3

原创 【kubernetes】pod控制器详解

【代码】【kubernetes】pod控制器详解。

2024-08-12 23:48:20 1045

原创 【Kubernetes】k8s集群之Pod容器资源限制和三种探针

官网示例:

2024-08-11 20:49:57 1393

原创 【Kubernetes】 PVC 和 PV

kubectl explain pv #查看pv的定义方式FIELDS:metadata: #由于 PV 是集群级别的资源,即 PV 可以跨 namespace 使用,所以 PV 的 metadata 中不用配置 namespacename:speckubectl explain pv.spec #查看pv定义的规格spec:nfs:(定义存储类型)path:(定义挂载卷路径)server:(定义服务器名称)

2024-08-11 00:35:34 2338

原创 【Kubernetes】k8s集群的存储卷(emptyDir、hostPath、nfs)

emptyDir。

2024-08-08 22:38:43 737

原创 【Kubernetes】pod状态与故障排查

kubectl debug -n -it --image= --target= #在Pod中创建临时工具容器进入目标容器进行调试,针对没有调试工具的容器使用。kubectl exec -n -it -c -- sh|bash|命令 #进入Pod容器中查看容器内部的相关状态信息,比如应用进程、端口、文件、流量等状态信息。

2024-08-08 20:28:11 1350

原创 【Kubernetes】k8s的集群调度

用户是通过 kubectl 根据配置文件,向 APIServer 发送命令,在 Node 节点上面建立 Pod 和 Container。APIServer 经过 API 调用,权限控制,调用资源和存储资源的过程,实际上还没有真正开始部署应用,需要 Controller Manager、Scheduler 和 kubelet 的协助才能完成整个部署过程。在 Kubernetes 中,所有部署的信息都会写到 etcd 中保存。

2024-08-08 00:00:52 965

原创 【Kubernetes】k8s集群Pod概述

例如:用于管理Pod运行的StatefulSet和Deployment等控制器对象,用于暴露Pod应用的Service和Ingress对象,为Pod提供存储的PersistentVolume存储资源对象等。

2024-08-06 22:39:12 1786

原创 【kubernetes】kubeadm部署k8s集群

【代码】【kubernetes】kubeadm部署k8s集群。

2024-08-02 22:25:38 1280

原创 Kubernetes二进制部署多master节点、负载均衡以及高可用

【代码】Kubernetes二进制部署多master节点、负载均衡以及高可用。

2024-08-01 23:39:36 1194

原创 二进制部署k8s单master集群

k8s 组网方案对比:●flannel方案需要在每个节点上把发向容器的数据包进行封装后,再用隧道将封装后的数据包发送到运行着目标Pod的node节点上。目标node节点再负责去掉封装,将去除封装的数据包发送到目标Pod上。数据通信性能则大受影响。●calico方案Calico不使用隧道或NAT来实现转发,而是把每个操作系统的协议栈认为是一个路由器,然后把所有的容器认为是连在这个路由器上的网络终端,在路由器之间跑标准的路由协议——BGP的协议,然后让它们自己去学习这个网络拓扑该如何转发。

2024-08-01 10:40:07 1652 2

原创 Kubernetes 基础理论

服务器经历了三次演变过程:物理机、虚拟机和容器化部署慢 :每台服务器都要安装操作系统、相关的应用程序所需要的环境,各种配置;成本高:物理服务器的价格十分昂贵;资源浪费:硬件资源不能充分利用;扩展和迁移成本高:扩展和迁移需要重新配置一模一样的环境虚拟机特点(解决了物理机的缺点)易部署:每台物理机可部署多台虚拟机,且可以通过模板,部署快,成本低;资源池:开出来的虚拟机可作为资源池备用,充分压榨服务器性能;资源隔离:每个虚拟机都有独立分配的内存磁盘等硬件资源,虚拟机之间不会互相影响;

2024-07-31 17:25:08 1726

原创 【Ansible】通过role角色部署lnmp架构

此目录应当包含一个 main.yml 文件,用于定义此角色的任务列表,此文件可以使用 include 包含其它的位于此目录的 task 文件。可以把playbook剧本里的每个play看作为一个角色,将每个角色要用到的文件、变量、任务列表定。此目录应当包含一个 main.yml 文件,用于定义此角色的元数据信息及其依赖关系。此目录应当包含一个 main.yml 文件,用于定义此角色中触发条件时执行的动作。此目录应当包含一个 main.yml 文件,用于定义此角色用到的变量。

2024-07-31 11:17:44 1422

原创 playbooks 分布式部署 LNMP

【代码】playbooks 分布式部署 LNMP。

2024-07-29 17:28:50 504

原创 Ansible之playbook剧本编写(二)

template 配置模板模块1)先准备一个 XXX.j2 配置文件模板,在模板文件中使用 {{变量名}} 格式引用主机变量/组变量/vars字段定义的变量/facts信息字段变量2)修改主机清单配置文件 hosts,设置主机变量/组变量3)编辑 playbook 文件,在 tasks 任务中定义 template 模块任务及其参数 template: src=XXX.j2文件路径 dest=远程主机配置文件路径

2024-07-27 22:29:31 1226

原创 Ansible之playbook剧本编写(一)

vars:tasks:使用facts信息做变量模块参数的纵向写法 :在命令行里定义变量- name: #设置play的名称(一个playbook文件里可以有多个play)hosts: #设置执行此play的远程主机组,多个组用 : 分隔remote_user: #设置在远程主机执行此play的用户名,默认为root。

2024-07-24 23:16:33 1294

原创 自动化运维管理工具Ansible

ansible 自动化运维工具,也叫机器管理工具。可以实现批量管理成百上千的多台主机,是应用级别跨主机编排工具。

2024-07-22 23:23:32 2414

原创 Docker网络模式和Cgroup资源限制

可以先自定义网络,再使用指定IP运行docker#可以先自定义网络,再使用指定IP运行docker#docker1 为执行 ifconfig -a 命令时,显示的网卡名,如果不使用 --opt 参数指定此名称,那你在使用 ifconfig -a 命令查看网络信息时,看到的是类似 br-110eb56a0b22 这样的名字,这显然不怎么好记。#mynetwork 为执行 docker network list 命令时,显示的bridge网络模式名称。bridgedocker容器的默认网络模式。

2024-07-22 00:05:54 1761

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

consul是google开源的一个使用go语言开发的服务管理软件。支持多数据中心、分布式高可用的、服务发现和配置共享。采用Raft算法,用来保证服务的高可用。内置了服务注册与发现框架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等)。服务部署简单,只有一个可运行的二进制的包。每个节点都需要运行agent,他有两种运行模式server 和 client。

2024-07-20 18:06:06 2030

原创 Docker-compose单机容器集群编排

YAML 数据结构通过缩进来表示,连续的项目通过减号来表示,键值对用冒号分隔,数组用中括号 [] 括起来, hash 用花括号 {} 括起来。通过 Compose,可以方便地管理容器的生命周期、监控容器状态、查看日志和调试容器。这个文件中描述了所有的服务、网络和存储卷,使得应用的部署和管理变得简单且一致。Compose 可以在不同的环境中运行相同的应用配置,比如开发、测试和生产环境。yaml格式文件: 文件名以 .yaml .yml 为后缀,用空格缩进表示字段的层级关系,特点:可读性高,易于管理。

2024-07-18 23:51:47 962 1

原创 docker的私有仓库部署

先删除原有的 centos 的镜像,再测试私有仓库下载。

2024-07-17 23:26:41 2131

原创 通过Dockerfile构建镜像

【代码】通过Dockerfile构建镜像。

2024-07-16 22:16:52 368

原创 Docker数据管理和网络通信

Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么镜像构建透明性的问题、体积的问题就都会解决。这个脚本就是 Dockerfile。

2024-07-16 15:51:18 773

原创 Docker部署与基本操作

镜像:是创建容器的基础,是一个只读的模板文件,里面包含运行容器中的应用程序所需要的所有资料(比如应用程序执行文件、配置文件、动态库文件、依赖包、系统文件和目录等)容器:是用镜像运行的实例,容器可以被创建、启动、停止、删除,每个容器之间默认是相互隔离的仓库:是用来集中保存镜像的地方,有公有仓库和私钥仓库之分docker version #查看docker版本docker info #查看docker详细信息2、镜像操作。

2024-07-14 22:32:32 1102

原创 Ceph资源池pool管理

OSD总数 小于 5 个,官方推荐 PG数 为 1285 ~ 10 个,官方推荐 PG数 为 51210 ~ 50 个,官方推荐 PG数 为 1024大于 50 个,参考公式 PG数=( Target PGs per OSD ) x ( OSD # ) x ( %Data ) / ( Size )Target PGs per OSD :表示每个OSD对应的PG数(如近期不扩容OSD数量可设置为100,如近期要扩容OSD数量可设置为200)OSD # :表示当前OSD总数。

2024-07-10 22:15:20 1192

原创 分布式存储ceph部署

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

2024-07-10 00:37:14 1510

原创 Kafka 典型问题与排查以及相关优化

Kafka 是一个高吞吐量的分布式消息系统,但在实际应用中,用户经常会遇到一些性能问题和消息堆积的问题。本文将介绍 Kafka 中一些典型问题的原因和排查方法,帮助用户解决问题并优化 Kafka 集群的性能。

2024-07-09 20:53:22 2488

原创 分布式应用之 Zookeeper 集群与 Kafka 集群部署

ZooKeeper是一个开源的分布式协调服务,用于构建可靠的分布式系统。它通过提供高度可靠的数据存储和同步机制,来协调不同节点之间的通信和协作。主要原因是由于在高并发环境下,同步请求来不及处理,请求往往会发生阻塞。比如大量的请求并发访问数据库,导致行锁表锁,最后请求线程会堆积过多,从而触发 too many connection 错误,引发雪崩效应。我们使用消息队列,通过异步处理请求,从而缓解系统的压力。消息队列常应用于异步处理,流量削峰,应用解耦,消息通讯等场景。

2024-07-09 00:28:47 1229

原创 zabbix 自动发现与自动注册

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

2024-07-08 08:59:50 1353 1

原创 监控平台zabbix对接grafana

【代码】监控平台zabbix对接grafana。

2024-07-07 13:56:46 1074 1

原创 Zabbix 自定义监控内容

/在客户端创建自定义 key1.明确需要执行的 linux 命令2.创建 zabbix 的监控项配置文件,用于自定义 key#可以将自定义的监控项配置文件创建在 zabbix_agent2.d 目录中#自定义监控项的格式如下3.在服务端验证新建的监控项在服务端验证1.创建模板点击左边菜单栏【配置】中的【模板】,点击【创建模板】【模板名称】设置成 Template Login User【可见的名称】设置成 Template Login User。

2024-07-07 13:35:38 1533

原创 zabbix部署

作为一个运维,需要会使用监控系统查看服务器系统性能、应用服务状态和网站流量指标等,利用监控系统的数据去了解网站上线发布的结果和健康状态。利用一个优秀的监控软件,我们可以:●通过一个友好的界面进行浏览整个网站所有的服务器状态●可以在 Web 前端方便的查看监控数据●可以回溯寻找事故发生时系统的问题和报警情况。

2024-07-07 13:34:36 1040

空空如也

空空如也

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

TA关注的人

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