Cilium 命令行工具完全指南:从基础到高级使用技巧
前言
Cilium 作为云原生网络领域的佼佼者,提供了强大的命令行工具来管理和监控网络环境。本文将全面介绍 Cilium CLI 的使用方法,帮助开发者和运维人员高效地管理 Cilium 网络环境。
Cilium CLI 基础
Cilium 命令行工具是一个统一的接口,通过子命令系统提供丰富的功能。基本命令结构如下:
cilium [子命令] [选项]
常用基础命令
- 查看状态 - 快速检查 Cilium 代理运行状态
cilium status
- 详细状态检查 - 获取包括控制器状态在内的全面信息
cilium status --all-controllers --all-health --all-redirects
- 配置查看 - 显示当前代理配置
cilium config
高级输出格式
JSON 输出
Cilium 支持 JSON 格式输出,便于自动化处理:
cilium endpoint list -o json
JSONPath 查询
更精确地提取特定字段:
# 提取所有端点ID
cilium endpoint list -o jsonpath='{[*].id}'
# 提取端点ID和策略状态
cilium endpoint list -o jsonpath='{range [*]}{@.id}{"="}{@.status.policy.spec.policy-enabled}{"\n"}{end}'
实用功能
Shell 自动补全
提高命令行效率的利器:
# 临时启用
source <(cilium completion)
# 永久启用(bash用户)
echo "source <(cilium completion)" >> ~/.bashrc
策略管理
网络策略操作
- 导入策略:
cilium policy import my-policy.json
- 查看策略:
cilium policy get
- 删除所有策略:
cilium policy delete --all
监控与排错
实时监控
- 基础监控:
cilium monitor
- 详细监控:
cilium monitor -v
- 数据包分析:
cilium monitor -v -v
高级过滤
- 按端点过滤:
cilium monitor --related-to=<端点ID>
- 仅显示丢弃的数据包:
cilium monitor --type drop
- 十六进制显示:
cilium monitor -v -v --hex
端点管理
- 列出所有端点:
cilium endpoint list
- 获取端点详情:
cilium endpoint get <ID>
- 查看端点日志:
cilium endpoint log <ID>
- 启用调试:
cilium endpoint config <ID> Debug=true
负载均衡
- 服务列表:
cilium service list
- BPF层查看:
cilium bpf lb list
eBPF 相关操作
- 隧道映射:
cilium bpf tunnel list
- 连接跟踪:
# 列出连接
sudo cilium bpf ct list global
# 清空连接
sudo cilium bpf ct flush
- 验证器日志检查:
journalctl -u cilium | grep -B20 -F10 Verifier
Kubernetes 集成
策略管理
- 查看网络策略:
kubectl get netpol
- 查看Cilium策略:
kubectl get cnp
端点管理
- 列出所有Cilium端点:
kubectl get cep
- 端点详情查询:
kubectl get cep <端点名称> -o json
结语
掌握 Cilium 命令行工具是高效管理云原生网络环境的关键。本文涵盖了从基础到高级的各种使用场景,希望能帮助您在日常工作中更有效地使用 Cilium。随着对工具的深入理解,您将能够更快速地诊断问题、优化配置并确保网络环境的稳定运行。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考