自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(178)
  • 问答 (1)
  • 收藏
  • 关注

原创 Prometheus+Grafana可视化监控【MySQL状态】

4、prometheus服务器配置,编辑prometheus.yml文件。2、安装mysqld_exporter。这里使用MySQL的模板ID:7362。prometheus页面验证。1、创建MySQL监控用户。3、配置mysql连接信息。

2023-09-12 21:39:17 1144

原创 Prometheus+Grafana可视化监控【主机状态】

Prometheus是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。通过PromQL实现多维度数据模型的灵活查询。定义了开放指标数据的标准,自定义探针(如Exporter等),编写简单方便。

2023-09-11 21:00:36 548

原创 Prometheus理论知识

push:指被监控端主动推送数据到服务端,需要安装官方。只负责采集数据,而prometheus服务端主动拉取。pull: 指被监控端安装已有的。pull:主动拉取的形式。

2023-09-11 20:06:48 236

原创 Prometheus-PushGateway自定义监控项

pushgateway相比较exporter是主动向服务器发送请求,pushgateway本身也是一个程序,可以运行在任意节点上(不是必须在被监控端),运行本身没有抓取数据的功能,它只是被动的等待推送过来,然后发现服务端。

2023-09-11 19:50:21 1094

原创 Grafana配置邮件告警

3、配置告警通道 && 测试邮件发送。2、grafana邮件配置。

2023-09-11 19:48:13 782

原创 Ansible数组同步至Shell脚本数组中

2、需要写一个j2模板的Shell脚本,在j2模板的Shell脚本中引用ansible的。1、ansible中定义数组,我以。数组为例子,如下图数组内容。

2023-09-10 15:04:47 659

原创 KVM创建虚拟机可访问外网+可使用Xshell等工具连接

咱们是桥接模式,需要KVM宿主机能上外网,虚拟机才可以上外网,如果KVM宿主机可以上外网,虚拟机不行,请检查DNS配置。1、创建一个存储卷(虚拟机的磁盘)3、系统安装完成后配置固定IP地址。4、测试Xshell工具连接虚拟机。输入连接信息即可连接上去!2、创建虚拟机时选择网络。

2023-08-26 19:47:15 960

原创 KVM虚拟化平台安装及创建虚拟机

KVM官网KVM (Kernel-based Virtual Machine) 是一种开源的虚拟化技术,它允许在同一台物理主机上运行多个虚拟机。KVM 是由Linux内核提供的模块化功能,通过将物理主机划分为多个虚拟机,并且为每个虚拟机分配独立的资源,实现了硬件资源的共享和管理。KVM 基于处理器的虚拟化技术(Intel VT 或者 AMD-V),可以直接利用处理器的虚拟化扩展指令集来提高虚拟机的性能。

2023-08-26 12:37:53 3941

原创 UltralSO软碟通制作Linux系统盘

阿里云下载地址:https://mirrors.aliyun.com/centos-vault/按照需求选择系统版本,我这要求安装CentOS7.57.5的系统,我以CentOS7.5为例。官网下载地址:https://cn.ultraiso.net/xiazai.html。U盘插到服务器中,选择U盘启动优先,进行安装系统!插入U盘,打开UltralSO,选择 “写入硬盘映像”下载UltralSO软件。

2023-08-25 18:35:28 1998

原创 Linux systemd管理常用的几个小案例

systemd是目前Linux系统上主要的系统守护进程管理工具,配置文件要以。1、systemd管理ElasticSearch。2、systemd管理 ZooKeeper。5、systemd管理 Jar包。3、system管理Nginx。4、system管理Redis。

2023-08-05 22:36:28 750 10

原创 Ubuntu20.04操作系统安装Docker

4、启动Docker && 加入开机自启动。3、添加配置Docker镜像。1、添加Docker仓库。2、安装Docker。

2023-08-05 21:51:46 1397 1

原创 【Kubernetes部署篇】基于Ubuntu20.04操作系统搭建K8S1.23版本集群

系统的仓库源为例,如果系统版本不同,可到阿里镜像仓库寻找对应版本!把Key添加到本地trusted数据库中。配置定时任务,每天凌晨1点自动同步时间。启动Docker && 加入开机自启动。修改主机名,请复制到对应服务器执行。2、配置国内仓库源,安装所需依赖。禁止开机自启动swap交换分区。验证定时任务是否配置成功。3、添加本地域名解析。6、安装Docker。添加Docker仓库。配置Docker驱动。

2023-08-05 15:40:29 1811 2

原创 Vmware Workstation虚拟机中安装Ubuntu20.04操作系统(超详细,可跟做)

国内下载Ubuntu20.0.4镜像地方有很多,我这里选择的是 “清华大学开源软件镜像站”1、Vmware Workstation中使用Ubuntu镜像创建虚拟机操作。注意:网卡配置文件是yaml格式,修改时注意缩进,内容要遵循yaml格式!3、使用 netplan apply 命令立即生效。2、更新sources.list文件内阿里云地址。国内镜像源有很多,这里使用的是阿里云镜像源。1、备份sources.list文件。出来的就是网络的配置文件!1、备份网卡配置文件。2、修改网卡配置文件。

2023-08-05 12:24:32 8039 1

原创 【Kubernetes运维篇】ingress-nginx实现业务灰度发布详解

这个时候就可以利用 Nginx Ingress 基于 Header 或 Cookie 进行流量切分的策略来发布,业务使用 Header 或 Cookie 来标识不同类型的用户,我们通过配置 Ingress 来实现让带有指定 Header 或 Cookie 的请求被转发到新版本,其它的仍然转发到旧版本,从而实现将新版本灰度给部分用户。:基于服务权重的流量切分,适用于蓝绿部署,权重范围 0 - 100 按百分比将请求路由到 Canary Ingress 中指定的服务。

2023-07-25 19:03:47 2872 3

原创 【Kubernetes部署篇】ingress-nginx高可用架构实施部署

(Keepalived Master操作,我这里将16.32.15.201定义为主)1、上面部署ingress controller分配在不同的两台Node节点。2、修改Keepalived Master节点配置文件,并启动。1、编写YAML文件,基于官方下载,根基自己需求进行对应修改。3、修改Keepalived Backup节点配置文件,并启动。3、在主机启动,VIP会自动表漂移到主机。3、查看创建的Pod资源状态是否已运行。1、创建后端Pod、Server资源。2、在备机,查看VIP是否漂移过去。

2023-07-23 21:42:09 1405 3

原创 【Kubernetes资源篇】ingress-nginx最佳实践详解

是一个七层负载调度器,常见的七层负载均衡器有nginx、traefik,以我们熟悉的nginx为例,客户端的请求首先会到Ingress Controller七层负载调度器,由七层负载调度器将请求代理到后端的Pod。以Nginx举例,客户端请求首先会到Nginx中,由Nginx中的upstream模块将请求代理到后端的服务上,但是K8s场景下,后端Pod的IP地址不是固定的,因此在Pod前面需要添加一个service资源,请求到达Service,由Service代理到后端的Pod。

2023-07-23 17:04:17 4055 2

原创 【Kubernetes运维篇】RBAC之准入控制器详解

如果我们在创建Pod定义了资源上下限,但不满足LimitRanger规则中定义的资源上下限,此时LimitRanger会拒绝创建Pod资源,如果创建Pod时没有指定资源上下限,默认会使用LimitRanger规则中的资源上下限制。强制执行资源限制:LimitRanger可以确保Pod或容器只使用指定的资源限制,通过对Pod的准入控制来强制执行这些限制。通过设置配额限制,可以控制每个命名空间可用的资源总量,以及每个命名空间中每种资源的使用情况。,防止在一个名称空间下的Pod占用过多的资源,

2023-07-16 13:28:10 6337

原创 【Kubernetes运维篇】RBAC认证授权详解(二)

使用RoleBinding有名称空间限制,只能绑定同一个名称空间的角色,使用ClusterRoleBinding没有名称空间限制,为集群范围内授权。在K8S中,所有资源对象都是通过API进行操作,他们保存在ETCD里面,而对ETCD的操作,我们需要通过访问kube-apiserver来实现,Role是一组权限的集合,在名称空间下定义的角色,只能对名称空间下进行资源授权。注意:创建名称空间后,都会存在一个默认的SA账户,如果该名称空间下创建的资源没有指定SA,默认使用。

2023-07-15 20:20:40 6526

原创 【Kubernetes运维篇】RBAC之创建集群用户管理K8S

用户加入集群用户中,用来认证apiserver的连接。用户加入集群用户中,用来认证apiserver的连接。系统用户提交给新来的运维同事等,让新来的同事只有在。的权限,因为是查看所有命名空间Pod,所以这里使用。第九步:切换lisi用户测试权限。可以切换后,先切换回来管理用户。第九步:在Linux中添加一个。可以切换后,先切换回来管理用户。第十步:在Linux中添加一个。第二步:生成一个证书请求。第二步:生成一个证书请求。用户,默认没有任何权限。用户,默认没有任何权限。用户,测试是否有权限。

2023-07-15 19:41:26 6330

原创 Docker配置阿里镜像加速源,超详细

4、复制加速地址,在系统中配置 默认路径。1、首先登入阿里云账号,点击。,选择对应的操作系统。6、验证 当前镜像地址。5、重启Docker。

2023-07-10 15:02:41 7370 3

原创 【Kubernetes运维篇】RBAC认证授权详解(一)

RBAC是一种基于角色访问控制方式,它将权限和角色相关联,用户加入到角色中,就会拥有角色中的权限,RBAC的核心思想是,将权限赋予给角色,角色中加入多个用户,加入进来的用户会具有角色的权限,如果修改权限也是针对角色进行操作,而不是针对每个用户进行权限操作,这样效率太低了。官方中文参考文档在K8S中准入控制器的模块有很多,其中比较常用的有LimitRanger、ResourceQuota、ServiceAccount,也是K8S默认启用的准入模块(具体看K8S版本),我们只需要定义对应的规则即可。

2023-07-08 21:16:18 17900 4

原创 【Kubernetes资源篇】Secret加密数据配置管理详解

用于存放明文非加密数据,比如程序的配置文件等信息,ConfigMap并不能实现加密,如果存放一下token、密码、秘钥等敏感信息我们要使用Secret类型来进行加密。使用busybox镜像创建Deployment资源,并引入Secret。创建deployment,引入secret。上篇文章讲解了 ConfigMap资源。

2023-07-02 12:08:30 16996 1

原创 【Kubernetes资源篇】ConfigMap配置管理中心详解

ConfigMap是API对象,用于存放明文(非机密性)数据保存到键值对中,可以使用环境变量、命令行参数或者存储卷方式应用到Pod中,ConfigMap相当于Pod中程序的配置文件,通过修改ConfigMap内容来修改程序的配置。

2023-07-01 18:00:04 18390 4

原创 【Kubernetes资源篇】DaemonSet控制器入门实战详解

DaemonSet控制器用于控制每个Node节点有运行指定Pod副本集,当添加或删除Node节点时,DaemonSet会自动创建指定的Pod副本集,来保证每一个Node节点都运行此Pod。用于收集日志、监控等场景。DaemonSet rollingUpdate更新策略是先删除旧版本Pod,在创建新版本Pod,因为每个Node节点只能创建一个Pod副本集。

2023-06-23 16:42:34 17724 9

原创 【Kubernetes资源篇】StatefulSet有状态服务管理入门实战详解

无状态服务则是指不需要持久化存储和状态的服务,例如Web服务器、API服务器等。这些服务可以在任何节点上运行,因为它们不需要在不同节点之间共享数据,也不需要在节点故障时进行快速恢复。无状态服务可以通过水平扩展来提高性能和可用性。有状态服务是指需要持久化存储并且需要保持状态的服务,例如数据库、缓存等。这些服务需要在不同的节点之间保持数据同步,并且需要在节点故障时能够快速恢复。statefulset管理的Pod名称是有序的,删除指定Pod后自动创建的Pod名称不会改变。

2023-06-22 18:35:50 19167 5

原创 Nginx运维常用技术点总结

Nginx是一款免费且开源的Web服务器项目,常用来做、Web服务器、反向代理服务器、负载均衡服务器。免费且开源:免费试用,开放源代码。轻量级且模块化:消耗内存少、保留核心模块、不需要全部安装、支持第三方模块。高性能:Nginx支持很高的并发。热部署:在不重启Web服务器时升级、或者添加新模块等。

2023-06-19 10:20:54 1468 7

原创 Nginx平滑升级版本或添加模块

原因:Nginx平滑升级是根据环境变量来进行的 ,找不到 nginx目录 是因为上次启动nginx不是 使用完全路径启动的 而环境变量中并没有 nginx这个目录 所以导致 这个问题!一般有两种情况下需要升级 nginx,一种是确实要升级 nginx 的版本,另一种是要为 nginx 添加新的模块。问题:执行完成 “发送平滑迁移信号 USR2” 没有出现新的Master进程信息。发送平滑迁移信号 USR2: 启动新的主进程,实现热升级。按照原来的编译参数安装 nginx 的方法进行安装,

2023-06-12 17:27:22 11539 5

原创 Nginx源码部署1.18.0版本

usr/local/nginx/sbin/nginx ps -aux | grep nginx # Nginx 进程信息分为Master和worker Master 主进程 # 负责检查服务配置信息,启动、终止、控制并维护 Worker进程 Worker 工作进程 # 负责接收并处理来自客户端的连接 # nginx服务默认会以系统用户nobody运行服务,且该用户默认不能登录系统。

2023-06-12 17:24:25 2650

原创 FastDFS高可用集群部署安装

浏览器访问图片:http://IP:Port/group1/M00/00/00/ECAPyGP8n2aAfcY6AAONqU5ReXo078.png。9、两台服务器安装nginx服务并配置keepalived虚拟地址。启动tracker节点,两台服务器同步操作。启动storage节点,两台服务器同步操作。7、上传文件检查两台节点是否同步。3、tracker节点配置。4、storage节点配置。6、nginx模块配置,两台服务器配置保持一致。两台服务器配置保持一致。两台服务器配置保持一致。

2023-06-12 13:27:11 1505

原创 FastDFS单节点部署安装

FastDFS是一个开源的高性能分布式文件系统,它由跟踪服务器(tracker server)和存储服务器(storage server)组成。跟踪服务器负责管理存储服务器,存储服务器负责存储文件和提供文件访问服务。FastDFS具有高性能、高可靠性、易扩展等特点。适用于大规模的文件存储和访问场景,如图片、音视频等文件的存储和访问。FastDFS支持多种客户端访问方式,如HTTP、FTP、NFS等,同时也提供了丰富的API接口,方便开发者进行二次开发。

2023-06-12 13:18:00 1000

原创 【Kubernetes存储篇】StorageClass存储类动态生成PV详解

1、搭建NFS服务端2、搭建NFS供应商,指定NFS服务端IP地址及共享目录3、创建StorageClass资源,指定使用NFS供应商4、创建PVC,使用自动指定使用StorageClass5、创建Pod,使用PVC。

2023-06-11 21:10:36 4336 3

原创 【Kubernetes存储篇】持久化存储PV、PVC详解

pvc和pv绑定,如果使用默认的回收策略retain,那么删除pvc之后,pv会处于released状态,我们想要继续使用这个pv,需要手动删除pv,kubectl delete pv pv_name,删除pv,不会删除pv里的数据,当我们重新创建pvc时还会和这个最匹配的pv绑定,数据还是原来数据,不会丢失。如下图,我是用的是只读的 PVC,容器里面应当没有创建文件权限,但是容器里面确实可以创建文件,我咨询了云原生领域大佬,这应该是K8S PVC bug,我当前K8S版本是:v1.27.0。

2023-06-11 16:47:07 6426

原创 【Kubernetes存储篇】常见存储方案及场景分析

因为Pod是有生命周期的,如果pod不挂载数据卷,那pod被删除或重启后这些数据会随之消失,如果想要长久的保留这些数据就要用到pod数据持久化存储。上面curl 两个节点上的Pod都可以访问,说明挂载nfs存储卷成功了,nfs支持多个客户端挂载,可以创建多个pod,挂载同一个nfs服务器共享出来的目录;NFS共享存储卷,需要先搭建NFS服务端,Pod共享NFS服务端数据,解决了Pod调度在不通Node节点,导致数据不一致问题,但是NFS需要依赖网络带宽。删除此Pod,节点上的数据依旧存在。

2023-06-11 16:43:50 4364

原创 使用K8S部署【Docker 可视化管理工具-DockerUI】

OK,到此结束,开源Docker 可视化管理工具-DockerUI,的其他功能请参考官网。http://节点地址:30001,默认账号密码:ginghan/123456。第三步:查看Pod状态。第四步:通过浏览器访问。

2023-06-10 15:47:37 1933 1

原创 【Kubernetes资源篇】Service四层代理入门实战详解

场景:创建Service资源,代理本机的3306端口首先在宿主机安装、启动MySQL服务我们svc中没有定义关联的Pod标签,所以svc中并Endpoint为none创建Endpoint资源 并关联上面的SVC。

2023-06-09 17:38:48 2350 1

原创 【Kubernetes资源篇】Deployment控制器入门实战详解

Deployment是ReplicaSet的高级别抽象,ReplicaSet控制器有的功能Deployment全部具备,ReplicaSet没有的Deployment也具备比如,它提供了滚动升级和回滚的功能。Deployment是控制多个ReplicaSet,从而可以实现无缝升级和回滚。选择器:ReplicaSet使用标签选择器来选择要管理的Pod副本。伸缩性:Deployment高级控制器可以根据负载自动伸缩容器数量,以满足应用程序的需求。

2023-06-03 19:07:20 17553 4

原创 【Kubernetes部署篇】Ansible自动化工具离线部署K8s 1.27版本

第五步:执行剧本,过程耐心等待,离线部署不涉及网络,较快,大约(10分钟)第四步:指定Packages目录位置(必须)第三步:配置安装主机信息(必须)第二步:安装ansible命令。第六步:验证集群,状态为。第一步:获取离线安装包。

2023-05-30 17:37:31 18736 9

原创 【Kubernetes资源篇】Replicaset控制器入门实战详解

ReplicaSet是k8s中一种资源对象,简写rs用于管理Pod副本数量和健康状态,在字段中可以定义Pod副本数量,ReplicaSet会始终保持Pod在指定数量,当发现Pod数量大于副本数量时,会移除多出的Pod,当发现Pod小于副本数量会自动创建Pod,使其始终维护在副本数量,此外,ReplicaSet还会监控Pod的健康状态,如果某个Pod出现故障,ReplicaSet会自动替换它。自动化管理:ReplicaSet可以自动地创建、删除和更新Pod副本,以确保指定数量的Pod副本一直在运行。

2023-05-28 15:18:47 18059 2

原创 【Kubernetes运维篇】零故障升级Pod健康探测详解

Pod探测是Kubernetes中的一种机制,用于检测Pod的状态和健康状况。当探测到Pod状态不正常时,根据重启策略进行相应的Pod操作,探测可以帮助Kubernetes集群自动化地管理容器的健康状态,提高应用程序的可靠性和可用性。探测针对Pod中容器进行操作,所以探测定义在字段下面1、探测总结:启动探测(startupProbe):探测容器中程序是否启动,如果失败,根据重启策略进行对应操作。

2023-05-27 20:17:23 13193 1

原创 【Kubernetes运维篇】Pod生命周期、启动停止钩子详解

2、初始化容器(initContainers):一个Pod可以定义任意个初始化容器,如上图就定义了两个初始化容器,初始化会按照YAML清单中顺序执行,当最后一个初始化容器执行成功后,才会去启动主容器。来定义初始化容器,可以定义多个初始化容器,会按照顺序一次执行,执行完成后依次关闭初始化容器。实例:定义Pod资源,创建两个初始化容器,初始化容器执行 sleep 2,也就是说我们要等定义的两个初始化容器都睡眠2秒后,才创建主容器。实例:创建Pod定义停止钩子,在容器停止前,优雅的关闭容器内服务。

2023-05-21 17:53:55 18867 3

空空如也

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

TA关注的人

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