绕过conntrack,使用eBPF增强 IPVS优化K8s网络性能(kenieevan@github) Zhiguohong (honkiko@github) Bypassing conntrack: Optimizing K8s Service By Enhancing IPVS with eBPF Agenda 目录 01 Problems with K8s Service How to optimize 02 Comparison with industry Performance Performance measurement 03 04 Future work 05 06 Lessons from eBPF What is K8s Service • It exposes a set of pods via VIP using a load balancer • Two types • ClusterIP provides in-cluster access • NodePort0 码力 | 24 页 | 1.90 MB | 1 年前3
Автоматизация управления ClickHouse-кластерами в KubernetesАвтоматизация управления ClickHouse-кластерами в Kubernetes Владислав Клименко и Валерий Панов K8s? Что это? K8s is the new Linux Это платформа с открытым кодом. позволяющая: • строить системы на основе Лицензия: Apache 2.0, Распространяется как Docker image ClickHouse cluster resources kubectl apply K8S API Спецификация ClickHouse on Kubernetes – components Shard 1 Replica 1 Zookeeper Services Zookeeper-0 Replica Service Replica Service Replica Service User Config Map Common Config Map Stateful Set Pod Persistent Volume Claim Persistent Volume Per-replica Config Map Altinity ClickHouse operator0 码力 | 44 页 | 2.24 MB | 1 年前3
KubeCon2020/大型Kubernetes集群的资源编排优化Node2 Kube-scheduler Pod Request Load Level Request Load Level Real Load Level Real Load Level Assigned to Node2 The native K8S scheduling is based on the resource request of Pod. However, in many nodes have high resource requests but low load. Dynamic-Scheduler Node1 Node2 Kube-scheduler Pod Request Load Level Request Load Level Real Load Level Real Load Level Assigned to Node1 Dynamic-scheduler 5m Load 50% 1h Load 75% 5m Load 40% 1h Load 30% Dynamic-scheduler 5m Load >65% filtered Pod 1h Load >70% filtered Add node1 to priority candidate list Dynamic-Scheduler Priority Node2 Node30 码力 | 27 页 | 3.91 MB | 1 年前3
基于Rust-vmm实现Kubernetes运行时Senior Software Engineer at Tencent Rich experience in Container and Kubernetes field, promote lots of K8S production practice in Tencent Motivation https://kccncchina2018english.sched.com/event/FuLz/lay -kubernetes-tim-allclair-google Kubernetes has many layers of isolation, but we will focus on pod-to-pod isolation in this talk, AKA Sandbox Isolation. • Container Escape docker.vh.neargle.com:8888/ COW vulnerability −CVE-2019-5736 Docker runc vulnerability −CVE-2019-14271 Docker CP vulnerability Pod Isolation Challenges • Noisy neighbor −Impact performance on CPU, Memory, Bandwidth, Buffer IO,0 码力 | 27 页 | 34.17 MB | 1 年前3
Zadig 面向开发者的云原生 DevOps 平台企业交付案例场景深化 开 发 者 场 景 挖 掘 3-5 个领域敏感型场景 建立产品发展委员会 贡献者流程优化 2022 年 9 月 场 景 深 化 能 力 增 强 Helm/K8s YAML/ 托管场景接入流程优化 UX/UI 升级,工程师一线体验优化 推出效能看板,实时客观度量工程数据指标 效 率 优 化 、 开 发 者 体 验 增 强 2023 年 面向生态伙伴开放场景 2. 在 Rancher 上手动替换版本 3. 不透明的测试环境导致大量问题 4. 为每一次部署维护一个 Chart 版本 现状 效能提升场景: 2K+ 微服务、多语言、 Helm 、 K8s 多集群 1. 开发流程 提交代码到 Feature 分支 -> GitLab-CI 自动构建打包 Chart (写一堆复杂 的脚本 ) -> -> Rancher 境 。 字节跳动 - 飞书场景一:主干开发主干发布 工具链: 飞书 + Gerrit + Zadig + 内部发布平台 技术栈: Go +git ( yml ) + 多集群 K8s 分支策略: 单分支 master 开发 环境策略: 4 套同构环境动态分配 测试管理: 500 API+E2E cases 字节跳动 - 飞书场景二: Gerrit +0 码力 | 59 页 | 81.43 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 02 现代 C++ 入门:RAII 内存管理更加明确用的哪一种类型转换( cast ),从而避免一些像是 static_cast(ptr) 的错误 。 • 虽然作者也经常会忍不住在 zeno 中用 编译器默认生成的构造函数:无参数(小心 POD 陷阱!) • 除了我们自定义的构造函数外,编译器还会自动生成一些构造函数。 • 当一个类没有定义任何构造函数,且所有成员都有无参构造函数时,编译器会自动生成一 个无参构造函数 Pig() ,他会调用每个成员的无参构造函数。 这些类型被称为 POD ( plain-old-data )。 • POD 的存在是出于兼容性和性能的考虑。 << 取决于内存的随机值 编译器默认生成的构造函数:无参数( POD 陷阱解决方案) • 不过我们可以手动指定初始化 weight 为 0 。 • 通过 {} 语法指定的初始化值,会在编译器自 动生成的构造函数里执行。 编译器默认生成的构造函数:无参数( POD 陷阱解决方案,续) 0 码力 | 96 页 | 16.28 MB | 1 年前3
Zadig 产品使用手册指标易抽取、有能力合理调动资 源、随时决策响应客户需求 碎片化 研 发模 式 产研全流程拉通需求到上线所需的代码、服务、配置和数据的一致性交付 Jira 飞书 项管 其他 自测 环境 Argo K8s JFrog YAML 产品 开 发 测 试 运维 产研运一体化 解决方案 免运维模板库 效能洞察 云原生 IDE 插 件 交付中心 发布中心 测试中心 高并发工作流 云原生环境0 码力 | 52 页 | 22.95 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人一致性存储 RAFT 分片管理 元数据 集群管理 用户权限 GNN 应用层 Atlas 图平台 Atlas Studio Atlas Client 基础 设施 Docker/K8S/VM X86/ARM - 基于 RUST 语言保证性能优势 - 分布式架构性能可线性扩展 - 针对大规模图优化的存算引擎 - 配合 Atlas 图平台,实现无代码图分析 -0 码力 | 38 页 | 24.68 MB | 1 年前3
Secure your microservices with istio step by stepFormat: "spiffe:///ns/ /sa/ ” ● istioctl proxy-config secret <POD> -o json | jq '.dynamicActiveSecrets[0].secret.tlsCertificate.certificateChain.i nlineBytes' -r | | openssl x509 -noout -text -in - ● Part of cluster config in envoy config-dump ○ kubectl exec <POD> -c istio-proxy curl localhost:15000/config_dump #IstioCon Istio identity – check configuration result 0 码力 | 34 页 | 67.93 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 14 C++ 标准库系列课 - 你所不知道的 set 容器• bool second; • }; 使用 C++17 的结构化绑定来拆解 pair • C++17 提供了结构化绑定 (structual binding) 的语法, 可以取出一个 POD 结构体 的所有成员, pair 也不例外 。 • auto [ok, it] = b.insert(3); • 等价于 • auto tmp = b.insert(3); • auto ok =0 码力 | 83 页 | 10.23 MB | 1 年前3
共 12 条
- 1
- 2













