Service Mesh 在蚂蚁金服生产级安全实践UDS 通信方案,Istio的 方案证书管理流程由 Citadel , Citadel Agent , Pilot 协同完成 Pilot 负责 UDS 路径配置下发,用户通过 Policy CRD 和 DestinationRule 来决策需要给哪些 Sidecar 下发 Sidecar 收到SDS Config 后,然后以 JWT 格式封装身份信息(service account)向Citadel 身份服务构建敏感数据下发通道 密钥更新通道 安全Sidecar 的认证能力中依赖密钥等敏感信 息,在参考社区SDS方案的基础上,实现敏感 信息的管理及安全下发通道。 用户将密钥等信息通过CRD方式提交至K8s, 通过K8s的RBAC方式控制访问权限 拓展Citadel Watch 密钥相关的CR,筛选后 下发至对应的Citadel Agent节点 安全Sidecar 与 Citadel 通信场景下,为保证平滑无损的TLS切换能力,需 要分别控制 Server (Provider) 和 Client (Consumer)端的 TLS 行为 对于Server 端利用Istio 的Policy CRD 实现 Namespace + Service 粒度的开关控制 对于Client 端理想情况下,希望是通过Istio 的 DestinationRule 和 VirtualService 来控制。但由于相0 码力 | 19 页 | 808.60 KB | 6 月前3
深入 Kubernetes 的无人区-蚂蚁金服双十一的调度系统Agent Pod 资源 Node 分时调度 Agent Pod 资源 容量平台 监控平台 巡检平台 流量控制 流量平台 配置中心 流量控制器 流量状态CRD 资源状态CRD 资源及流量控制CRD 资源控制 分时调度 控制器 Pod 资源 Pod 资源 Pod 资源10/19 Part 2:资源分时调度 分时切换效果 数万台 应用 Pods 分钟级 链路切换 2:双十一 Kubernetes 实践14/19 Operator开发者最佳实践 Part 2:双十一 Kubernetes 实践 • CRD 在定义时需要明确未来的最大数量,大量CR 业务最好采用 aggregate-apiserver 进行扩展 • CRD 必须 Namespaced scope,以控制影响范围 • MutatingWebhook + 资源 Update 操作会给运行时环境带来不可控破坏,尽量避免使用这种组合0 码力 | 19 页 | 2.18 MB | 6 月前3
Best practices for building Kubernetes Operatorsthoughts? ● Useful linksControllers, Operators? What are those?CRDsCRDs ● New RESTful resource path per CRD version ● CRDs/Resources are CRUD ● CR can be namespaced or cluster-scoped ● CRDs are cluster-scoped cluster-scoped ● Deleting a namespace with CRs results with cascading deletion of those CRs ● The name of a CRD object must be a valid DNS subdomain name ● CRDs are automatically added with bunch of features ○ ry/2876-crd-validation-expression-language/README.mdValidation rules - Common Expression Language (CEL) https://github.com/kubernetes/enhancements/blob/master/keps/sig-api-machinery/2876-crd-validati0 码力 | 36 页 | 2.19 MB | 6 月前3
Operator Pattern 用 Go 扩展 Kubernetes 的最佳实践回到初(qi)心(dian) KubeBlocks Maintainer & 研发总监 free6om 什么是 Operator 第一部分 Operator 前世今生 TPR Operator CRD Operator Pattern 2015.11 2016.12 2017.12 Now K8s 1.1 版本中正式推出 TPR (ThirdPartyResource),首次尝 试解决 K8s 版本发布,CRD进入 beta 阶段并正式取代 TPR; controller-runtime 加入 K8s 社 区并正式发布; 自此,CRD + controller-runtime 逐渐成为开发 operator 的首选 Operator Pattern 是官方定义的标准扩 展机制,是 K8s Native Application; Operator = CRD + control0 码力 | 21 页 | 3.06 MB | 9 月前3
Back to Basics: Templates Part 2double const& crd = d; string g(); f(3.14); f(d); f(rd); f(crd) f(g()); templatevoid f(T const& t); double d = 2.78; double& rd = d; double const& crd = d; string g(); g(); f(3.14); f(d); f(rd); f(crd) f(g());CppCon 2021 – Back to Basics: Templates – Part 2 Copyright © 2021 Bob Steagall Template Argument Deduction • What are the possible forms that ParameterType 0 码力 | 80 页 | 490.15 KB | 6 月前3
金卫-Apache APISIX 借助 Service Mesh 实现统一技术栈的全流量管理APISIX作为Istio数据面 使用动态库的方式加载到APISIX 与APISIX生命周期一致 转换 xDS 协议 资源消耗可控 APISIX原生支持 增加了xds discovery 配合CRD进行扩展 Apache APISIX 高性能云原生网关 数据面和控制面分离 强大的扩展能力 丰富的生态集成 Apache APISIX的应用案例 https://apisix 较低的学习/维护成本 APISIX 丰富的文档,快速上手 抽象出来的网关对象通俗易懂 源码基于 lua 易学易懂 二次开发相比 C++ 要简单许多 强大的扩展/定制化能力 配合CRD进行扩展,更灵活 更原生 不侵入Istio原有配置 降低用户迁移成本/减少冲突可 能 通过 controller 与 amesh 进行 配置推送 强大的扩展/定制化能力 APISIX 满足多协议的需求 APISIX Service Mesh 上手成本低 开发及扩展相当容易 性能优(尤其是多路由场景) 生态丰富,80+ 插件开箱即用 兼容 xDS,方便迁移 自定义 CRD ,增量推送策略 支持多协议 https://github.com/api7/amesh 下一个版本发布时间 12 月 未来展望 概览 APISIX Ingress处理南北向入口流量0 码力 | 34 页 | 3.50 MB | 6 月前3
基于 Kubernetes 构建标准可扩展的云原生应用管理平台-孙健波、周正喜route $ rio up riofile 抽象程度 vs 可扩展性 • 随着抽象程度的增高可以显著降低学习曲线,但是却不得不在扩展性上妥协 抽象程度 可扩展性 高 低 低 高 CRD + Controllers = Everything 通过编写遵循严格限制 的 Buildpack 和 Addon 进行扩展 没有直接扩展 工作负载 和 运维能力 的途径 通过 annotations Kubernetes Cert Manager Ingress Let’s Encrypt Flagger Virtual Service Manual Scaling App CRD HPA Knative Service Cert Canary AutoScaler AutoScaling Route Job Deployment 缺乏交互、复用、可移植能 统一、标准化的应用管理平台? 简单的“客户端”抽象: DCL (Data Configuration Language) 对 K8s 资源进行抽象实际上就是在操纵 YAML 数据,通过 DCL 来完成相比于 CRD + controller 更简单 CUE • 功能强大:专注于操纵数据,而不是写 代码 • 完全兼容 JSON • 简单直观:schema 和 value 语法一致 完整的 k8s YAML0 码力 | 27 页 | 3.60 MB | 9 月前3
13 Istio 流量管理原理与协议扩展 赵化冰Consul、Eureka 等其他服务注册表:MCP over xDS (https://github.com/istio-ecosystem/consul-mcp) v 通过CRD定义的服务数据 q 自定义流量规则(如何将请求路由到这些服务?) v 通过CRD定义的流量规则 服务数据 流量规则 3 Istio 流量管理 – 控制面 – 服务发现 • K8s Service : Pilot 直接支持 • ServiceEntry: (header: user:jason) AwesomRPC (header: user:others) Envoy AwesomRPC (header: user: ***) Pilot 代码改动 • 解析 CRD • 生成 xDS 配置下发 优点: • 控制面改动小,可以快速实现对新协议的支持 问题: • Pilot 目前缺少一个良好的协议扩展机制 • Pilot 需要理解 Envoy filter 中协议特定的知识0 码力 | 20 页 | 11.31 MB | 6 月前3
王天宜 基于 TiDB 的云原生数据库实践Kubernetes 2021/07/03 为什么选择 TiDB Operator 2021/07/03 什么是 TiDB Operator - Operator = CRD + Controller - CRD:声明式管理 - Controller:驱动实际状态向期望状态转化 为什么选择 TiDB Operator 2021/07/03 TiDB Operator 做了什么0 码力 | 31 页 | 3.14 MB | 6 月前3
进击的 Traefik | 云原生边缘路由器探秘whoami.k8s.local http: paths: - path: "/whoami" backend: serviceName: webapp servicePort: 80Ingress CRD apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: name: traefik-webui namespace: --entrypoints.redis.Address=:6379 - --providers.kubernetescrd - --api - --api.dashboard=trueTCP Ingress CRD apiVersion: traefik.containo.us/v1alpha1 kind: IngressRouteTCP metadata: name: redis spec: entryPoints:0 码力 | 35 页 | 8.58 MB | 6 月前3
共 29 条
- 1
- 2
- 3













