etcd是一个开源的分布式键值存储系统,由CoreOS团队开发,主要用于存储分布式系统中的关键数据。它采用Raft一致性算法,确保数据的一致性和高可用性,同时提供简单的HTTP/JSON API,方便开发者快速集成。
123456789101112131415161718192021222324sudo -s#设置要下载的版本ETCD_VER=v3.5.14INSTALL_DIR=/opt # 也可以从google下载,鉴于国内无法访问,就注释掉了# GOOGLE_URL=https://storage.googleapis.com/etcdGITHUB_URL=https://github.com/etcd-io/etcd/releases/downloadDOWNLOAD_URL=${GITHUB_URL} # 清理原来下载过的rm -f ${INSTALL_DIR}/etcd-${ETCD_VER}-linux-amd64.tar.gzrm -rf ${INSTALL_DIR}/etcd ...
Apache APISIX 是一个动态、实时、高性能的云原生 API 网关。它构建于 NGINX + ngx_lua 的技术基础之上,充分利用了 LuaJIT 所提供的强大性能。
k8s helm部署
使用了自己开发的插件,所以自己后封了一个镜像,把插件放在镜像里的/usr/local/apisix-go-plugin-runner/go-runner位置
使用了AWS的NLB做三层负载均衡器,ssl证书也放在NLB上
配置了nacos注册中心,可以作为上游的服务发现
配置了外置的etcd集群,保证高可用123456789101112131415161718192021helm repo add apisix https://charts.apiseven.comhelm repo add bitnami https://charts.bitnami.com/bitnamihelm repo updatehelm upgrade --install -f ./values.yaml apisix apisix/apisix \ --set service.type=LoadBalan ...
Archery是一个开源的SQL审核和查询平台,旨在提升数据库管理的效率和安全性。它支持多种数据库(如MySQL、Oracle、PostgreSQL等),提供SQL审核、查询管理、权限控制、工单系统、性能监控以及报表统计等功能。通过自动化审核和规范化的操作流程,Archery帮助团队减少人为错误,优化数据库性能,同时确保数据操作的可追溯性和安全性,是数据库管理员和开发人员的得力工具。
功能清单
数据库
查询
审核
执行
备份
数据字典
慢日志
会话管理
账号管理
参数管理
数据归档
MySQL
√
√
√
√
√
√
√
√
√
√
MsSQL
√
×
√
×
√
×
×
×
×
×
Redis
√
×
√
×
×
×
×
×
×
×
PgSQL
√
×
√
×
×
×
×
×
×
×
Oracle
√
√
√
√
√
×
√
×
×
×
MongoDB
√
√
√
×
×
×
√
√
×
×
Phoenix
√
×
√
×
×
×
×
×
×
×
ODPS
√
×
×
×
×
×
×
×
×
×
ClickHouse
√
√
√
×
×
× ...
什么是EMQX?EMQX是一款基于Erlang/OTP平台开发的开源MQTT消息 broker,专为物联网场景设计。它支持MQTT、MQTT-SN、CoAP、WebSocket等多种协议,能够处理大规模的设备连接和海量消息吞吐,是构建物联网通信平台的理想选择。
部署EMQX使用 EMQX Operator 安装 EMQX
删除之前的sa1eksctl delete iamserviceaccount --name cert-manager --cluster pre-us --namespace cert-manager
安装cert-manager123456helm repo add jetstack https://charts.jetstack.iohelm repo updatehelm upgrade --install cert-manager jetstack/cert-manager \--namespace cert-manager \--create-namespace \--set installCRDs=true
安装emqx-operator12 ...
这篇文章讲解了如何在 Kubernetes 中配置 HPA(Horizontal Pod Autoscaler),让集群可以根据 CPU 或内存利用率自动扩缩容,提高资源利用率和应用稳定性。
HPA 的作用HPA(Horizontal Pod Autoscaler)是 Kubernetes 提供的一种自动伸缩机制,可以根据 Pod 的 CPU、内存使用率或自定义指标动态调整副本数。
主要功能:
自动扩容(Scale Out):当应用负载增加,资源使用率超过设定的阈值时,HPA 会自动增加 Pod 数量。
自动缩容(Scale In):当应用负载下降,资源使用率低于设定的阈值时,HPA 会自动减少 Pod 数量。
支持自定义指标:除了 CPU 和内存,HPA 还能基于 Prometheus 等监控系统提供的自定义指标进行伸缩。
HPA 是如何工作的Kubernetes 的 HPA(水平 Pod 自动扩缩)是一种间歇运行的控制回路,而不是一个持续的过程。它的运行间隔由 kube-controller-manager 组件中的 --horizontal-pod-autoscaler-syn ...
这篇文章讲解了如何为容器配置 存活(Liveness)探针、就绪(Readiness)探针 和 启动(Startup)探针,让 Kubernetes 能够更智能地管理应用的运行状态。
三种探针的作用
存活探针(Liveness Probe)作用:判断容器是否仍然存活,如果探针失败,Kubernetes 就会自动重启该容器。适用场景:比如应用发生 死锁(程序卡住但进程仍在运行),存活探针可以及时检测并触发重启,提高应用的可用性。常见做法:通常使用 HTTP 请求 或 命令 来检测,并设置较高的 failureThreshold(失败阈值),避免误判导致频繁重启。
就绪探针(Readiness Probe)作用:判断容器是否已经准备好接受流量。如果探针失败,该 Pod 不会被加入负载均衡,避免未准备好的实例接收请求。适用场景:应用启动后可能需要进行初始化,如加载配置或建立数据库连接,等这些操作完成后才能正常工作。影响:如果 Pod 处于未就绪状态,它将从 Service 负载均衡器 中移除,避免影响业务。
启动探针(Startup Probe)作用:专门用于检测应用是否完 ...
1. 修改索引的默认主分片数和副本分片数为1:1创建一个索引模板匹配log、trace、bitrackpoint、trackpoint开头的索引,设置这些索引的主分片数和副本分片数为1:1
12345678910111213141516PUT _index_template/template-01{ "index_patterns": [ "log*", "trace*", "bitrackpoint*", "trackpoint*" ], "priority": 0, "template": { "settings": { "number_of_shards": 1, "number_of_replicas": 1 } }}
2. 查看节点资源分配状态1GET ...
什么是 ZadigZadig 是由 KodeRover 公司基于 Kubernetes 研发的自助式云原生 DevOps 平台,源码 100% 开放。Zadig 提供灵活可扩展的工作流支持、多种发布策略编排以及一键安全审核等特性。该平台还支持定制的企业级 XOps 敏捷效能看板,深度集成多种企业级平台,并通过项目模板化批量快速接入,实现数千个服务的一键纳管治理。其主要目标是帮助企业实现产研的数字化转型,使工程师成为创新引擎,并为数字经济的无限价值链接提供支持。
使用过程中遇到的问题1. 如果遇到添加服务后,明明设置了副本数,但是zadig显示unstart,并且进去没有pod你需要检查一下你的k8s的 replicaset 资源里,找到这个服务,describe一下,里面会有报错信息
2. 在环境页面报错,“500 : Internal Error: mongo: no documents in result”你需要检查一下你的资源配置里的镜像仓库配置,需要配置一个镜像仓库
用蓝牙控制 ESP32 的引脚 - 低功耗蓝牙实现使用蓝牙控制 esp32 的 D13 引脚切换高低电平
code123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100#include <BLEDevice.h>#include <BLEUtils.h>#include <BLEServer.h>#define SERVICE_UUID "0000ff26-0000-1000-8000-00805f9b34fb"#define CHARACTERISTIC_TX "0000ff69-0000-1000-8000-00805f9b34fb"#define CHARACTERISTIC_RX ...