Using BCC and bpftrace with Performance Co-Pilot
Using BCC and bpftrace with Performance Co-Pilot Andreas Gerstmayr October 28, 2020 Source: https://pcp.io https://github.com/iovisor/bcc https://bpftrace.org 2 eBPF Compiler Collection bpftrace bpftrace BCC high-level tracing language for eBPF Performance Co-Pilot system performance analysis toolkit Performance Co-Pilot 3 Toolkit for collecting, analyzing, visualizing and responding to the0 码力 | 4 页 | 487.04 KB | 1 年前3Using ECC Workload Certificates (pilot-agent environmental variables)
#IstioCon Using ECC Workload Certificates (pilot-agent environmental variables) Jacob Delgado / Aspen Mesh #IstioCon ECC workload certificates ● In various environments, the need for x509 certificates cryptography (using ECDSA P-256) to use this feature ● Only ECDSA P-256 is supported #IstioCon pilot-agent environmental variables Disclaimer: Environmental variables and their use are considered experimental set the ECC_SIGNATURE_ALGORITHM environmental variable on sidecar ejection to ECDSA for use by pilot-agent ○ For gateways this environmental variable also must be set on installation/upgrade #IstioCon0 码力 | 9 页 | 376.10 KB | 1 年前3Service Mesh结合容器云平台的思考和实践
队完成公司第一代基于Kubernetes的云平台开发和第 二代基于Kubernetes的DevOps云平台开发 来自于浙江大学SEL实验室目录 CONTENTS Kubernetes平台下的微服务演进 Pilot核心功能解读 Pilot-Agent核心流程解读Kubernetes平台下的微服务演进当我们在讨论微服务的时候我们在讨论什么? • 解决如何微服务的问题 • 解决微服务化后带来的问题 温饱问题 • 计算资源的快速分配 功能上的重叠 • 服务降级 • 细粒度的鉴权(服务间的调用) • RPC支持 • 跨语言的问题 • …云平台微服务演进之Service Mesh云平台微服务演进之Service Mesh Pilot Envoy • 服务发现 • Envoy生命周期管理 • Envoy配置下发 • 服务模型 • 配置模型 • 负载均衡 • 智能路由(灰度、蓝绿) • 流量管理(超时、重试、熔断) 件,内部提供了多个模块化的适配器(adapter)。 • Pilot 翻译过来是领航员,Pliot对Envoy的生命周期进行管理,同时提供了智能路由(如A/B测试、金丝雀部 署)、流量管理(超时、重试、熔断)功能。Pliot接收用户指定的高级路由规则配置,转换成Envoy的 配置,使这些规则生效。 • Istio-Auth 服务间认证和终端用户认证功能Istio的Pilot功能解析Pilot官方架构Istio – En0 码力 | 28 页 | 3.09 MB | 5 月前3Istio Security Assessment
tecture of Istio as it is deployed within common environments such as Kubernetes clusters. • Istio Pilot: The service running within the istiod service that handles service discovery. • Istio Ingress/Egress: lacks many hardening controls and should be replaced with a more secure-by-default option. • The Pilot admin interface exposes unnecessary ser- vices and is accessible to anyone within a default cluster Data Exposure 3 Data Validation 2 Component Breakdown Istio 10 Istio Sidecar 3 Istioctl 2 Pilot 3 Key Critical High Medium Low Informational 3 | Google Istio Security Assessment Google / NCC0 码力 | 51 页 | 849.66 KB | 1 年前3Local Istio Development
#IstioCon Fully Local go run ./pilot/cmd/pilot-discovery go run ./pilot/cmd/pilot-agent #IstioCon Fully Local go run ./pilot/cmd/pilot-discovery go run ./pilot/cmd/pilot-agent + Fast! Bottleneck is #IstioCon Cluster Remote Istiod, local proxy go run ./pilot/cmd/pilot-agent #IstioCon Cluster Remote Istiod, local proxy go run ./pilot/cmd/pilot-agent + Rapid iteration - Very different from production #IstioCon Local Istiod, remote proxy Cluster go run ./pilot/cmd/pilot-discovery #IstioCon Local Istiod, remote proxy Cluster go run ./pilot/cmd/pilot-discovery + All of the benefits of running Istiod0 码力 | 16 页 | 424.31 KB | 1 年前313 Istio 流量管理原理与协议扩展 赵化冰
可观察性:遥测数据、调用跟踪、服务拓扑 通信安全: 服务身份认证、访问鉴权、通信加密 Proxy Application Layer Service 1 Istio 流量管理 – 概览 • 控制面下发流量规则: Pilot • 数据面标准协议:xDS • 集群内Pod流量出入: Sidecar Proxy • 集群外部流量入口:Ingress Gateway • 集群外部流量出口:Egress Gateway(可选 balancing • Time out • Retries • Circuit breaker • Routing • Auth • Telemetry collecting 外部流量出口 外部流量入口 Pilot 2 Istio 流量管理 – 控制面 两类数据: q 服务数据(Mesh 中有哪些服务?缺省路由) v Service Registry § Kubernetes:原生支持 § Consul、Eureka Istio 流量管理 – 控制面 – 服务发现 • K8s Service : Pilot 直接支持 • ServiceEntry: 手动添加 Service 到 Pilot 内部注册表中 • WorkloadEntry:单独添加 Workload,对于虚机支持更友好 • MCP 适配器: 将第三方注册表中的服务加入到 Pilot 中 Consul MCP Adapter https://github.0 码力 | 20 页 | 11.31 MB | 5 月前3大规模微服务架构下的Service Mesh探索之路
是选择Istio,进行定制和扩展,解耦k8s国内公司的选择之三:另辟蹊径 UCloud:Service Mesh • 非常有意思的轻量ServiceMesh实践 • 从Istio中剥离Pilot和Envoy • 去掉Mixer和Auth • 定制Pilot,实现ETCD Adapter • 脱离k8s运行Sofa Mesh在技术选型时考虑 Envoy • 数据平面:Envoy最符合要求 • XDS API的设计更是令人称道 没有提供和侵入式框架互通的解决方案Sofa Mesh:istio的增强扩展版 Pilot Auth Mixer Envoy Pilot Auth Mixer Golang Sidecar Istio现有架构 Sofa Mesh架构 1. 用Golang开发 Sidecar,替代Envoy 2. Mixer被部分合 并进入Sidecar 3. Pilot/Auth 做扩展和增强 Control plane plane Control plane Data plane Data plane Mixer架构设计 Architect2Golang版Sidecar Pilot Auth Golang Sidecar Mixer XDS API Mixer Service HTTP/1.1 HTTP/2 Sofa RPC ü 参照Envoy的设计 ü 实现XDS API ü 兼容Istio0 码力 | 37 页 | 7.99 MB | 5 月前3Envoy原理介绍及线上问题踩坑
Copyright © Huawei Technologies Co., Ltd. All rights reserved. Page 6 Envoy原理及总体架构-启动 istiod Pilot-agent Pilot-agent apiServer iptables iptables Envoy client backend 8123 Virtual outbound -15001 Envoy les规则 • istio-proxy容器启动pilot-agent进程,使用UID=1337 GID=1337创建Envoy启动命令行与配置文件 • 可以通过自定义deployment内istio注解sidecar.istio.io/inject: “false”跳过自动注入过程,或修改部分启动参数。 • 2. 控制面通信 • Pilot-agent进程本身创建UDS接收Envoy连接, 用于证书更新下发。并且与istiod建立证书更新通道。 • Envoy 通过pilot-agent转发机制与istiod建立长连接,通过xDS协议接收系统下发的监听器、路由、集群节点等更新信息。 • 3. 数据面通信 • 客户端请求进入容器网络,并被iptables规则拦截,经过DNAT后进入Envoy virtualOutbound监听器 • virtualOutbound经过监听过滤器0 码力 | 30 页 | 2.67 MB | 1 年前3Performance tuning and best practices in a Knative based, large-scale serverless platform with Istio
o Istiod MEM bumped with large numbers of Knative Services (#25532) Mem usage optimization of pilot resolved this issue. • Tune CPU/MEM to ensure enough capacity Leveraged Metrics to monitor Istio Istiod. o From envoy logs, transient 503 UH "no healthy upstream" errors. o From Grafana dashboard, Pilot Pushes shows long latencies. • Detect and analyze Istio scalability issue #IstioCon o Radom peaks Knative Service provisioning o PILOT_ENABLE_EDS_DEBOUNCE=true,PILOT_DEBOUNCE_AFTER=100ms and PILOT_DEBOUNCE_MAX=10s are the env vars on pilot that can be tuned. o Set PILOT_DEBOUNCE_AFTER=1s helps under0 码力 | 23 页 | 2.51 MB | 1 年前3OpenShift Container Platform 4.8 Web 控制台
Elasticsearch operator(如果不可 用)。 MAISTRA-862 Galley 在多次命名空间删除和重新创建后丢弃了监控并停止了向其他组件提供配 置。 MAISTRA-833 Pilot 在多次命名空间删除和重新创建后停止了交付配置。 MAISTRA-684 istio-operator 中默认的 Jaeger 版本为 1.12.0,它与 Red Hat OpenShift Service SERVICE MESH 架 架构 构 9 Mixer 强制执行访问控制和使用策略(如授权、速率限制、配额、验证和请求追踪),并从 Mixer 代理服务器和其它服务收集遥测数据。 Pilot 在运行时配置代理。Pilot 为 Envoy sidecars 提供服务发现,智能路由的流量管理功能(例 如 A/B 测试或 canary 部署),以及弹性(超时、重试和电路断路器)。 Citadel 用于发布并轮转证书。Citadel OpenShift Service Mesh 中的多租户和集群范围安装的比较 多租户安装和集群范围安装之间的主要区别在于 control plane 部署使用的权限范围,比如 Galley 和 Pilot。组件不再使用集群范围的 RBAC(Role Based Access Control)资源 ClusterRoleBinding ,而是 依赖项目范围内的 binding。 members 列表中的每个项目对与0 码力 | 87 页 | 1.58 MB | 1 年前3
共 81 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9