Service Mesh的实践分享
Service Registry API Gateway 健康检查 服务注册 Registry agent 服务发现 HTTP/JSON HTTP/JSON容器化 • Proxy Daemonset • 每台宿主机一台Proxy • Proxy地址文件 • Mount到所有pod • 客户端容器监听文件,根据地 址文件找Proxy • 切换地址到remote proxy,轻 易实现优雅退出和滚动升级 易实现优雅退出和滚动升级 • 增强隔离性 • Local Proxy被pod共享 • 自保护,对来源方限流和流量 转移 • 资源适配 • 根据宿主机的硬件配置定制不 同资源配置的Daemonset Local Proxy Pod 写入地址 监听变化 宿主机 Proxy address File Pod Remote Proxy Cluster 主流量 备用或限流 件会给自定义需求带来障碍。 • 保持客户端选择proxy的自由度和灵活性,在我们的实践中好处大 于坏处胖客户端 vs. service mesh vs. cluster 胖客户端 Sidecar(物理机) Daemonset(云) Cluster(HTTP) 接入难度 容易。打入依赖包即可 容易。需依赖SDK 容易。需依赖SDK 编码难度 容易。IDL接口规范 容易。IDL接口规范 难。需要自行处理HTTP请求和0 码力 | 30 页 | 4.80 MB | 5 月前336-云原生监控体系建设-秦晓辉
{ 抓取方案二 } • 直接调用 kubelet 的接口 /metrics/cadvisor ,不走 apiserver 这个 proxy,避免对 apiserver 的请求压力 • 采用 Daemonset 的方式部署 • 但是,缺少了对 __meta_kubernetes_node_label_(.+) 的 labelmap,即:通过这种方式采集的数据,我们无法得到 node 上的 label config.toml 中的 hostname=“$ip” 即可 完整配置可以参考: https://github.com/flashcatcloud/categraf/blo b/main/k8s/daemonset.yaml Kubernetes Node - 容器负载监控 关键指标 CPU使用率,分子是每秒内容器用了多少CPU 时间,分母是每秒内被限制使用多少CPU时间 sum( irate(co status_scheduled、container_status_waiting、 container_status_terminated_reason 等指标 • CronJob Metrics • DaemonSet Metrics • Deployment Metrics • Job Metrics • LimitRange Metrics • Node Metrics • PersistentVolume0 码力 | 32 页 | 3.27 MB | 6 月前325-云原生应用可观测性实践-向阳
(VM/BM) 业务POD 业务POD 业务POD CNI vSwitch / Bridge DeepFlow 采集POD (HostNet) DaemonSet • 零干扰:无需对vSwitch和Node做任何配置、不监听任何端口 • 全自动:DaemonSet POD部署运行,随K8s自动扩展 • 零侵入:不侵入业务POD,可采集所有业务POD及本Node流量 虚拟化 - KVM 业务VM 业务VM0 码力 | 39 页 | 8.44 MB | 6 月前3深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统
MutatingWebhook + 资源 Update 操作会给运行时环境带来不可控破坏,尽量避免使用这种组合 • 任何 controllers 都应该使用 informers,并且对写操作配置合理限流 • DaemonSet 非常高阶,尽量不要采用这类设计,如果必需请在 Kubernetes 专家的辅导下使用;15/19 弹性资源建站 Part 2:双十一 Kubernetes 实践16/19 三、展望未来,迎接挑战0 码力 | 19 页 | 2.18 MB | 5 月前3
共 4 条
- 1