自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(160)
  • 资源 (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 17249 20

原创 Python 入门的前十八节课

Python 基础课程 Python【第一课】 Python简介和基础 Python【第二课】 字符串,列表,字典,集合,文件操作 Python【第三课】 函数基础 Python【第四课】 模块 and 包 Python【第四课】 装饰器 Python【第五课】迭代器,生成器,数据序列化 Python【第五课】常用模块学习(待完善) Python【第六课】面向对象...

2017-02-21 09:39:00 351

原创 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 367 1

原创 Kubernetes:解决命名空间无法正常删除问题 —— 清空 Finalizers 字段的方法步骤

在 Kubernetes 中,有时会遇到命名空间无法正常删除的情况。其中一个可能的原因是命名空间的Finalizers字段阻止了删除操作。

2024-08-28 20:06:35 442

原创 kubedl快速入门

KubeDL(Kubernetes Deep Learning)是一个基于Kubernetes的深度学习训练平台。它旨在简化在Kubernetes集群上运行和管理深度学习训练任务的过程。KubeDL提供了一系列的工具和抽象,使得用户可以更容易地扩展他们的训练作业,利用Kubernetes的资源管理和自动化能力。

2024-08-21 16:12:07 150

原创 VictoriaMetrics 时序数据删除与数据合并

VictoriaMetrics 时序数据的删除与数据合并

2024-08-20 19:53:00 339

原创 VictoriaMetrics 数据的快照与迁移

原始 MergeTree 合并/删除快照链接的部分后,快照开始占用额外空间。因此,不要忘记删除旧快照以释放磁盘空间。VictoriaMetrics 使用硬链接为时间序列数据和倒排索引创建即时快照。有一个命令行标志,包含 VictoriaMetrics 存储数据的文件系统路径。数据恢复会覆盖原有数据,一般情况下不建议使用恢复功能。如果指向已经存在的备份,则执行增量备份。服务,并且只能同类型集群的数据恢复。文件夹中,并将增量每小时备份创建到。创建的备份中恢复数据。将完整的每日备份存储到。

2024-08-16 18:06:34 1064

原创 VictoriaMetrics快速入门

VictoriaMetrics是快速,经济高效且可扩展的时间序列数据库。它可以用作Prometheus的长期远程存储。

2024-08-14 11:57:06 1265 1

原创 redis内存分析

阿里云redis集群对key进行hash后保存在对应的后端节点,使每个节点的key数量大致相同,但是如果存在大key,就会导致单个节点内存用满,可以使用或rdr来对内存进行分析。

2024-07-10 11:41:19 388

原创 10分钟了解KEDA高效弹性伸缩方案

KEDA 的出现主要是为了解决 HPA 无法基于灵活的事件源进行伸缩的这个问题,内置了几十种常见的 Scaler ,可直接跟各种第三方应用对接,比如各种开源和云托管的关系型数据库、时序数据库、文档数据库、键值存储、消息队列、事件总线等,也可以使用 Cron 表达式进行定时自动伸缩,常见的伸缩常见基本都涵盖了,如果发现有不支持的,还可以自己实现一个外部 Scaler 来配合 KEDA 使用。如果业务有周期性的波峰波谷特征,可以使用 KEDA 配置定时伸缩,在波峰来临之前先提前扩容,结束之后再缓慢缩容。

2024-06-05 17:43:42 932

原创 Linux系统磁盘动态扩容

在日常使用ECS中,时常会遇到有状态服务随着运行时间越来越长,导致数据日积月累越来越多, 磁盘空间也随之紧张,这种情况下对于磁盘容量的动态扩容就显得尤为重要了,尤其来有状态服务运行的情况下。所以当磁盘分区方案为MBR,且磁盘大小需要升级到2TB以上时,就需要先对分区格式进行切换后,对磁盘大小进行无损扩容。使用growpart和resize2fs工具完成Linux系统盘分区扩容及文件系统扩展的操作指导。MBR分区方案支持2TB或更小的磁盘,当磁盘容量超过2T就需要切换为GPT分区表来支持。

2024-03-22 15:10:20 492

原创 ElasticSearch容器化从0到1实践(三)

上一节说到了ECK落地的26个关键问题,这一节将对这26个关键点的实施进行详细的说明,并给出符合业务的合理建议。另外如果你认真看了上一节提到的26个关键问题,并且也对这些关键点表示认同的话,本节一定要细细品鉴,我自认为可以让你收获巨大。

2023-11-03 16:23:49 271

原创 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 326

原创 ElasticSearch容器化从0到1实践(问题汇总)

Elasticsearch容器化过程中遇到的一些坑。

2023-10-19 17:17:56 496

原创 ElasticSearch容器化从0到1实践(二)

上一节说明了容器化的背景及各组件版本的依赖关系,大体了解了Elsticsearch容器化的方案,这一节就开始对基础环境进行部署,以及需要注意的关键点。

2023-10-12 10:59:38 244

原创 ElasticSearch容器化从0到1实践(一)

Kubernetes Operator 是一种特定的应用控制器,通过 CRD(Custom Resource Definitions,自定义资源定义)扩展 Kubernetes API 的功能,可以用它来创建、配置和管理特定的有状态应用,而不需要直接去使用 Kubernetes 中最原始的一些资源对象。

2023-10-11 17:42:36 225

原创 Chaos Mesh网络延迟故障注入原理探索

Chaos Mesh通过 iptables + tc的方式, 对流量进行拦截后处理。实现网络故障的目录, 其他网络类型故障也是基于该原理实现。

2023-08-08 16:18:38 476

原创 java程序负载异常排查思路

java程序负载异常通用排查思路

2023-01-04 17:36:14 204

原创 flannel

wu

2022-08-19 09:05:40 159

原创 Calico 网络通信原理揭秘

Calico 是一个纯三层的数据中心网络方案,而且无缝集成像 OpenStack 这种 Iaas 云架构,能够提供可控的 VM、容器、裸机之间的 IP 通信。为什么说它是纯三层呢?因为所有的数据包都是通过路由的形式找到对应的主机和容器的,然后通过 BGP 协议来将所有路由同步到所有的机器或数据中心,从而完成整个网络的互联。简单来说,Calico 在主机上创建了一堆的 veth pair,其中一端在主机上,另一端在容器的网络命名空间里,然后在容器和主机中分别设置几条路由,来完成网络的互联。Calico

2022-07-26 11:41:05 733

原创 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 244

原创 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 687

原创 第一节 zadig 入门

最近看公众号,发现之前没有接触过的持续集成工具zadig,于是乎在自己的测试环境跑一边流程,检验下zadig的优劣势。Zadig 是 KodeRover 公司基于 Kubernetes 自主设计、研发的开源分布式持续交付 (Continuous Delivery) 产品,为开发者提供云原生运行环境,支持开发者本地联调、微服务并行构建和部署、集成测试等。Zadig 内置了面向 Kubernetes、Helm、云主机/物理机、大体量微服务等复杂业务场景的最佳实践,为工程师一键生成自动化工作流 (workflo

2022-07-26 11:36:59 1257

原创 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 1325

转载 Linux系统启动引导流程

启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了,而这一切都与操作系统无关。启动第二步--读取MBR众所周知,硬盘上第0磁道第一个扇区被称为MBR,也就是Master Boot Record,即主引导记录,它的大小是512字节,别看地方不大,可里面却存放了预启动信息、分区表信息。系统找到BIOS所指定的硬盘的

2021-08-31 11:56:21 1185

原创 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 245

原创 k8s LimitRange ResourceQuota 使用场景

默认情况下, Kubernetes 集群上的容器运行使用的计算资源没有限制。 使用资源配额,集群管理员可以以名字空间为单位,限制其资源的使用与创建。 在命名空间中,一个 Pod 或 Container 最多能够使用命名空间的资源配额所定义的 CPU 和内存用量。 有人担心,一个 Pod 或 Container 会垄断所有可用的资源。 LimitRange 是在命名空间内限制资源分配(给多个 Pod 或 Container)的策略对象。一个 LimitRange(限制范围) 对象提供的限制能够做到:在一

2021-08-12 21:01:55 261

原创 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 576

原创 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 1262

原创 zookeeper ui部署

github地址:https://github.com/DeemOpen/zkui

2021-05-17 14:37:22 165

原创 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 232

原创 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 118

原创 Kubernetes taints 配置

【代码】Kubernetes taints 配置。

2021-04-27 18:00:59 253

原创 jenkins 运行守护进程

如果您的构建想要让守护程序在后面运行…实现此目的的便捷方法是更改​​Jenkins的ProcessTreeKiller正在寻找的环境变量BUILD_ID。这将使Jenkins假定您的守护进程不是由Jenkins构建生成的。例如:BUILD_ID=dontKillMe /usr/apache/bin/httpd如果是Jenkins Pipeline,请使用JENKINS_NODE_COOKIE代替BUILD_ID...

2021-04-11 17:37:36 629

原创 kubernetes 节点负载均衡

kubernetes 节点负载均衡:https://github.com/kubernetes-sigs/descheduler

2021-03-17 20:32:19 403 2

转载 Calico 网络通信原理揭秘

Calico 是一个纯三层的数据中心网络方案,而且无缝集成像 OpenStack 这种 Iaas 云架构,能够提供可控的 VM、容器、裸机之间的 IP 通信。为什么说它是纯三层呢?因为所有的数据包都是通过路由的形式找到对应的主机和容器的,然后通过 BGP 协议来将所有路由同步到所有的机器或数据中心,从而完成整个网络的互联。简单来说,Calico 在主机上创建了一堆的 veth pair,其中一端在主机上,另一端在容器的网络命名空间里,然后在容器和主机中分别设置几条路由,来完成网络的互联。1. Cal

2021-03-10 18:31:34 724

原创 open-falcon-agent部署

目前监控同时使用了阿里云云监控(基础监控)、prometheus(应用监控),监控系统比较混乱,接入方式以及查询入口、报警配置及报警方式不统一,所以使用open-falcon来做统一。使用open-falcon对比prometheus主要是考虑一下几个方面:open-falcon相较prometheus方式有更好的性能。open-falcon各个组件基本都是实现很好的横向扩展。open-falcon对比prometheus可以通过hostgroup和template更好的管理应用、host、报警规

2021-03-03 17:48:02 461 1

原创 open-falcon judge扩容

背景说明judge用于判断的相关数据保存在内存中,由transfer通过调用 RPC Send方法上传得到。LinkedList.go中的PushFrontAndMaintain方法的实现决定了不能通过手工调用 Send 方法上传过往数据点来补齐历史数据。另外 open-falcon 本身是 push 模型,即 agent 将数据点 push 到 transfer,然后 transfer 将数据点 push 到 judge 里,这种设计决定了 judge 重启后,是无法像 pull 模型一样重新加载历史

2021-03-02 15:39:44 163

原创 open-falcon graph扩容、缩容

方案原理从修改Transfer开始,流量会按新的哈希规则进入到原始集群和扩容集群;此时扩容集群发现,migrate开关是打开状态;于是,扩容集群接收到流量之后,并没有很着急的去落盘,而是先按照旧的哈希规则从原始集群拉取历史数据(本质上就是一个rrd文件),拉取成功则将整个rrd文件写入本地,若拉取超时(默认1s),则将此次接收到的数据发送给旧的集群,下一个周期会再次重复此过程。同样的,Query的查询,也是按照新的哈希规则。当查询的流量到达扩容集群,如果Graph发现,本地已有RRD文件,则直接查询返回

2021-02-23 16:49:08 340

原创 手动部署kubernetes集群(未完)

文章目录kubernetes简介kubernetes 部署准备Binaries 文件准备环境说明节点信息环境要求内核升级时间同步内核参数配置集群部署kubelet服务部署为了了解k8s相关组成及运行原理,通过手动部署集群方式描述k8s相关细节kubernetes简介他是全新的基于容器技术的分布式架构领先方案(一般也称为容器编排工具),基于容器技术,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用率的最大化。Kubemetes 是一个完备的分布式系统支撑平台。Kubemetes 具有完备的集

2021-02-18 11:55:43 197

x-pack-core-6.4.3.jar 破解 下载

x-pack-core-6.4.3.jar 破解文件,下载替换后可以直接使用。 需要替换的文件由于安装方式可能会不同, 一般在/usr/share/elasticsearch/modules/x-pack-core/下。

2018-12-02

java 聊天室

雏形,做的不太好 大家见谅,第一次

2013-11-18

空空如也

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

TA关注的人

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