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运行时-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, runsc container container Pod QEMU VMM Firecracker VMM Rust-VMM container container Pod Sandbox Agent gVisor Guest Kernel O C I Gofer container container Pod Sandbox Sentry KVM/ptrace0 码力 | 27 页 | 34.17 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
Автоматизация управления ClickHouse-кластерами в KubernetesReplica 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 operator com/demo-01 created 3. RESULT $ kubectl get all -n demo NAME READY STATUS pod/chi-demo-01-demo-0-0-0 1/1 Running NAME TYPE CLUSTER-IP replicasCount: 1 Sharding – результаты NAME READY STATUS pod/chi-demo-01-demo-0-0-0 1/1 Running pod/chi-demo-01-demo-1-0-0 1/1 Running NAME0 码力 | 44 页 | 2.24 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
C++高性能并行编程与优化 - 课件 - 06 TBB 开启的并行编程之旅https://www.zhihu.com/question/38857029 并行筛选 7 彻底避免了互斥量,完全通过预先准备好的大小,配合 atomic 递增索引批量写入。同时用小彭老师拍脑袋想到的 pod 模板类,使得 vector 的 resize 不会零初始化其中的 值。 加速比: 6.26 倍 并行筛选 8 (不推荐) 而是用 std::vector 作为 parallel_reduce 的元0 码力 | 116 页 | 15.85 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 12 从计算机组成原理看 C 语言指针T[n] 分配的(动态数组)请用 delete[] 释 放。 • 使用 new T 分配的(单个元素)请用 delete 释放。 • 不要混用,否则可能会出错,也可能不出错,取决于 T 是否为 POD 类型,以及标准库的具体实现。 数组作为函数参数和返回有哪些坑? 函数需要输入或输出数组?分类讨论 • 第一种情况,函数只是读取这个数组,不修改数组: • void func(const T*0 码力 | 128 页 | 2.95 MB | 1 年前3
NativeScript 101o font-style o font-weight o text-align o text-decoration o text-transform o vertical-align o horizontal-align o margin o margin-top o margin-right o margin-bottom o margin-left o width o height o min-width0 码力 | 90 页 | 40.11 MB | 1 年前3
共 9 条
- 1













