- 博客(167)
- 资源 (2)
- 收藏
- 关注

原创 openstack rocky版详细搭建
openstack R版搭建文章目录openstack R版搭建作者:40kuai博客:http://www.cnblogs.com/40kuai/个人博客 :http://www.heleicool.cn/有疑问可以加本人QQ:948793841实验环境环境设置安装openstack包数据库安装安装消息队列目前为止端口信息如下开始安装openstack服务keystone服务安装安装配置key...
2018-10-30 16:09:00
17716
22

原创 Python 入门的前十八节课
Python 基础课程 Python【第一课】 Python简介和基础 Python【第二课】 字符串,列表,字典,集合,文件操作 Python【第三课】 函数基础 Python【第四课】 模块 and 包 Python【第四课】 装饰器 Python【第五课】迭代器,生成器,数据序列化 Python【第五课】常用模块学习(待完善) Python【第六课】面向对象...
2017-02-21 09:39:00
364
原创 Nginx的时钟精度陷阱:request_time与upstream_response_time差异分析
在elasticsearch 采集nginx日志分析的场景下发现,小于,于是才有了这边文章在 Nginx 中,和使用不同的系统时钟和精度机制来记录时间,这可能导致。功能特性:CLOCK_MONOTONIC_COARSE 是 Linux 系统的低精度单调时钟,提供毫秒级(默认 4ms 粒度)的时间记录,主要服务于高性能场景(如高频日志记录、网络请求处理)。
2025-03-27 12:07:09
291
原创 kubernetes 日志采集方案 loongcollector(旧名iLogtail)
日志采集使用阿里云开源工具iLogtail,支持部署于物理机,虚拟机,Kubernetes等多种环境中来采集遥测数据,例如logs、traces和metrics。支持配置远程管理,支持以图形化、SDK、K8s Operator等方式进行配置管理,可轻松管理百万台机器的数据采集。支持多种Logs、Traces、Metrics数据采集,尤其对容器、Kubernetes环境支持非常友好。index的副本为0,当前后端es集群为单点,所以没有必要配置副本。file_and_line:日志文件及行数,方便日志过滤。
2025-02-18 10:49:39
1320
原创 云平台 LB(ingress-nginx) 中的HTTP2
在阿里云、AWS等云厂商,如果使用LB方式暴露ingress服务,通常支持在LB层通过注解的方式来配置ALPN策略。在web端可以查看到配置后的信息。在aws中, LB 通过。协商到的则为http2。
2025-02-17 17:07:22
218
原创 Nginx 中的HTTP2
AWS 负载均衡器控制器: https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/guide/service/annotations/参数配置参考:https://nginx.org/en/docs/http/ngx_http_v2_module.html。网站验证:https://tools.keycdn.com/http2-test。在nginx 中使用http2,首先需要确认是否安装了。
2025-02-12 20:42:05
344
原创 HTTP/2 由来及特性
2012年,Google提出了SPDY协议,作为HTTP的实验性替代方案,它引入了二进制分帧、多路复用等重要概念,为HTTP/2的发展奠定了基础。经过多年的研究和改进,2015年5月,HTTP/2被互联网工程任务组(IETF)标准化,成为了HTTP协议的下一代版本。随着互联网的发展,网页内容变得越来越复杂,对数据传输的性能和效率提出了更高的要求。为了满足这些需求,各大浏览器厂商和互联网公司迫切需要一种新的HTTP协议来提高网络传输性能,于是HTTP/2应运而生。
2025-02-12 15:54:10
1089
原创 nginx ingress-nginx keep-alive 长连接配置
服务说明请求经过多个中间件的转发,最终pod服务接收到请求。在整个过程中slb和tengine是tcp长连接、tengine和nginx-ingress为http转发(可能存在http短连接)、nginx-ingress和k8s svc为http转发(可能存在http短连接)tengine和nginx-ingress 需要配置http-alive优化频繁的短连接,优化资源和服务响应时间。配置优化当使用nginx作为反向代理时,为了支持长连接,需要做到两点:从client到nginx的连接是长连接.
2025-02-07 16:07:58
1138
原创 Ingress nginx 公开TCP服务
公司业务繁多, HTTP、GRPC、TCP多种协议服务并存,Kubernetes流量入口复杂,所以萌生了通过LoadBalancer + Ingress-nginx 的方式完全的结果入口流量,当然在高并发的场景下可以对LoadBalancer 和Ingress-nginx 进行拆分管理。主要验证下ingres-nginx对TCP流量的转发,以及简单窥探下实现逻辑。最后,修改ingress-nginx deployment , 在启动参数中加入如下配置,用来更新nginx 关于TCP/UDP的转发配置。
2024-11-09 17:18:45
1289
原创 Ingress-nginx中HTTPS的强制转发
参考:https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#server-side-https-enforcement-through-redirect。到这里可以看到 配置是没有问题的, 80端口的流量确实是指到了tohttp端口(2443),但这个端口又是什么端口呢。为什么会有这样一个设定呢。这里可以看出,对于2443端口,是强制对访问做了https跳转。
2024-10-16 16:27:37
555
2
原创 Kubernetes:解决命名空间无法正常删除问题 —— 清空 Finalizers 字段的方法步骤
在 Kubernetes 中,有时会遇到命名空间无法正常删除的情况。其中一个可能的原因是命名空间的Finalizers字段阻止了删除操作。
2024-08-28 20:06:35
578
原创 kubedl快速入门
KubeDL(Kubernetes Deep Learning)是一个基于Kubernetes的深度学习训练平台。它旨在简化在Kubernetes集群上运行和管理深度学习训练任务的过程。KubeDL提供了一系列的工具和抽象,使得用户可以更容易地扩展他们的训练作业,利用Kubernetes的资源管理和自动化能力。
2024-08-21 16:12:07
193
原创 VictoriaMetrics 数据的快照与迁移
原始 MergeTree 合并/删除快照链接的部分后,快照开始占用额外空间。因此,不要忘记删除旧快照以释放磁盘空间。VictoriaMetrics 使用硬链接为时间序列数据和倒排索引创建即时快照。有一个命令行标志,包含 VictoriaMetrics 存储数据的文件系统路径。数据恢复会覆盖原有数据,一般情况下不建议使用恢复功能。如果指向已经存在的备份,则执行增量备份。服务,并且只能同类型集群的数据恢复。文件夹中,并将增量每小时备份创建到。创建的备份中恢复数据。将完整的每日备份存储到。
2024-08-16 18:06:34
1348
原创 VictoriaMetrics快速入门
VictoriaMetrics是快速,经济高效且可扩展的时间序列数据库。它可以用作Prometheus的长期远程存储。
2024-08-14 11:57:06
1904
2
原创 redis内存分析
阿里云redis集群对key进行hash后保存在对应的后端节点,使每个节点的key数量大致相同,但是如果存在大key,就会导致单个节点内存用满,可以使用或rdr来对内存进行分析。
2024-07-10 11:41:19
424
原创 10分钟了解KEDA高效弹性伸缩方案
KEDA 的出现主要是为了解决 HPA 无法基于灵活的事件源进行伸缩的这个问题,内置了几十种常见的 Scaler ,可直接跟各种第三方应用对接,比如各种开源和云托管的关系型数据库、时序数据库、文档数据库、键值存储、消息队列、事件总线等,也可以使用 Cron 表达式进行定时自动伸缩,常见的伸缩常见基本都涵盖了,如果发现有不支持的,还可以自己实现一个外部 Scaler 来配合 KEDA 使用。如果业务有周期性的波峰波谷特征,可以使用 KEDA 配置定时伸缩,在波峰来临之前先提前扩容,结束之后再缓慢缩容。
2024-06-05 17:43:42
1106
原创 Linux系统磁盘动态扩容
在日常使用ECS中,时常会遇到有状态服务随着运行时间越来越长,导致数据日积月累越来越多, 磁盘空间也随之紧张,这种情况下对于磁盘容量的动态扩容就显得尤为重要了,尤其来有状态服务运行的情况下。所以当磁盘分区方案为MBR,且磁盘大小需要升级到2TB以上时,就需要先对分区格式进行切换后,对磁盘大小进行无损扩容。使用growpart和resize2fs工具完成Linux系统盘分区扩容及文件系统扩展的操作指导。MBR分区方案支持2TB或更小的磁盘,当磁盘容量超过2T就需要切换为GPT分区表来支持。
2024-03-22 15:10:20
671
原创 ElasticSearch容器化从0到1实践(三)
上一节说到了ECK落地的26个关键问题,这一节将对这26个关键点的实施进行详细的说明,并给出符合业务的合理建议。另外如果你认真看了上一节提到的26个关键问题,并且也对这些关键点表示认同的话,本节一定要细细品鉴,我自认为可以让你收获巨大。
2023-11-03 16:23:49
312
原创 Chaos Mesh网络延迟原理探索
到这里可以发现Chaos Mesh通过 iptables + tc的方式, 对流量进行拦截后处理。实现网络故障的目录, 其他网络类型故障也是基于该原理实现。参考文档:故障注入源码:https://github.com/chaos-mesh/chaos-mesh/blob/master/pkg/chaosdaemon/tc_server.go#L112。
2023-10-19 17:20:03
373
原创 ElasticSearch容器化从0到1实践(二)
上一节说明了容器化的背景及各组件版本的依赖关系,大体了解了Elsticsearch容器化的方案,这一节就开始对基础环境进行部署,以及需要注意的关键点。
2023-10-12 10:59:38
283
原创 ElasticSearch容器化从0到1实践(一)
Kubernetes Operator 是一种特定的应用控制器,通过 CRD(Custom Resource Definitions,自定义资源定义)扩展 Kubernetes API 的功能,可以用它来创建、配置和管理特定的有状态应用,而不需要直接去使用 Kubernetes 中最原始的一些资源对象。
2023-10-11 17:42:36
263
原创 Chaos Mesh网络延迟故障注入原理探索
Chaos Mesh通过 iptables + tc的方式, 对流量进行拦截后处理。实现网络故障的目录, 其他网络类型故障也是基于该原理实现。
2023-08-08 16:18:38
645
原创 Calico 网络通信原理揭秘
Calico 是一个纯三层的数据中心网络方案,而且无缝集成像 OpenStack 这种 Iaas 云架构,能够提供可控的 VM、容器、裸机之间的 IP 通信。为什么说它是纯三层呢?因为所有的数据包都是通过路由的形式找到对应的主机和容器的,然后通过 BGP 协议来将所有路由同步到所有的机器或数据中心,从而完成整个网络的互联。简单来说,Calico 在主机上创建了一堆的 veth pair,其中一端在主机上,另一端在容器的网络命名空间里,然后在容器和主机中分别设置几条路由,来完成网络的互联。Calico
2022-07-26 11:41:05
787
原创 proemthues 服务发现配置
apiVersion: monitoring.coreos.com/v1kind: ServiceMonitormetadata: labels: chart: ack-prometheus-operator-5.7.0 heritage: Tiller name: jvm-export release: ack-prometheus-operator name: jvm-export namespace: sh-app-globalspec: endp
2022-07-26 11:39:59
257
原创 k8s集群监控维度
关于 CPU 的 limit 合理性指标。查出最近5分钟,超过25%的 CPU 执行周期受到限制的容器。表达式:sum(increase(container_cpu_cfs_throttled_periods_total{container!="", }[5m])) by (container, pod, namespace) / sum(increase(container_cpu_cfs_periods_total{}[5m])) by (container, pod, namespace) &g.
2022-07-26 11:38:03
730
原创 第一节 zadig 入门
最近看公众号,发现之前没有接触过的持续集成工具zadig,于是乎在自己的测试环境跑一边流程,检验下zadig的优劣势。Zadig 是 KodeRover 公司基于 Kubernetes 自主设计、研发的开源分布式持续交付 (Continuous Delivery) 产品,为开发者提供云原生运行环境,支持开发者本地联调、微服务并行构建和部署、集成测试等。Zadig 内置了面向 Kubernetes、Helm、云主机/物理机、大体量微服务等复杂业务场景的最佳实践,为工程师一键生成自动化工作流 (workflo
2022-07-26 11:36:59
1289
原创 python argo rollout api
class ArgoRollout(): def __init__(self, namespace, app_name, image_name, port=8080): self.k8s_api = client.ApiClient() self.app_name = app_name self.namespace = namespace self.image_name = image_name self.port =
2022-05-06 21:08:19
1360
转载 Linux系统启动引导流程
启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了,而这一切都与操作系统无关。启动第二步--读取MBR众所周知,硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,别看地方不大,可里面却存放了预启动信息、分区表信息。系统找到BIOS所指定的硬盘的
2021-08-31 11:56:21
1292
原创 open-falcon api
import jsonimport loggingimport requestsfrom urllib import parsefmt = "%(asctime)s - %(levelname)s - %(filename)s - %(module)s - %(funcName)s - %(lineno)d - %(message)s"logging.basicConfig(level=logging.INFO, format=fmt)FALCON_BASE_URL = "FALCON_BA
2021-08-31 11:54:42
272
原创 k8s LimitRange ResourceQuota 使用场景
默认情况下, Kubernetes 集群上的容器运行使用的计算资源没有限制。 使用资源配额,集群管理员可以以名字空间为单位,限制其资源的使用与创建。 在命名空间中,一个 Pod 或 Container 最多能够使用命名空间的资源配额所定义的 CPU 和内存用量。 有人担心,一个 Pod 或 Container 会垄断所有可用的资源。 LimitRange 是在命名空间内限制资源分配(给多个 Pod 或 Container)的策略对象。一个 LimitRange(限制范围) 对象提供的限制能够做到:在一
2021-08-12 21:01:55
284
原创 GPU驱动、cuda、cudnn版本依赖
CUDA工具包及其驱动版本CUDA ToolkitToolkit Driver VersionLinux x86_64 Driver VersionWindows x86_64 Driver VersionCUDA 11.4.0 GA>=470.42.01>=471.11CUDA 11.3.1 Update 1>=465.19.01>=465.89CUDA 11.3.0 GA>=465.19.01>=465.89
2021-07-08 21:08:00
628
原创 log-pilot日志收集到es7.x
使用log-pilot官方使用方式:https://help.aliyun.com/document_detail/86552.html问题默认阿里云仓库只支持7.x以下版本es的数据写入,使用如下插件可以实现。git地址:https://github.com/40kuai/log-pilot/tree/filebeat7.xdockerhub:heleicool/log-pilot:7.x-filebeat...
2021-05-31 20:49:59
1302
原创 docker HEALTHCHECK
FROM harbor.soulapp-inc.cn/soul-ops/elasticsearch:6.4.3# -1: PID大于1的所有进程均接收信号。HEALTHCHECK --interval=5s --timeout=2s --retries=12 \ CMD curl --silent --fail localhost:9200/_cluster/health || bash -c 'kill -s 15 -1 && (sleep 10; kill -s 9 -1)'
2021-05-13 15:21:02
277
原创 Pycharm设置.py文件头部模板
在File—settings—Editor—File and Code Templates—Python script 脚本里添加:#!/usr/bin/env python#-*- coding:utf-8 -*-"""@File : ${NAME}.py@Time : ${DATE} ${TIME}@Author : 40kuai@Email : helei@soulapp.cn@Software: ${PRODUCT_NAME}"""...
2021-05-10 15:06:30
133
x-pack-core-6.4.3.jar 破解 下载
2018-12-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人