Kubernetes
Kubernetes 使用 Sidecar 配置 Filebeat 收集容器日志
· ☕ 1 分钟
重要 K8s 中收集容器日志有两种模式: 模式 原理 优缺点 DaemonSet 每个 Node 部署一个日志采集 Pod,读 /var/log/containers 运维简单,但不支持自定义日志路径 Sidecar 在业务 Pod 内嵌入日志采集容

Kubernetes 弃用 API 迁移说明
· ☕ 1 分钟
重要 Kubernetes 升级时 API 版本变更会导致已有 YAML 无法 kubectl apply。记录 v1.16 ~ v1.25 的主要 API 弃用变更,迁移时对照检查。 v1.16 资源 旧 API 新 API NetworkPolicy extensions/v1beta1 networking.k8s.io/v1 PodSecurityPolicy extensions/v1beta1 policy/v1beta1 DaemonSet extensions/v1beta1, apps/v1beta2 apps/v1 Deployment extensions/v1beta1, apps/v1beta1/2 apps/v1 StatefulSet

Kubernetes[PodSecurityPolicy]-使用说明
· ☕ 5 分钟
重要 PodSecurityPolicy 已在 K8s 1.21 弃用、1.25 移除。 本文内容仅适用于 ≤1.24 的集群。 替代方案: 方案 说明 Pod Security Admission(内置) K8s 1.23+ 内置,通过 namespace label 设置 enforce/audit/warn

IngressController 启用证书透传
· ☕ 1 分钟
重要 ingress-nginx 启用 SSL Passthrough(证书透传)需要两步:部署时加 --enable-ssl-passthrough 参数,Ingress 对象中设 ssl-redirect: "false"。 环境说明

Kubernetes-ingress-nginx 配置 gRPC 服务
· ☕ 1 分钟
重要 ingress-nginx 暴露 gRPC 服务时要求必须使用 TLS。两种方案: 方案 证书位置 适用场景 gRPCS(后端 TLS) 服务端自己管理证书 微服务内部已统一证书 gRPC(

解析 K8s YAML 为 client-go 中的 data structs
· ☕ 1 分钟
重要 client-go 的 scheme.Codecs.UniversalDeserializer().Decode 可以将 YAML 字符串解码为 runtime.Object。结合 --- 分割多文档 YAML,就能一次性解析 helm get manifest 的输出。 环境说明 Helm 3 Kubernetes v1.15.6 1. 核心函数

K8s扩展-CRD概念与使用
· ☕ 4 分钟
系列导航 本系列按 K8S 扩展机制递进展开: 顺序 文章 定位 ① 本篇 - CRD 概念与使用 数据模型扩展——CRD 的定义、校验、版本管理 ② Operator 逻辑扩展——自定义控制器