详细介绍
部署指南
手工部署
部署前的准备工作
部署 ETCD
部署 Master
部署 Worker 节点
部署附加组件
部署附加组件部署指南
手工部署
部署前的准备工作
部署 ETCD
部署 Master
部署 Worker 节点
部署附加组件
部署附加组件
部署 CoreDNS
以 Daemonset 方式部署 kube-proxy
常见应用部署
ElasticSearch 与 Kibana
使用 elastic-oparator 部署
集群方案
网络方案
Flannel
部署 Flannel
运行时方案
Containerd
安装 containerd
Ingress 方案
Nginx Ingress
安装 nginx ingress controller
Traefik Ingress
安装 traefik ingress controller
Metrics 方案
安装 metrics server
最佳实践
服务高可用
本地 DNS 缓存
泛域名动态转发 Service
集群权限控制
利用 CSR API 创建用户
控制用户权限
控制应用权限
实用工具和技巧
kubectl 高效技巧
实用 yaml 片段
实用命令与脚本
证书管理
安装 cert-manager
使用 cert-manager 自动生成证书
集群配置管理
Helm
安装 Helm
Helm V2 迁移到 V3
大规模集群优化
排错指南
问题排查
Pod 排错
Pod 一直处于 Pending 状态
Pod 一直处于 ContainerCreating 或 Waiting 状态
Pod 一直处于 CrashLoopBackOff 状态
Pod 一直处于 Terminating 状态
Pod 一直处于 Unknown 状态
Pod 一直处于 Error 状态
Pod 一直处于 ImagePullBackOff 状态
Pod 一直处于 ImageInspectError 状态
Pod 健康检查失败
容器进程主动退出
网络排错
LB 健康检查失败
DNS 解析异常
Service 不通
Service 无法解析
网络性能差
集群排错
Node 全部消失
Daemonset 没有被调度
经典报错
no space left on device
arp_cache: neighbor table overflow!
Cannot allocate memory
其它排错
Job 无法被删除
kubectl 执行 exec 或 logs 失败
内核软死锁
处理实践
高负载
内存碎片化
磁盘爆满
inotify watch 耗尽
PID 耗尽
arp_cache 溢出
踩坑总结
cgroup 泄露
tcp_tw_recycle 引 发丢包
使用 oom-guard 在用户态处理 cgroup OOM
no space left on device
案例分享
驱逐导致服务中断
DNS 5 秒延时
arp_cache 溢出导致健康检查失败
跨 VPC 访问 NodePort 经常超时
访问 externalTrafficPolicy 为 Local 的 Service 对应 LB 有时超时
Pod 偶尔存活检查失败
DNS 解析异常
Pod 访问另一个集群的 apiserver 有延时
LB 压测 NodePort CPS 低
kubectl edit 或者 apply 报 SchemaError
排错技巧
分析 ExitCode 定位 Pod 异常退出原因
容器内抓包定位网络问题
使用 Systemtap 定位疑难杂症
Go 语言编译原理与优化
部署 CoreDNS
以 Daemonset 方式部署 kube-proxy
常见应用部署
ElasticSearch 与 Kibana
使用 elastic-oparator 部署
集群方案
网络方案
Flannel
部署 Flannel
运行时方案
Containerd
安装 containerd
Ingress 方案
Nginx Ingress
安装 nginx ingress controller
Traefik Ingress
安装 traefik ingress controller
Metrics 方案
安装 metrics server
最佳实践
服务高可用
本地 DNS 缓存
泛域名动态转发 Service
集群权限控制
利用 CSR API 创建用户
控制用户权限
控制应用权限
实用工具和技巧
kubectl 高效技巧
实用 yaml 片段
实用命令与脚本
证书管理
安装 cert-manager
使用 cert-manager 自动生成证书
集群配置管理
Helm
安装 Helm
Helm V2 迁移到 V3
大规模集群优化
排错指南
问题排查
Pod 排错
Pod 一直处于 Pending 状态
Pod 一直处于 ContainerCreating 或 Waiting 状态
Pod 一直处于 CrashLoopBackOff 状态
Pod 一直处于 Terminating 状态
Pod 一直处于 Unknown 状态
Pod 一直处于 Error 状态
Pod 一直处于 ImagePullBackOff 状态
Pod 一直处于 ImageInspectError 状态
Pod 健康检查失败
容器进程主动退出
网络排错
LB 健康检查失败
DNS 解析异常
Service 不通
Service 无法解析
网络性能差
集群排错
Node 全部消失
Daemonset 没有被调度
经典报错
no space left on device
arp_cache: neighbor table overflow!
Cannot allocate memory
其它排错
Job 无法被删除
kubectl 执行 exec 或 logs 失败
内核软死锁
处理实践
高负载
内存碎片化
磁盘爆满
inotify watch 耗尽
PID 耗尽
arp_cache 溢出
踩坑总结
cgroup 泄露
tcp_tw_recycle 引 发丢包
使用 oom-guard 在用户态处理 cgroup OOM
no space left on device
案例分享
驱逐导致服务中断
DNS 5 秒延时
arp_cache 溢出导致健康检查失败
跨 VPC 访问 NodePort 经常超时
访问 externalTrafficPolicy 为 Local 的 Service 对应 LB 有时超时
Pod 偶尔存活检查失败
DNS 解析异常
Pod 访问另一个集群的 apiserver 有延时
LB 压测 NodePort CPS 低
kubectl edit 或者 apply 报 SchemaError
排错技巧
分析 ExitCode 定位 Pod 异常退出原因
容器内抓包定位网络问题
使用 Systemtap 定位疑难杂症
Go 语言编译原理与优化