- 博客(275)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 nginx中的proxy_set_header参数详解
proxy_set_header 是 Nginx 配置中用于设置代理请求 HTTP 头部的指令。当 Nginx 作为反向代理时,它允许自定义从客户端接收到的请求或添加新的请求头,然后将其转发到后端服务器。这对于维护 HTTP 协议的连贯性、安全性和功能性至关重要。X-My-Header 是一个自定义的请求头字段,用于存储自定义信息。上游服务器可以通过读取 X-My-Header 字段获取自定义信息。
2024-10-24 18:25:33
2844
原创 Ningx配置前端http缓存
HTTP缓存是一种在客户端(浏览器)和服务器之间缓存HTTP响应的机制。当浏览器首次请求一个资源时,服务器会返回响应,并在响应中包含缓存指令。这些缓存指令告诉浏览器如何处理该资源以及何时再次请求该资源。
2024-07-14 11:50:37
1339
原创 Nginx配置缺少导致CSS不起作用
当遇到CSS文件不起作用的问题时,检查Nginx的配置文件是否包含了对CSS文件类型的处理是非常重要的。通过添加 include /etc/nginx/mime.types;这行代码,可以确保Nginx能够正确识别和处理CSS文件,从而解决样式加载的问题。确保在修改配置文件后重启Nginx服务,以使更改生效。这样,您的网站就可以正常显示样式,提升用户体验。
2024-07-14 11:44:14
980
原创 linux cron /etc/crontab 及 /var/spool/cron/$USER 中定义定时任务
比如使用root用户创建的crontab任务对应的文件就是/var/spool/cron/root,一般一个用户最多只有一个crontab文件。1、crontab -e 或者直接编辑/etc/crontab文件,这种方式用的人比较多,/etc/crontab是系统调度的配置文件,只有root用户可以使用,使用时需root权限,而且必须指定运行用户,才会执行。定时任务在linux上主要体现在两个地方,一个是/etc/crontab ,另一个就是定义了任务计划的用户/var/spool/cron/$USER。
2024-06-23 15:22:43
479
原创 使用shell脚本确保定时任务的单例执行
在Linux系统中,定时任务是自动化运维的重要组成部分。然而,有时候我们可能需要确保某个定时任务在任何给定时间点只运行一次,以避免资源冲突或数据不一致。本文将介绍如何使用Bash脚本和文件锁来实现单例定时任务。锁文件是一种简单的机制,用于标记一个进程或脚本正在运行中。通过创建一个特定的文件作为锁文件,其他实例可以检查这个文件是否存在,从而判断是否有其他实例正在运行。
2024-06-02 10:09:21
468
原创 kube-state-metrics组件
Kube-state-metrics:通过监听API Server生成有关资源对象的状态指标,比如Deployment、Node、Pod,需要注意的是kube-state-metrics只是简单的提供一个metrics数据,并不会存储这些指标数据,所以我们可以使用Prometheus来抓取这些数据然后存储,主要关注的是业务相关的一些元数据,比如Deployment、Pod、副本状态等;调度了多少个replicas?多少个Pod是running/stopped/terminated状态?Pod重启了多少次?
2024-01-10 22:22:31
2357
3
原创 RocketMQ双主双从搭建
runbroker.sh,runserver.sh启动参数默认对jvm的堆内存设置比较大(不改启动不起来),如果是虚拟机非线上环境需要改下参数,大小可以根据自己机器来决定。因为rocketmq是java开发的,所以通过jps命令查看namesrv有没有启动,当然通过日志文件也可以,namesrv正常启动之后,后续再分别启动Broker。#替换*.xml文件中的{user.home}为自己指定的目录。#设置 rocketmq 环境变量。另外一台机器也是这样配置。#设置jdk环境变量。4、修改日志配置文件。
2024-01-08 11:40:39
864
原创 SSL/TLS协议信息泄露漏洞(CVE-2016-2183)
如果Web服务中的SSL协议出现安全问题,攻击者就可以拥有你所有的安全信息。Nginx使用ssl模块配置HTTPS支持,就会遇到这个问题。编辑配置文件nginx.conf,把这句加在 server 配置节里就可以了,在浏览器使用不安全的算法时,会自动禁止连接。重新加载nginx配置文件,就可以生效了。之后nginx -t 检查配置文件。
2024-01-08 11:35:48
843
原创 kubernetes 的挂载传播 mountPropagation
你可以通过/proc/[pid]/mounts查看到所有挂载在当前namespace中的文件系统,还可以通过/proc/[pid]/mountstats看到mount namespace中文件设备的统计信息,包括挂载文件的名字、文件系统类型、挂载位置等等。换句话说,如果主机在卷挂载中挂载任何内容,则Container将看到它挂载在那里。所谓传播事件,是指由一个挂载对象的状态变化导致的其它挂载对象的挂载与解除挂载动作的事件。从从属挂载克隆的挂载对象也是从属的挂载,它也从属于原来的从属挂载的主挂载对象。
2023-12-26 16:35:54
1459
原创 添加node节点
使用kubeadm部署kubernetes集群的时候,需要在原有的集群中添加node节点。使用以下脚本在新服务器上安装环境需要的依赖包和依赖的服务。
2023-12-26 16:34:08
987
原创 k8s部署es和skywalking
上部分Agent :负责从应用中,收集链路信息,发送给 SkyWalking OAP 服务器。目前支持 SkyWalking、Zikpin、Jaeger 等提供的 Tracing 数据信息。而我们目前采用的是,SkyWalking Agent 收集 SkyWalking Tracing 数据,传递给服务器下部分。
2023-11-30 12:25:07
1589
原创 k8s部署kubesphere及踩坑记录
首先介绍一下kubesphere是什么,是从官网上摘抄的。KubeSphere是在Kubernetes之上构建的面向云原生应用的分布式操作系统,完全开源,支持多云与多集群管理,提供全栈的 IT 自动化运维能力,简化企业的 DevOps 工作流。它的架构可以非常方便地使第三方应用与云原生生态组件进行即插即用 (plug-and-play) 的集成。作为全栈的多租户容器平台,KubeSphere 提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。
2023-10-24 13:28:33
2529
原创 kubernetes部署ghost
ghost是一款用 Node.js 编写,功能强大的无头 CMS。它的强大之处在于提供了丰富、免费、可自定义的主题,用户可以自由搭配轻松建站。专业的会员订阅和数据可视化功能,让内容创作者可以围绕内容,尝试发展商业化业务。除此之外,它还拥有先进的所见即所得编辑器。相比WordPress的大而全,Ghost要清新的多,后台简洁,并提供了完整的Markdown编辑器进行博客创作。可使用轻量的SQLite作为数据库,对于小型博客,维护起来更方便(同时也支持MySql)完全的Markdown编辑器支持。
2023-09-08 16:39:53
337
原创 docker-compose部署milvus
在部署attu服务的时候,attu的镜像一定要和milvus服务的版本号保持一致。其中, attu IP 表示运行 attu 环境的 IP 地址, milvus server IP 是运行 Milvus 环境的 IP 地址。上一篇介绍了使用kubernetes来部署milvus,这篇介绍下使用docker-compose来部署milvus。默认下载下来的文件只有读写权限,使用 chmod +x docker-compose,为其添加执行权限,也可以使用。使用docker方式部署attu。
2023-08-09 11:41:45
1475
5
原创 kubernetes部署milvus
Milvus创建于2019年,其唯一目标是存储、索引和管理由深度神经网络和其他机器学习(ML)模型生成的大量嵌入向量。嵌入向量数据库Milvus是一种专门为处理输入向量查询而设计的数据库,能够在万亿规模上对向量进行索引。与传统的关系数据库不同,Milvus主要按照预定义的模式处理结构化数据。这种数据库的设计理念注重自下而上,适用于处理从非结构化数据转换而来的嵌入向量。Milvus的出现为处理大规模向量数据提供了一种全新的解决方案。
2023-08-08 11:24:24
4084
1
原创 prometheus调整默认数据存储时间
由于prometheus是用kuberentes部署的,没办法像传统部署方式那种直接在启动参数增加存储时间的参数。需要在configmap里或者在deployment里添加,我这里使用的方式是在deployement里添加调整存储时间的参数。添加完参数以后,登录prometheus页面查看prometheus的状态信息,可以看到存储的时间已经变成1年了。
2023-07-14 15:57:03
4239
1
原创 使用easeprobe进行SLA探测
EaseProbe是一款开源的探活工具,由左耳朵耗子为主要开发。EaseProbe是一个简单、独立、轻量级的工具,可以进行健康/状态检查,是用Go开发的一款工具。EaseProbe 主要完成3个目标工具: 探测、通知、报告。
2023-06-22 19:58:48
877
原创 kubernetes部署grafana
Grafana是一款流行的开源可视化平台,它支持与多种监控系统的集成,如Prometheus、Zabbix等。使用kubernetes来部署grafana服务。亲测可用。
2023-06-22 09:41:21
1668
原创 kubernetes部署prometheus
Prometheus是一款由SoundCloud开发的开源监控系统,它提供了实时监测和报警功能。使用kubernetes来部署prometheus服务,prometheus数据持久化到NFS。亲测可用。
2023-06-22 09:36:38
2178
原创 docker守护进程dockerd
2、可以使用-H tcp://0.0.0.0:2375 2375在所有网络接口上的端口2375上监听,也可以使用其IP地址-H tcp://192.168.0.1:2375在特定的网络接口上监听端口-H tcp://192.168.0.1:2375。3、在基于Systemd的系统上,可以通过dockerd -H fd:// 套接字激活与守护程序通信,请使用dockerd -H fd://。使用fd://可以在大多数设置中完美运行,但是您也可以指定单个套接字: dockerd -H fd://3。
2023-06-16 13:40:26
5363
原创 k8s 对已完成job自动清理
job在处理完一个任务以后,状态会变成Completed,job在状态为Completed的时候默认不会自动清理的,还会继续占用系统资源。
2023-05-28 17:25:56
2293
原创 node lib64libm.so.6 version `GLIBC_2.28‘ not found (required by node)
Linux服务器node版本从v16.14.2升级到v18.14.0版本,升级完成以后,直接node命令或者yarn install命令会报如下错误,我的操作系统版本是centos7.9的。已经升级了gcc为什么还是没有CXXABI_1.3.9,应该是升级gcc的时候动态库没有更新,所以检查一下动态库。需要在服务器上查看一下系统里面有没有其他的高版本,发现有高的版本,使用so.6.0.29就可以了。查看系统内安装的glibc版本,确实没有GLIBC_2.25~2.28中的任意一个版本。
2023-05-18 15:16:43
6880
5
原创 k8s部署archery并集成ldap以及遇到的问题总结
Archery是一个国产的,开源的,而且免费的一站式的 SQL 审核查询平台,旨在提升DBA的工作效率,支持多数据库的SQL上线和查询,同时支持丰富的MySQL运维功能。https://github.com/douban/charts/tree/master/charts charts地址https://github.com/hhyo/Archery 项目github地址 https://github.com/hhyo/Archery/wiki/k8s。
2023-05-01 13:15:54
1830
原创 k8s部署sonarqube
SonarQube需要依赖数据库存储数据,且SonarQube7.9及其以后版本将不再支持Mysql,官网有推荐的几种数据库,我这块选择使用PostgreSQL作为SonarQube的数据库。
2023-04-10 15:24:55
1200
1
原创 kubernetes calico组件启动失败解决
1、解决方法:calico-node默认访问kubernetes SVC的443端口,这将导致无法访问apiserver,需要在yaml文件添加apiserver的IP和端口,字段名:KUBERNETES_SERVICE_HOST、KUBERNETES_SERVICE_PORT、KUBERNETES_SERVICE_PORT_HTTPS。KUBERNETES_SERVICE_PORT_HTTPS:是k8s的kubernetes服务的https端口号。
2023-03-07 10:13:42
3568
原创 did you specify the right host or port报错处理
根据报错信息可以看到bootstrap-kubelet.conf文件已经不存在了,导致kubelet无法启动。应该是证书过期了,才导致无法执行kubectl命令了。需要手动来更新证书文件。执行完这几步以后,在试下kubectl get node,就可以查询出来node节点信息了。集群是用kubeadm来部署的。需要执行kubeadm命令来进行更新证书。
2023-02-15 15:03:24
1195
原创 【kubernetes】删除PV,PVC
此时PV变成Terminating状态了,一直阻塞在这了,也就是不能真正的删除PV,而对应的 PVC 还是 Bound 状态,也就是说这个时候由于 PV 和 PVC 已经绑定在一起了,就不能先删除 PV,只是现在状态是 Terminating 状态,对于 PVC 还是没有任何影响,此时如果试着去删除PVC,PVC也会变成Terminating状态,阻塞在这无法删除。编辑完成后保存退出,此时PV就会被真正删除了,而PVC也是同样的操作,就可以删除了。此时在重新创建PVC,PV。
2022-12-09 22:12:31
3245
原创 没有 selector 的 Service
访问这个服务的工作方式与其它的相同,唯一不同的是重定向发生在 DNS 层,而且不会进行代理或转发。如果后续决定要将数据库迁移到 Kubernetes 集群中,可以启动对应的 Pod,增加合适的 Selector 或 Endpoint,修改 Service 的 type。相反地,对于运行在集群外部的服务,它通过返回该外部服务的别名这种方式来提供服务。访问没有 selector 的 Service,与有 selector 的 Service 的原理相同。
2022-10-23 17:11:05
593
1
原创 k8s部署nacos集群模式
主要是在k8s集群部署nacos集群(3节点),数据库使用外置的 mysql ,由于有现成的阿里云RDS,就直接使用了。相比官方的在k8s内创建数据库的方案更方便。所有nacos配置 全部保存在数据库中,不用担心重启掉线等异常导致配置文件丢失。Nacos及所有相关服务都部署在default 命名空间,配置文件中未指定命名空间,如需指定命名空间可在配置文件增加 metadata.namespace 属性,指定命名空间。
2022-09-27 18:43:06
5492
8
编写一个方法(函数).功能要求从参数X累加到参数Y,并返回累加后的整数结果。
2017-04-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人