containerd 1.5开始引入config_path方式,也就是子配置文件的方式
对比项
老方式(config.toml 内联)
新方式(config_path + certs.d)
配置组织
所有仓库堆在一个 config.toml
每仓库一个目录,拆成独立 hosts.toml
生效方式
改完必须重启 containerd
读取时生效,不需重启
故障半径
改坏一个字节 → 整个 containerd 起不来
改坏只影响对应仓库,其余照常
配置粒度
tls/证书按仓库全局配
每个 host 块独立配证书、skip_verify
capabil...
在默认情况下,kubespray会使用默认路由的网卡作为集群节点的IP。如果没有特别留意的情况下,业务网卡192是默认路由,导致k8s集群搭建后使用业务网卡作为集群节点IP如果后续需要加入新的worker节点,且节点只有188网段网卡,就需要进行调整否则kubelet按kubelet.conf连192段的apiserver就会失败(kubelet 校验 apiserver 证书时,按 kubeconfig 里 server 的地址对 SAN)关于iptables相关知识回顾:https://akemi.zj.cn/2026/02/11/Linux-iptables/
1234567891...
背景macvlan核心是在主机网卡上克隆出带不同mac和ip的mac网卡,交换机可以直接访问mac网卡,不需要通过宿主机转发(类似于esxi VCSA的vm的访问方式)在中国xx这种规模的企业中,我们的k8s集群的业务pod使用macvlan网络,其目的一方面是降低封装与转发的性能开销,一方面方便CMDB管理、方便防火墙做ACL规则。我们分配给业务可以直接分配管理网段,然后通过macvlan进行ip的分配
12345678910111213K8s macvlan CNI 插件 ↓ 调用Linux 内核的 macvlan 特性 ↓ 操作宿主机的物理网卡Linux版本(手动): ...
文档地址:Traefik Proxy Documentation - TraefikKubernetes and Traefik Quick Start - Traefik
123456789101112131415161718192021222324252627 ┌─────────────────────────────────────────────┐ 请求进来 ─────▶ │ EntryPoint(入口点) │ │ web:8000 web...
基础概念APISIX 在 K8s 中分两个面:
数据面(Data Plane)
控制面(Control Plane)
用途
处理用户流量,路由+插件+转发
管理路由/插件/证书配置
端口
80/443
9180(Admin API)
谁访问
外部用户
Ingress Controller
部署方式
DaemonSet + hostNetwork
Deployment
12345678910111213K8s Ingress/APISIXRoute 资源 │ ▼Ingress Controller(翻译官,...
我们公司有产品用的是这个组件,之前一直没有接触过,补一下
参考文档:https://apisix.apache.org/zh/docs/
API网关产品横向对比
产品
底层
配置存储
特点
适合谁
Kong
OpenResty
PostgreSQL
老牌霸主,生态最大,企业版功能强
大公司、要商业支持
Traefik
Go
文件/Consul/K8s
云原生、自动发现、配置简单
中小团队、快速上手
Spring Cloud Gateway
Java/Netty
配置文件
Java 生态亲和,和 Spring 无缝
Java 微服务项目
...
CNCF 开源项目,把 K8s Worker 节点上的本地/远程存储转为 Persistent Volume,以下是这几种方案的对比
维度
Local PV Hostpath
Local PV LVM
Local PV ZFS
Replicated PV Mayastor
底层技术
文件系统目录 (Ext4/XFS)
LVM 逻辑卷
ZFS 文件系统
SPDK + NVMe-oF
存储类型
文件存储
块存储
文件+块存储
块存储
数据副本
1份(单节点)
1份(单节点)
1份(单节点)
2+份(跨节点同步)
节点故障容忍
❌
❌
❌
✅
快...
集中监控方案对比
维度
Prometheus
Zabbix
夜莺 N9E
数据采集
✅ 自己拉取(pull)
✅ 自己采集(agent)
❌ 不做采集,靠外部
数据存储
✅ 本地 TSDB
✅ 自带数据库
❌ 不存数据,接外部库
查询语言
PromQL
自有查询
用数据源的查询语言
可视化
基础
中等
基础(官方建议用 Grafana)
告警引擎
Alertmanager
内置
✅ 这是核心
通知渠道
几种(需要配置)
几十种
20种内置
告警自愈
❌
✅
✅
多数据源
❌ 只管自己
❌ 只管自己
✅ Prom/ES/Loki...
特性
说明
无守护进程
不需要 dockerd,构建过程独立运行
Rootless
非 root 用户也能构建镜像
无需 Dockerfile
可用 shell 脚本式构建(buildah run、buildah config)
OCI 兼容
构建的镜像可直接用于 Docker/K8s
镜像外构建
构建工具不打包进镜像,体积更小
多阶段构建
支持,可显著减小最终镜像
我用它主要是想构建多架构的镜像,其实使用docker应该也可以,但是docker感觉更像一个临时性的工具,肯定是不如Buildah的
参考文档:Buildah
目前最新版是1.4...
本文将学习单机与高可用PG集群的部署,以及通过harbor看Patroni + K8s ConfigMap
PG 部署形态谱(从简到复杂)准备学习1和3层,4-5是DBA干的事
层级
方案
适用场景
复杂度
1
单机 + 定期备份
开发/测试,数据不重要
⭐
2
主备流复制(异步/同步)
小规模生产,手动切换
⭐⭐
3
自动故障转移集群
生产环境标准方案
⭐⭐⭐
4
读写分离
读多写少,需要分担压力
⭐⭐⭐⭐
5
分布式水平扩展
超大规模,单机扛不住
⭐⭐⭐⭐⭐
6
云托管 RDS
不想运维,花钱省事
⭐
PG单机部署二进制部署12...