绕过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 com/Altinity/clickhouse-operator/master/manifests/oper ator/clickhouse-operator-install.yaml Single-node “cluster” apiVersion: "clickhouse.altinity.com/v1" kind: "ClickHouseInstallation" metadata: name:0 码力 | 44 页 | 2.24 MB | 1 年前3
KubeCon2020/大型Kubernetes集群的资源编排优化nodes ? Dynamic-Scheduler Node1 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 Dynamic-Scheduler Node1 Node2 Kube-scheduler Pod Request Load Level Request Load Level Real Load Level Real Load Level Assigned to Node1 Dynamic-scheduler Node1 has a lower load Dynamic-Scheduler Node1 Node2 Dynamic-scheduler- node-annotator 5m Load Prometheus 1h Load 1d Load 5m Load 1h Load 1d Load telegraf Record to node annotation telegraf Dynamic-Scheduler Predicate Node2 Node3 Node1 5m Load0 码力 | 27 页 | 3.91 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
新一代分布式高性能图数据库的构建 - 沈游人一致性存储 RAFT 分片管理 元数据 集群管理 用户权限 GNN 应用层 Atlas 图平台 Atlas Studio Atlas Client 基础 设施 Docker/K8S/VM X86/ARM - 基于 RUST 语言保证性能优势 - 分布式架构性能可线性扩展 - 针对大规模图优化的存算引擎 - 配合 Atlas 图平台,实现无代码图分析 - 双重执行模式 • 单机和分布式两套计算系统,在不同的使用 环境中都能达到最佳性能 针对常用算法逐个设计优化方案 • 对于常用算法,跳过固定的编程模型,分 别设计最佳的计算方案 • 例如我们自研的 node2vec 采样算法比现 有技术快了 1 个数量级 海致图计算平台特点 AtlasML 极致的性能 • 支持 CPU/GPU 等异构设备训练 • 特殊设计的高性能图算子库 丰富的算法库0 码力 | 38 页 | 24.68 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 kubelet kubelet io.kubernetes.cri-o.TrustedSandbox=true containerd- shim-kata-v2 O C I C R I K8s Runtime io.kubernetes.cri-o.TrustedSandbox=false Firecracker- containerd runnc+Nabla OCI Solution0 码力 | 27 页 | 34.17 MB | 1 年前3
Zadig 产品使用手册指标易抽取、有能力合理调动资 源、随时决策响应客户需求 碎片化 研 发模 式 产研全流程拉通需求到上线所需的代码、服务、配置和数据的一致性交付 Jira 飞书 项管 其他 自测 环境 Argo K8s JFrog YAML 产品 开 发 测 试 运维 产研运一体化 解决方案 免运维模板库 效能洞察 云原生 IDE 插 件 交付中心 发布中心 测试中心 高并发工作流 云原生环境0 码力 | 52 页 | 22.95 MB | 1 年前3
唐刚 - Use Rust to Develop the Decentralized Open Data Application - RustChinaConf2023platform ➔ On the server side, it is a network, consisting of some/many nodes ➔ Every node has a blockchain node in it What An Open Data App Feels Like? “EightFish is a development framework (maybe Protocol node 1 node 2 node 3 node 4 node … Protocol 1 node 1 node 2 node 3 node 4 node … Protocol 2 One Protocol Supports Multiple Applications node 1 node 2 node 3 node 4 node0 码力 | 30 页 | 2.53 MB | 1 年前3
Lock-Free Atomic Shared Pointers Without a Split Reference Count? It Can Be Done!templatestruct Stack { struct Node { T t; shared_ptr<Node> next; }; atomic Node>> head; void push_front(T t) { auto p = make_shared<Node>(std::move(t), head.load()); different atomic ! struct Node { T t; shared_ptr<Node> next; }; atomic Node>> head; void push_front(T t) { auto p = make_shared<Node>(std::move(t), head.load()); 0 码力 | 45 页 | 5.12 MB | 6 月前3
C++20: An (Almost) Complete OverviewSmart Pointers templateclass concurrent_stack { struct Node { T t; shared_ptr<Node> next; }; atomic_shared_ptr<Node> head; // in C++11: remove "atomic_" and use special // functions functions every time you touch head public: class reference { shared_ptr<Node> p; }; auto find(T t) const { auto p = head.load(); // C++11: atomic_load(&head) while (p && p->t front() const { return reference(head); } void push_front(T t) { auto p = make_shared<Node>(); p->t = t; p->next = head; while (!head.compare_exchange_weak(p->next, p)){ } // 0 码力 | 85 页 | 512.18 KB | 6 月前3
共 13 条
- 1
- 2
相关搜索词
绕过conntrack使用eBPF增强IPVS优化K8s网络性能kubernetesClickHouseKubeCon2020大型Kubernetes集群资源编排Zadig面向开发开发者原生DevOps平台游人RustCCAtlasGraph基于Rustvmm实现运行产品手册使用手册唐刚UsetoDeveloptheDecentralizedOpenDataApplicationRustChinaConf2023LockFreeAtomicSharedPointersWithoutSplitReferenceCountItCanBeDoneC++20AnAlmostCompleteOverview













