高可用系列文章之四 - 总结

前文链接 高可用系列文章之一 - 概述 - 东风微鸣技术博客 (ewhisper.cn) 高可用系列文章之二 - 传统分层架构技术方案 - 东风微鸣技术博客 (ewhisper.cn) 高可用系列文章之三 - NGINX 高可用实施方案 - 东风微鸣技术博客 (ewhisper.cn) 六 总结 高

公有云降本增效最佳实践

前言 最近看到了几个事情,一个是某保险系统,为了快速上线,全量上云,结果生产正式运行后每月账单高达几十万。相关业务总扛不住这个支出,又劳师动众,让下面的项目经理、开发、运维、架构师花了3个月把业务全量从公有云迁移下来。相关人员被折磨的半死不活,而且大大拖慢了系统的迭代速度。 另一个是某个电商的案例,

基于 Traefik 的 Basic Auth 配置

前言 Traefik是一个现代的HTTP反向代理和负载均衡器,使部署微服务变得容易。 Traefik可以与现有的多种基础设施组件(Docker、Swarm模式、Kubernetes、Marathon、Consul、Etcd、Rancher、Amazon ECS...)集成,并自动和动态地配置自己。

基于容器的PaaS混合云的几种形式

概述 这是 Gartner 的一个图,提供了全球的基于容器的 PaaS 公有云、混合云服务的梳理展示: 这里提供一个其他的视角: 中国市场,基于容器的 PaaS 混合云(公有云 + 私有云)的相关厂商及产品。 ❗️ 注意: 文章目前还是初版,只是厂商和产品的一个简单罗列,后面会进一步细化。 另外由于

基于 Traefik 的激进 TLS 安全配置实践

前言 Traefik是一个现代的HTTP反向代理和负载均衡器,使部署微服务变得容易。 Traefik可以与现有的多种基础设施组件(Docker、Swarm模式、Kubernetes、Marathon、Consul、Etcd、Rancher、Amazon ECS...)集成,并自动和动态地配置自己。

基于 Traefik 的 ForwardAuth 配置

前言 Traefik 是一个现代的 HTTP 反向代理和负载均衡器,使部署微服务变得容易。 Traefik 可以与现有的多种基础设施组件(Docker、Swarm 模式、Kubernetes、Marathon、Consul、Etcd、Rancher、Amazon ECS...)集成,并自动和动态地配

基于Traefik如何实现向后转发自动去掉前缀?

实践中, 往往会有这样的需求, 用户输入的url是ewhisper.cn/alert-manager/#/alerts, 但是转发到后端要变成/#/alerts, 如何基于 Traefik on K8S 实现?

基于 Traefik 如何实现 path 末尾自动加斜杠?

前言 Traefik 是一个现代的 HTTP 反向代理和负载均衡器,使部署微服务变得容易。 Traefik 可以与现有的多种基础设施组件(Docker、Swarm 模式、Kubernetes、Marathon、Consul、Etcd、Rancher、Amazon ECS...)集成,并自动和动态地配

将git仓库从submodule转换为subtree

三个脚本 Alexander Mikhailian cat .gitmodules |while read i do if [[ $i == \[submodule* ]]; then mpath=$(echo $i | cut -d\" -f2) read i; read i; murl=$(ec

如何精简 Prometheus 的指标和存储占用

前言 随着 Prometheus 监控的组件、数量、指标越来越多,Prometheus 对计算性能的要求会越来越高,存储占用也会越来越多。 在这种情况下,要优化 Prometheus 性能, 优化存储占用. 第一时间想到的可能是各种 Prometheus 的兼容存储方案, 如 Thanos 或 VM

如何使用 Blackbox Exporter 监控 URL?

如何在 Kubernetes 中使用 Blackbox Exporter 与 Prometheus 进行 URL 监控采集、展示和告警。

使用 Bitnami Helm 安装 Kafka

服务器端 K3S 上部署 Kafka Server Kafka 安装 📚️ Quote: charts/bitnami/kafka at master · bitnami/charts (github.com) 输入如下命令添加 Helm 仓库: > helm repo add tkemarket

使用 Helm 安装 MQTT 服务器-EMQX

EMQX ℹ️ Info: 使用 EMQX 通过 Helm3 在 Kubernetes 上部署 EMQX 4.0 集群 | EMQ emqx/deploy/charts/emqx at main-v4.4 · emqx/emqx (github.com) emqx/values.yaml at ma

使用Helm部署Wikijs

使用 Helm 部署 Wiki.js 📚️ 参考文档: Wiki.js 官方文档 - 安装 - Kubernetes Wiki.js 使用 Helm 安装 Wiki.js 官方文档 - 安装 - 侧加载 官方教程 Kubernetes 开始使用 Helm Chart 在 Kubernetes 上安

使用Prometheus监控docker compose方式部署的ES

需求 收集 ES 的指标, 并进行展示和告警; 现状 ES 通过 docker compose 安装 所在环境的 K8S 集群有 Prometheus 和 AlertManager 及 Grafana 方案 复用现有的监控体系, 通过: Prometheus 监控 ES. 具体实现为: 采集端 el

为什么 java 容器推荐使用 ExitOnOutOfMemoryError 而非 HeapDumpOnOutOfMemoryError ?

前言 好久没写文章了, 今天之所以突然心血来潮, 是因为昨天出现了这样一个情况: 我们公司的某个手机APP后端的用户(customer)微服务出现内存泄露, 导致OutOfMemoryError, 但是因为经过我们精心优化的openjdk容器参数, 这次故障对用户完全无感知. :muscle::mu

我的基于 JamStack 的新博客

概述 今天心血来潮,介绍一下我的新博客站点 —— https://EWhisper.cn。 我是做基础平台 PaaS 运维和架构的,挺喜欢把工作中学到的新知识写下来、记笔记,突然有一天就抱着「资源共享、天下为公」的理念,分享我的学习心得,也能让我的文章更规范刻度。 我是从 2019 年开始折腾博客的

用 Python 脚本实现电脑唤醒后自动拍照 截屏并发邮件通知

背景 背景是这样的, 我的家里台式机常年 休眠, 并配置了 Wake On Lan (WOL) 方便远程唤醒并使用. 但是我发现, 偶尔台式机会被其他情况唤醒, 这时候我并不知道, 结果白白运行了好几天, 浪费了很多电. 所以我的需求是这样的: 🤔 电脑唤醒后(可能是开机, 有可能是从休眠状态唤醒

在 K8S Volume 中使用 subPath

使用 subPath 有时,在单个 Pod 中共享卷以供多方使用是很有用的。 volumeMounts.subPath 属性可用于指定所引用的卷内的子路径,而不是其根路径。 下面是一个使用同一共享卷的、内含 LAMP 栈(Linux Apache Mysql PHP)的 Pod 的示例。 HTML

在 NGINX 中根据用户真实 IP 进行限制

需求 需要根据用户的真实 IP 进行限制, 但是 NGINX 前边还有个 F5, 导致 deny 指令不生效. 阻止用户的真实 IP 不是 192.168.14.* 和 192.168.15.* 的访问请求. 实现 最简单的实现如下: :notebook: 前置条件: 需要 nginx 前边的 lo