 36-云原生监控体系建设-秦晓辉Kubernetes Node组件监控 • Kubernetes控制面组件监控 • Kubernetes资源对象的监控 • Pod内的业务应用的监控 • 业务应用依赖的中间件的监控 云原生之后监控需求的 变化 云原生之后监控需求的变化 •相比物理机虚拟机时代,基础设施动态化,Pod销毁重建非常频繁 •原来使用资产视角管理监控对象的系统不再适用 •要么使用注册中心来自动发现,要么就是采集器和被监控对象通过sidecar模式捆绑一体 看要监控的组件 Kubernetes架构 l 服务端组件,控制面:API Server、Scheduler、 Controller-Manager、ETCD l 工作负载节点,最核心就是监控Pod容器和节点本 身,也要关注 kubelet 和 kube-proxy l 业务程序,即部署在容器中的业务程序的监控,这 个其实是最重要的 随着 Kubernetes 越来越流行,几乎所有云厂商都提供 Kubernetes Node 组 件的监控 Kubernetes Node - 容器负载监控 抓取方案 • Pod或者容器的负载情况,是一个需要关注的点,容器层面主要关注CPU和内存使用情况,Pod 层面主要 关注网络IO的情况,因为多个容器共享Pod的net namespace,Pod内多个容器的网络数据相同 • 容器的监控数据可以直接通过 docker 引擎的接口读取到,也可以直接读取 cAdvisor0 码力 | 32 页 | 3.27 MB | 6 月前3 36-云原生监控体系建设-秦晓辉Kubernetes Node组件监控 • Kubernetes控制面组件监控 • Kubernetes资源对象的监控 • Pod内的业务应用的监控 • 业务应用依赖的中间件的监控 云原生之后监控需求的 变化 云原生之后监控需求的变化 •相比物理机虚拟机时代,基础设施动态化,Pod销毁重建非常频繁 •原来使用资产视角管理监控对象的系统不再适用 •要么使用注册中心来自动发现,要么就是采集器和被监控对象通过sidecar模式捆绑一体 看要监控的组件 Kubernetes架构 l 服务端组件,控制面:API Server、Scheduler、 Controller-Manager、ETCD l 工作负载节点,最核心就是监控Pod容器和节点本 身,也要关注 kubelet 和 kube-proxy l 业务程序,即部署在容器中的业务程序的监控,这 个其实是最重要的 随着 Kubernetes 越来越流行,几乎所有云厂商都提供 Kubernetes Node 组 件的监控 Kubernetes Node - 容器负载监控 抓取方案 • Pod或者容器的负载情况,是一个需要关注的点,容器层面主要关注CPU和内存使用情况,Pod 层面主要 关注网络IO的情况,因为多个容器共享Pod的net namespace,Pod内多个容器的网络数据相同 • 容器的监控数据可以直接通过 docker 引擎的接口读取到,也可以直接读取 cAdvisor0 码力 | 32 页 | 3.27 MB | 6 月前3
 25-云原生应用可观测性实践-向阳Technology Co., Ltd. All rights reserved. SLB / APIGW/ … 问题2:观测盲点 KVM switch VM iptables POD envoy 服务 KVM switch VM iptables POD envoy 服务 开发兄弟们辛苦打桩 全链路到底有多全? 业务 开发 桩 simplify the growing complexity © 2021, YUNSHAN Technology Co., Ltd. All rights reserved. 获得原力的挑战 SLB / APIGW/ … KVM switch VM iptables POD envoy 服务 KVM switch VM iptables POD envoy 服务 端点:eBPF内核依赖 路径:全链路数据关联 © 2021, YUNSHAN Networks Technology Co., Ltd. All K8s Node (VM/BM) 业务POD 业务POD 业务POD CNI vSwitch / Bridge DeepFlow 采集POD (HostNet) DaemonSet • 零干扰:无需对vSwitch和Node做任何配置、不监听任何端口 • 全自动:DaemonSet POD部署运行,随K8s自动扩展 • 零侵入:不侵入业务POD,可采集所有业务POD及本Node流量 虚拟化 - KVM0 码力 | 39 页 | 8.44 MB | 6 月前3 25-云原生应用可观测性实践-向阳Technology Co., Ltd. All rights reserved. SLB / APIGW/ … 问题2:观测盲点 KVM switch VM iptables POD envoy 服务 KVM switch VM iptables POD envoy 服务 开发兄弟们辛苦打桩 全链路到底有多全? 业务 开发 桩 simplify the growing complexity © 2021, YUNSHAN Technology Co., Ltd. All rights reserved. 获得原力的挑战 SLB / APIGW/ … KVM switch VM iptables POD envoy 服务 KVM switch VM iptables POD envoy 服务 端点:eBPF内核依赖 路径:全链路数据关联 © 2021, YUNSHAN Networks Technology Co., Ltd. All K8s Node (VM/BM) 业务POD 业务POD 业务POD CNI vSwitch / Bridge DeepFlow 采集POD (HostNet) DaemonSet • 零干扰:无需对vSwitch和Node做任何配置、不监听任何端口 • 全自动:DaemonSet POD部署运行,随K8s自动扩展 • 零侵入:不侵入业务POD,可采集所有业务POD及本Node流量 虚拟化 - KVM0 码力 | 39 页 | 8.44 MB | 6 月前3
 云原生安全威胁分析与能力建设白皮书(来源:中国联通研究院)服务对外暴露攻击................................................................................27 2.4.3 业务 pod 攻击...................................................................................... 28 2.4.4 容器网络攻击。 路径 3:攻击者对编排工具发起攻击,通过利用编排工具存在的漏洞,实现 入侵宿主机的目的。路径 3 显示针对编排工具可能存在的攻击手段,包括:攻 击 k8s 组件、服务对外暴露攻击、业务 pod 攻击、集群环境下的横向攻击、k8s 管理平台攻击和第三方组件攻击 路径 4:攻击者针对微服务发起攻击,如通过利用存在安全风险的 API 网关、 API 以及微服务应用本身,实现入侵的目的等。路径 引起的服务对外暴露风险,相应的 攻击行为即服务对外暴露攻击。 2.4.3 业务 pod 攻击 在云原生环境下,上层应用程序对攻击者来说就像是集群的一个入口,攻击 应用程序的目标就是突破入口,拿到业务环境也就是业务所在 pod 的 shell。 攻击点 6 显示的是攻击者利用 Web 服务的漏洞对 pod 发起的攻击。 Web 安全发展这么多年,可利用的漏洞非常之多,比如 Log4j2-RCE0 码力 | 72 页 | 2.44 MB | 1 年前3 云原生安全威胁分析与能力建设白皮书(来源:中国联通研究院)服务对外暴露攻击................................................................................27 2.4.3 业务 pod 攻击...................................................................................... 28 2.4.4 容器网络攻击。 路径 3:攻击者对编排工具发起攻击,通过利用编排工具存在的漏洞,实现 入侵宿主机的目的。路径 3 显示针对编排工具可能存在的攻击手段,包括:攻 击 k8s 组件、服务对外暴露攻击、业务 pod 攻击、集群环境下的横向攻击、k8s 管理平台攻击和第三方组件攻击 路径 4:攻击者针对微服务发起攻击,如通过利用存在安全风险的 API 网关、 API 以及微服务应用本身,实现入侵的目的等。路径 引起的服务对外暴露风险,相应的 攻击行为即服务对外暴露攻击。 2.4.3 业务 pod 攻击 在云原生环境下,上层应用程序对攻击者来说就像是集群的一个入口,攻击 应用程序的目标就是突破入口,拿到业务环境也就是业务所在 pod 的 shell。 攻击点 6 显示的是攻击者利用 Web 服务的漏洞对 pod 发起的攻击。 Web 安全发展这么多年,可利用的漏洞非常之多,比如 Log4j2-RCE0 码力 | 72 页 | 2.44 MB | 1 年前3
 构建统一的云原生应用 可观测性数据平台看云网更清晰 Simplify the growing complexity. 数据打通并不简单 ② 应用、系统、网络的Metrics之间 例如:某个Service的Pod的QPS、IOPS、BPS分别是多少? 例如:Pod所在的KVM宿主机的CPU、内存指标? ② 看云网更清晰 Simplify the growing complexity. 数据打通并不简单 ③ Metrics与「非Aggregatable」的Log 混合云环境下的资源属性还有哪些 HOST KVM KVM VM L2GW、OvS iptables、ipvs POD POD envoy 应用进程 HOST KVM KVM VM L2GW、OvS iptables、ipvs POD POD envoy 应用进程 Gateway L4~L7 GW 资源池 区域 可用区 云平台 租户 云资源 宿主机 云服务器 Deployment StatefulSet ReplicaSet POD DeepFlow的典型客户环境中,两个微服务通信涉及到的标签多达上百个 Namespace Service Service Deployment Pod Container Node Cluster Ingress Deployment Pod Container 服务 app version env group0 码力 | 35 页 | 6.75 MB | 1 年前3 构建统一的云原生应用 可观测性数据平台看云网更清晰 Simplify the growing complexity. 数据打通并不简单 ② 应用、系统、网络的Metrics之间 例如:某个Service的Pod的QPS、IOPS、BPS分别是多少? 例如:Pod所在的KVM宿主机的CPU、内存指标? ② 看云网更清晰 Simplify the growing complexity. 数据打通并不简单 ③ Metrics与「非Aggregatable」的Log 混合云环境下的资源属性还有哪些 HOST KVM KVM VM L2GW、OvS iptables、ipvs POD POD envoy 应用进程 HOST KVM KVM VM L2GW、OvS iptables、ipvs POD POD envoy 应用进程 Gateway L4~L7 GW 资源池 区域 可用区 云平台 租户 云资源 宿主机 云服务器 Deployment StatefulSet ReplicaSet POD DeepFlow的典型客户环境中,两个微服务通信涉及到的标签多达上百个 Namespace Service Service Deployment Pod Container Node Cluster Ingress Deployment Pod Container 服务 app version env group0 码力 | 35 页 | 6.75 MB | 1 年前3
 24-云原生中间件之道-高磊设备以及软件的攻击,是高级的安全保障技术。 TEE是运行态主动防护的高级手段,对高安全生产 环境建议使用。 成本较高,所以要视业务场景要求取舍。 Mesh零信任 mTLS服务间访问授权,主要针对Pod层WorkLod的访问控制 应用透明,全局管理视角,细粒度安全策略 Check&Report机制影响通信性能,并只涉及到服务 通信级别的安全,对node没有防护 Calico零信任 主要针对Node 的诉求性质了,所以这里我直接给出对云原生存储的要求 1. 敏捷化需求 • 云原生应用场景对服务的敏捷度、灵活性要求非常高,很多场景期望容器的快速启动、灵活的调度,这样即需要存储卷也能敏捷的根据 Pod 的变化而调整。 需求表现在: • 云盘挂载、卸载效率提高:可以灵活的将块设备在不同节点进行快速的挂载切换; • 存储设备问题自愈能力增强:提供存储服务的问题自动修复能力,减少人为干预; CPFS、GPFS 等高性能存储服务满足业务需求; • 容器编排层面:优化存储调度能力,实现存储就近访问、数据分散存储等方式降低单个存储卷的访问压力。 4. 共享存储的隔离性 • 共享存储提供了多个 Pod 共享数据的能力,方便了不同应用对数据的统一管理、访问,但在多租的场景中,不同租户对存储的隔离性需求 成为一个需要解决的问题。 具体需求 • 底层存储提供目录间的强隔离能力,让共享文件系统的不同租户之间实现文件系统级别的隔离效果。0 码力 | 22 页 | 4.39 MB | 6 月前3 24-云原生中间件之道-高磊设备以及软件的攻击,是高级的安全保障技术。 TEE是运行态主动防护的高级手段,对高安全生产 环境建议使用。 成本较高,所以要视业务场景要求取舍。 Mesh零信任 mTLS服务间访问授权,主要针对Pod层WorkLod的访问控制 应用透明,全局管理视角,细粒度安全策略 Check&Report机制影响通信性能,并只涉及到服务 通信级别的安全,对node没有防护 Calico零信任 主要针对Node 的诉求性质了,所以这里我直接给出对云原生存储的要求 1. 敏捷化需求 • 云原生应用场景对服务的敏捷度、灵活性要求非常高,很多场景期望容器的快速启动、灵活的调度,这样即需要存储卷也能敏捷的根据 Pod 的变化而调整。 需求表现在: • 云盘挂载、卸载效率提高:可以灵活的将块设备在不同节点进行快速的挂载切换; • 存储设备问题自愈能力增强:提供存储服务的问题自动修复能力,减少人为干预; CPFS、GPFS 等高性能存储服务满足业务需求; • 容器编排层面:优化存储调度能力,实现存储就近访问、数据分散存储等方式降低单个存储卷的访问压力。 4. 共享存储的隔离性 • 共享存储提供了多个 Pod 共享数据的能力,方便了不同应用对数据的统一管理、访问,但在多租的场景中,不同租户对存储的隔离性需求 成为一个需要解决的问题。 具体需求 • 底层存储提供目录间的强隔离能力,让共享文件系统的不同租户之间实现文件系统级别的隔离效果。0 码力 | 22 页 | 4.39 MB | 6 月前3
 Volcano加速金融行业大数据分析平台云原生化改造的应用实践华为云 Volcano 社区核心贡献者 大数据平台云原生面临的挑战 传统大数据平台云原生化改造成为必然趋势 大数据分析、人工智能等批量计算场景深度应用于金融场景 作业管理缺失 • Pod级别调度,无法感知上层应用 • 缺少作业概念、缺少完善的生命周期的管理 • 缺少任务依赖、作业依赖支持 调度策略局限 • 不支持Gang-scheduling、Fair-share scheduling network relevant info for running, # hosts, headless services etc. svc: [] # restart who job if any pod get evicted policies: - event: PodEvicted action: RestartJob tasks: - replicas: 1 name: mpimaster PreemptableFn JobReadyFn backfill JobInfos NodeInfos JobInfo PodGroup Pod PodGroup Pod Job JobSpec PodGroup Pod PodGroup Pod JobInfo Predicate, allocate, preempt are Actions, and they’re pluggable0 码力 | 18 页 | 1.82 MB | 1 年前3 Volcano加速金融行业大数据分析平台云原生化改造的应用实践华为云 Volcano 社区核心贡献者 大数据平台云原生面临的挑战 传统大数据平台云原生化改造成为必然趋势 大数据分析、人工智能等批量计算场景深度应用于金融场景 作业管理缺失 • Pod级别调度,无法感知上层应用 • 缺少作业概念、缺少完善的生命周期的管理 • 缺少任务依赖、作业依赖支持 调度策略局限 • 不支持Gang-scheduling、Fair-share scheduling network relevant info for running, # hosts, headless services etc. svc: [] # restart who job if any pod get evicted policies: - event: PodEvicted action: RestartJob tasks: - replicas: 1 name: mpimaster PreemptableFn JobReadyFn backfill JobInfos NodeInfos JobInfo PodGroup Pod PodGroup Pod Job JobSpec PodGroup Pod PodGroup Pod JobInfo Predicate, allocate, preempt are Actions, and they’re pluggable0 码力 | 18 页 | 1.82 MB | 1 年前3
 22-云原生的缘起、云原生底座、PaaS 以及 Service Mesh 等之道-高磊标准化能力-分布式操作系统核心-容器服务-Operator API Server Kubectl Controller Pod,Deploymen t,etc. API Server Kubectl Custom Controller Custom Resource(CR) Operator机制 Pod,Deployment, etc Spec (K8s Yaml) Custom Resource Spec 看,整个 数字化转型的一些困难就是处于在技术上的碎片化,为云原生彻底发挥对极端变化的适应性价值还有很多障碍。 在统一的K8s管理面下, 通过一种代理容器(内置 了管理虚拟机的逻辑) 来启动虚拟化Pod, 此时可以同时在统一的 容器云平台下运行微服 务化容器化或者未容器 化的传统软件了; 另一个方向是,将底层计 算、存储和网络进行超融 合,提供极其简单的底层 运维能力,进一步简化云 原生+资源层整体运维和 颈点,所以需要根据业务规模进行容量和稳定性治理,那么就需要通 过定制化一套CRD声明管理控制器,控制器根据POD实例情况来通知 k8s调度对齐进行容量和稳定性治理 网关上容器云之后,面临一个隐含的问题,就是K8s或 者其他容器云都具备自己的流量网关,而ServiceMesh 也有自己的网关组件(比如Istio的Istio Gateway Pod), 对于用户需要维护两个网关,明显是感觉奇怪的,但 是问题往往没有那么简单。0 码力 | 42 页 | 11.17 MB | 6 月前3 22-云原生的缘起、云原生底座、PaaS 以及 Service Mesh 等之道-高磊标准化能力-分布式操作系统核心-容器服务-Operator API Server Kubectl Controller Pod,Deploymen t,etc. API Server Kubectl Custom Controller Custom Resource(CR) Operator机制 Pod,Deployment, etc Spec (K8s Yaml) Custom Resource Spec 看,整个 数字化转型的一些困难就是处于在技术上的碎片化,为云原生彻底发挥对极端变化的适应性价值还有很多障碍。 在统一的K8s管理面下, 通过一种代理容器(内置 了管理虚拟机的逻辑) 来启动虚拟化Pod, 此时可以同时在统一的 容器云平台下运行微服 务化容器化或者未容器 化的传统软件了; 另一个方向是,将底层计 算、存储和网络进行超融 合,提供极其简单的底层 运维能力,进一步简化云 原生+资源层整体运维和 颈点,所以需要根据业务规模进行容量和稳定性治理,那么就需要通 过定制化一套CRD声明管理控制器,控制器根据POD实例情况来通知 k8s调度对齐进行容量和稳定性治理 网关上容器云之后,面临一个隐含的问题,就是K8s或 者其他容器云都具备自己的流量网关,而ServiceMesh 也有自己的网关组件(比如Istio的Istio Gateway Pod), 对于用户需要维护两个网关,明显是感觉奇怪的,但 是问题往往没有那么简单。0 码力 | 42 页 | 11.17 MB | 6 月前3
 14-Chaos Mesh 在网易伏羲私有云自动化故障注入实践-张慧 Mesh在网易伏羲的实践 Chaos Mesh在网易伏羲的实践 比如:节点异常 定时触发宕机 chmod u+x chaos-node.sh 比如:static pod 异常 定时 mv statics-pod.yaml Chaos Mesh在网易伏羲的实践 提前暴露30+风险问题 Chaos Mesh在网易伏羲的实践 For FuXi , 结合流量回放在测试环境0 码力 | 25 页 | 3.33 MB | 6 月前3 14-Chaos Mesh 在网易伏羲私有云自动化故障注入实践-张慧 Mesh在网易伏羲的实践 Chaos Mesh在网易伏羲的实践 比如:节点异常 定时触发宕机 chmod u+x chaos-node.sh 比如:static pod 异常 定时 mv statics-pod.yaml Chaos Mesh在网易伏羲的实践 提前暴露30+风险问题 Chaos Mesh在网易伏羲的实践 For FuXi , 结合流量回放在测试环境0 码力 | 25 页 | 3.33 MB | 6 月前3
 (四)基于Istio on Kubernetes 云原生应用的最佳实践 - Alibaba Cloud K8S Playground服务的版本v1. 定义 Ingress gateway 1 kubectl apply -f gateway.yaml 确认所有的服务和 Pod 都已经正确的定义和启动 确认所有的服务已经正确的定义和启动 1 kubectl get services 确认所有的Pod 都已经正确的定义和启动 1 kubectl get pods 确认⽹网关创建完成 1 kubectl get gateway0 码力 | 6 页 | 1.33 MB | 1 年前3 (四)基于Istio on Kubernetes 云原生应用的最佳实践 - Alibaba Cloud K8S Playground服务的版本v1. 定义 Ingress gateway 1 kubectl apply -f gateway.yaml 确认所有的服务和 Pod 都已经正确的定义和启动 确认所有的服务已经正确的定义和启动 1 kubectl get services 确认所有的Pod 都已经正确的定义和启动 1 kubectl get pods 确认⽹网关创建完成 1 kubectl get gateway0 码力 | 6 页 | 1.33 MB | 1 年前3
 云原生微服务最佳实践运维成本上升 • 可定位性变差 • 快速迭代难以控制风险 阿里微服务解法和优势 MSE微服务引擎 Nacos Ingress(Envoy) 云原⽣⽹关 Sentinel 用户容器 用户POD Tracing Prometheus 全链路压测 PTS AHAS ARMS ACK/ASK 调度+弹性 解法 • 提供完整微服务产品矩阵 • 通过 MSE 解决微服务最 核心服务发现和配置管理, MSE微服务引擎 Nacos Ingress(Envoy) 云原⽣⽹关 服务治理 ASM 服务⽹格 Istio 控制面 MCP 流量治理 业务进程 Envoy Sidecar 用户POD 应用多活最佳实践 MSE微服务引擎 Nacos 云原⽣⽹关 异地多活 管控 MSHA Nacos MSE微服务引擎 Nacos 云原⽣⽹关 Nacos 用户VPC 业务节点0 码力 | 20 页 | 6.76 MB | 1 年前3 云原生微服务最佳实践运维成本上升 • 可定位性变差 • 快速迭代难以控制风险 阿里微服务解法和优势 MSE微服务引擎 Nacos Ingress(Envoy) 云原⽣⽹关 Sentinel 用户容器 用户POD Tracing Prometheus 全链路压测 PTS AHAS ARMS ACK/ASK 调度+弹性 解法 • 提供完整微服务产品矩阵 • 通过 MSE 解决微服务最 核心服务发现和配置管理, MSE微服务引擎 Nacos Ingress(Envoy) 云原⽣⽹关 服务治理 ASM 服务⽹格 Istio 控制面 MCP 流量治理 业务进程 Envoy Sidecar 用户POD 应用多活最佳实践 MSE微服务引擎 Nacos 云原⽣⽹关 异地多活 管控 MSHA Nacos MSE微服务引擎 Nacos 云原⽣⽹关 Nacos 用户VPC 业务节点0 码力 | 20 页 | 6.76 MB | 1 年前3
共 15 条
- 1
- 2













