 腾讯云 Kubernetes 高性能网络技术揭秘——使用 eBPF 增强 IPVS 优化 K8s 网络性能-范建明kube-proxy代码实现比较简单 • iptables 在linux 已经广泛部署 优势 iptables mode 不足之处 • 控制平面的时间复杂度是O(N^2), 当service达到上千时,修改rule耗时超过半小时。 • 数据平面的时间复杂度是O(N) • 调度算法比较少,仅仅支持random的 • iptables rule 不容易调试 IPVS mode • 使用hashtable 使用hashtable 管理service • IPVS 仅仅提供了DNAT,还需要借用 iptables+conntrack 做SNAT • 控制面和数据面算法复杂度都是O(1) • 经历了二十多年的运行,比较稳定成熟 • 支持多种调度算法 优势 IPVS mode 不足之处 • 没有绕过conntrack,由此带来了性能开销 • 在k8s的实际使用中还有一些Bug0 码力 | 27 页 | 1.19 MB | 9 月前3 腾讯云 Kubernetes 高性能网络技术揭秘——使用 eBPF 增强 IPVS 优化 K8s 网络性能-范建明kube-proxy代码实现比较简单 • iptables 在linux 已经广泛部署 优势 iptables mode 不足之处 • 控制平面的时间复杂度是O(N^2), 当service达到上千时,修改rule耗时超过半小时。 • 数据平面的时间复杂度是O(N) • 调度算法比较少,仅仅支持random的 • iptables rule 不容易调试 IPVS mode • 使用hashtable 使用hashtable 管理service • IPVS 仅仅提供了DNAT,还需要借用 iptables+conntrack 做SNAT • 控制面和数据面算法复杂度都是O(1) • 经历了二十多年的运行,比较稳定成熟 • 支持多种调度算法 优势 IPVS mode 不足之处 • 没有绕过conntrack,由此带来了性能开销 • 在k8s的实际使用中还有一些Bug0 码力 | 27 页 | 1.19 MB | 9 月前3
 Serverless Kubernetes - 理想,现实和未来-张维Controllers - service discovery, ingress ECI ASK-Scheduler K8S API Server • 基于云产品控制器降低Kubernetes集群的复杂度 • 使用PrivateZone代替coredns服务发现 • 使用SLB layer-7(ALB)作为默认Ingress Private Zone ALB Serverless容器基础设施0 码力 | 20 页 | 2.27 MB | 1 年前3 Serverless Kubernetes - 理想,现实和未来-张维Controllers - service discovery, ingress ECI ASK-Scheduler K8S API Server • 基于云产品控制器降低Kubernetes集群的复杂度 • 使用PrivateZone代替coredns服务发现 • 使用SLB layer-7(ALB)作为默认Ingress Private Zone ALB Serverless容器基础设施0 码力 | 20 页 | 2.27 MB | 1 年前3
 基于Kubernetes构建容器云平台的实践
 - UCloud优刻得实验室负责⼈ 叶理灯实际链路路 Think in Cloud . 北北京 UK8S客户案例例 - A 解决痛点 • 新服务的上线以及原有服务的更更新过程繁杂 • 动态服务迁移操作难度⼤大 • 线上服务健康检查复杂度⾼高 • 服务之间的调⽤用和发现配置⼯工作多 • 单个服务完全消耗云主机资源 商户管理理 购物商城 管理理后台 对接端 Ingress 订单系统 API 搜索服务 商品同步 消息队列列0 码力 | 30 页 | 3.52 MB | 1 年前3 基于Kubernetes构建容器云平台的实践
 - UCloud优刻得实验室负责⼈ 叶理灯实际链路路 Think in Cloud . 北北京 UK8S客户案例例 - A 解决痛点 • 新服务的上线以及原有服务的更更新过程繁杂 • 动态服务迁移操作难度⼤大 • 线上服务健康检查复杂度⾼高 • 服务之间的调⽤用和发现配置⼯工作多 • 单个服务完全消耗云主机资源 商户管理理 购物商城 管理理后台 对接端 Ingress 订单系统 API 搜索服务 商品同步 消息队列列0 码力 | 30 页 | 3.52 MB | 1 年前3
 ⾸云容器产品Kubernetes操作指南�. 前提条件 �. 操作说明 ⽹络管理 �.简介 �.操作说明 监控管理 �.简介 �.操作说明 (�)开启监控 (�)概览⻚监控查看以及资源介绍 (�)查看详细监控 命名空间管理 2 �.简介 �.操作说明 弹性伸缩 �. ⼯作原理 �.创建⾃动伸缩 案例--如何创建⼀个Nginx �. 创建⽆状态应⽤nginx �. 配置容器 �. ⾼级配置 � 集群。详情请参⻅集群管理->创建集群。 创建⽆状态(Deployment)应⽤ a) 在容器服务菜单下,单击左侧导航栏中的应⽤>⽆状态,选择所需的命名空间(默认为deafult), 然后单击⻚⾯右上⻆的创建。 b) 设置应⽤名称、集群 、命名空间、副本数量(即应⽤包含的 Pod 数量)、标签和注解。然后单击 下⼀步进⼊容器配置⻚⾯ 应⽤管理 1. 简介 2. 前提条件 3. 操作说明 必须满⾜,即硬约束,⼀定要满⾜,对应requiredDuringSchedulingIgnoredDuringExecution, Pod 的亲和性调度必须要满⾜后续定义的约束条件。 命名空间:该策略是依据 Pod 的 Label 进⾏调度,所以会受到命名空间的约束。 拓扑域:即 topologyKey,指定调度时作⽤域,这是通过 Node 节点的标签来实现的。 选择器:单击选择器右侧的添加按钮,可添加多条硬约束规则。0 码力 | 94 页 | 9.98 MB | 1 年前3 ⾸云容器产品Kubernetes操作指南�. 前提条件 �. 操作说明 ⽹络管理 �.简介 �.操作说明 监控管理 �.简介 �.操作说明 (�)开启监控 (�)概览⻚监控查看以及资源介绍 (�)查看详细监控 命名空间管理 2 �.简介 �.操作说明 弹性伸缩 �. ⼯作原理 �.创建⾃动伸缩 案例--如何创建⼀个Nginx �. 创建⽆状态应⽤nginx �. 配置容器 �. ⾼级配置 � 集群。详情请参⻅集群管理->创建集群。 创建⽆状态(Deployment)应⽤ a) 在容器服务菜单下,单击左侧导航栏中的应⽤>⽆状态,选择所需的命名空间(默认为deafult), 然后单击⻚⾯右上⻆的创建。 b) 设置应⽤名称、集群 、命名空间、副本数量(即应⽤包含的 Pod 数量)、标签和注解。然后单击 下⼀步进⼊容器配置⻚⾯ 应⽤管理 1. 简介 2. 前提条件 3. 操作说明 必须满⾜,即硬约束,⼀定要满⾜,对应requiredDuringSchedulingIgnoredDuringExecution, Pod 的亲和性调度必须要满⾜后续定义的约束条件。 命名空间:该策略是依据 Pod 的 Label 进⾏调度,所以会受到命名空间的约束。 拓扑域:即 topologyKey,指定调度时作⽤域,这是通过 Node 节点的标签来实现的。 选择器:单击选择器右侧的添加按钮,可添加多条硬约束规则。0 码力 | 94 页 | 9.98 MB | 1 年前3
 DaoCloud Enterprise 5.0
产品介绍策略管理 支持以命名空间或集群粒度制定网络策略、配额策略、资源限制策略、灾备策 略、安全策略。 ➢ 网络策略,支持以命名空间或集群粒度制定网络策略,限定容器组与网络平上网络” 实体“通信规则。 ➢ 配额策略,支持以命名空间或集群粒度设定配额策略,限制集群内的命名空间的资源 使用。 ➢ 资源限制策略,支持以命名空间或集群粒度设定资源限制策略,约束对应命名空间内 应用对资源的使用。 应用对资源的使用。 ➢ 灾备策略,支持以命名空间或集群粒度设定灾备策略,实现以命名空间为维度进行容 灾备份,保障集群的安全性。 版权 © 2023 DaoCloud 第 10 页 ➢ 安全策略,支持以命名空间或集群粒度设定安全策略,为 Pod 定义不同的隔离级 别。 全局管理 全局管理是以用户为中心的综合性服务板块,包含用户与访问控制、企业空 间、审计日志、平台设置等基础服务模块。 间、审计日志、平台设置等基础服务模块。 ➢ 用户与访问控制:帮助用户安全管理资源的访问权限。您可以通过用户与访问控制创 建、管理、删除用户/用户组,并灵活配置用户/用户组权限,来完成用户职能权限的 划分。 ➢ 企业空间:具有层级结构和访问权限控制的资源隔离单元。您可以按照企业开发环 境、部门结构等设置层级结构,并控制哪些人对哪些资源具有访问权限。 ➢ 审计日志:提供资源的操作记录。通过操作记录您可以快速实现安全分析、资源变0 码力 | 18 页 | 1.32 MB | 1 年前3 DaoCloud Enterprise 5.0
产品介绍策略管理 支持以命名空间或集群粒度制定网络策略、配额策略、资源限制策略、灾备策 略、安全策略。 ➢ 网络策略,支持以命名空间或集群粒度制定网络策略,限定容器组与网络平上网络” 实体“通信规则。 ➢ 配额策略,支持以命名空间或集群粒度设定配额策略,限制集群内的命名空间的资源 使用。 ➢ 资源限制策略,支持以命名空间或集群粒度设定资源限制策略,约束对应命名空间内 应用对资源的使用。 应用对资源的使用。 ➢ 灾备策略,支持以命名空间或集群粒度设定灾备策略,实现以命名空间为维度进行容 灾备份,保障集群的安全性。 版权 © 2023 DaoCloud 第 10 页 ➢ 安全策略,支持以命名空间或集群粒度设定安全策略,为 Pod 定义不同的隔离级 别。 全局管理 全局管理是以用户为中心的综合性服务板块,包含用户与访问控制、企业空 间、审计日志、平台设置等基础服务模块。 间、审计日志、平台设置等基础服务模块。 ➢ 用户与访问控制:帮助用户安全管理资源的访问权限。您可以通过用户与访问控制创 建、管理、删除用户/用户组,并灵活配置用户/用户组权限,来完成用户职能权限的 划分。 ➢ 企业空间:具有层级结构和访问权限控制的资源隔离单元。您可以按照企业开发环 境、部门结构等设置层级结构,并控制哪些人对哪些资源具有访问权限。 ➢ 审计日志:提供资源的操作记录。通过操作记录您可以快速实现安全分析、资源变0 码力 | 18 页 | 1.32 MB | 1 年前3
 k8s操作手册 2.3com:5443/k8s" #提前 下载需要的镜像 # ctr -n k8s.io image ls #查看下载的镜像,k8s默认使用k8s.io的命名 空间 # kubeadm init --config /etc/kubeadm-init.yaml #初始化集群 当出现Your Kubernetes 持push及tag打标签 # crictl images #查看镜像,默认查询k8s.io命名空间,且不可指定命名 空间 # crictl ps #查看容器,默认固定为k8s.io的命名空间 # crictl logs xxxx #查看容器日志,支持带-f参数 # crictl inspect 19.5_default_41b8e6f3-6b7e-4e72-9fe5- 9d8e12b1eebe_5 (pause容器) #命名方式为: k8s_容器名_pod名_命名空间_uuid # kubectl delete -f pod-nginx-web1-v1.19.5.yaml #删除文件里定义的所有资 源 ★容器探测其他配置: ★HTTP探测0 码力 | 126 页 | 4.33 MB | 1 年前3 k8s操作手册 2.3com:5443/k8s" #提前 下载需要的镜像 # ctr -n k8s.io image ls #查看下载的镜像,k8s默认使用k8s.io的命名 空间 # kubeadm init --config /etc/kubeadm-init.yaml #初始化集群 当出现Your Kubernetes 持push及tag打标签 # crictl images #查看镜像,默认查询k8s.io命名空间,且不可指定命名 空间 # crictl ps #查看容器,默认固定为k8s.io的命名空间 # crictl logs xxxx #查看容器日志,支持带-f参数 # crictl inspect 19.5_default_41b8e6f3-6b7e-4e72-9fe5- 9d8e12b1eebe_5 (pause容器) #命名方式为: k8s_容器名_pod名_命名空间_uuid # kubectl delete -f pod-nginx-web1-v1.19.5.yaml #删除文件里定义的所有资 源 ★容器探测其他配置: ★HTTP探测0 码力 | 126 页 | 4.33 MB | 1 年前3
 第1930期:Kubernetes基础介绍ause容器对应的镜像属于k8s平台的一部分,除了Pause容 器外,每个Pod还包含一个或多个紧急相关的用户业务容器。他为每个业务容器提供如下功能:①在pod中担任Linux命 名空间共享的基础。②启用pid命名空间,开启init进程。 引入这种方式的原因: 1. 一组容器运行的pod中,很难对整体进行判断,引入pasue作为根容器, 以他的状态代表整个容器组的状态。 2. pod中多个容器共 K8s基本概念和术语介绍(NameSpace) NameSpace(命名空间): 命名空间用于实现多租户的资源隔离。Namespace通过将集群内部的资源对象分配到不同的Namespace中,形成逻 辑上分组的不同项目、小组或用户组,便于不同的分组在共享使用整个集群的资源的同时还能被分别管理。 命名空间为K8s集群提供虚拟的隔离作用,K8s集群初始有两个名字空间,分别是默认名字空间default和系统名字空 间kube-s 间kube-system,除此以外,管理员可以创建新的名字空间满足需要。 28 www.h3c.com Confidential 秘密 28 28 K8s基本概念和术语介绍(资源限制) 资源限制: Kubernetes通过cgroups提供容器资源管理的功能,可以限制每个容器的CPU和内存使用,比如对于刚才创建的 deployment,可以通过下面的命令限制nginx容器最多只用50%的CPU和128MB的内存:0 码力 | 49 页 | 4.11 MB | 1 年前3 第1930期:Kubernetes基础介绍ause容器对应的镜像属于k8s平台的一部分,除了Pause容 器外,每个Pod还包含一个或多个紧急相关的用户业务容器。他为每个业务容器提供如下功能:①在pod中担任Linux命 名空间共享的基础。②启用pid命名空间,开启init进程。 引入这种方式的原因: 1. 一组容器运行的pod中,很难对整体进行判断,引入pasue作为根容器, 以他的状态代表整个容器组的状态。 2. pod中多个容器共 K8s基本概念和术语介绍(NameSpace) NameSpace(命名空间): 命名空间用于实现多租户的资源隔离。Namespace通过将集群内部的资源对象分配到不同的Namespace中,形成逻 辑上分组的不同项目、小组或用户组,便于不同的分组在共享使用整个集群的资源的同时还能被分别管理。 命名空间为K8s集群提供虚拟的隔离作用,K8s集群初始有两个名字空间,分别是默认名字空间default和系统名字空 间kube-s 间kube-system,除此以外,管理员可以创建新的名字空间满足需要。 28 www.h3c.com Confidential 秘密 28 28 K8s基本概念和术语介绍(资源限制) 资源限制: Kubernetes通过cgroups提供容器资源管理的功能,可以限制每个容器的CPU和内存使用,比如对于刚才创建的 deployment,可以通过下面的命令限制nginx容器最多只用50%的CPU和128MB的内存:0 码力 | 49 页 | 4.11 MB | 1 年前3
 Kubernetes开源书 -  周立对于⽤户提供⾮唯⼀属性,Kubernetes提供 labels 和 annotations 来标识。 名称(Name) 名称通常由客户提供。对于给定类型的对象,⼀次只有⼀个对象可以有⼀个给定的名称(即:它们在空间上是唯⼀ 的)。但是,如果您删除⼀个对象,则可使⽤相同的名称创建⼀个新对象。名称⽤于引⽤资源URL中的对象,例 如 /api/v1/pods/some-name 。按照惯例,Kubernete design doc 。 UID UID由Kubernetes⽣成。 在Kubernetes集群的整个⽣命周期中创建的每个对象都有不同的UID(即:它们在空间和时间 上是唯⼀的)。 07-Name 23 Namespace(命名空间) Kubernetes⽀持在同⼀物理集群中创建多个虚拟集群。 这些虚拟集群被称为Namespace。 使⽤多个Namespace的场景 Namespa Label选择器(即⼀个零需求的选择器)选择集合中的每个对象。 null Label选择器(仅⽤于可选的选择器字段)不选择任何对象。 注意 :两个Controller的Label选择器不能在命名空间内重叠,否则它们将会产⽣冲突。 Equality-based requirement Equality- or inequality-based requirement允许通过LabelKey和0 码力 | 135 页 | 21.02 MB | 1 年前3 Kubernetes开源书 -  周立对于⽤户提供⾮唯⼀属性,Kubernetes提供 labels 和 annotations 来标识。 名称(Name) 名称通常由客户提供。对于给定类型的对象,⼀次只有⼀个对象可以有⼀个给定的名称(即:它们在空间上是唯⼀ 的)。但是,如果您删除⼀个对象,则可使⽤相同的名称创建⼀个新对象。名称⽤于引⽤资源URL中的对象,例 如 /api/v1/pods/some-name 。按照惯例,Kubernete design doc 。 UID UID由Kubernetes⽣成。 在Kubernetes集群的整个⽣命周期中创建的每个对象都有不同的UID(即:它们在空间和时间 上是唯⼀的)。 07-Name 23 Namespace(命名空间) Kubernetes⽀持在同⼀物理集群中创建多个虚拟集群。 这些虚拟集群被称为Namespace。 使⽤多个Namespace的场景 Namespa Label选择器(即⼀个零需求的选择器)选择集合中的每个对象。 null Label选择器(仅⽤于可选的选择器字段)不选择任何对象。 注意 :两个Controller的Label选择器不能在命名空间内重叠,否则它们将会产⽣冲突。 Equality-based requirement Equality- or inequality-based requirement允许通过LabelKey和0 码力 | 135 页 | 21.02 MB | 1 年前3
 Alluxio 助力 Kubernetes, 加速云端深度学习Alluxio读取的数据块优先保存到本地,但是当本地空间不足时, 不会驱逐本地数据块而是将读取数据缓存到邻近节点 alluxio.worker.tieredstore.level0.dirs.quota 100GB 缓存存储的容量上限。 alluxio.worker.tieredstore.level0.watermark.high.rat io 0.99 后台驱逐任务启动条件,本例子中条件本地空间超过100 x 0.99=99GiB触发驱逐 99=99GiB触发驱逐 alluxio.user.block.avoid.eviction.policy.reserved.size .bytes 1056MB 当本地节点的空间少于1056MB时,数据缓存的调度器不会选择该 节点;转而选择其他节点。 alluxio.user.file.passive.cache.enabled false 当从Alluxio远程worker读文件时,是否缓存文件到Alluxio的本0 码力 | 22 页 | 11.79 MB | 1 年前3 Alluxio 助力 Kubernetes, 加速云端深度学习Alluxio读取的数据块优先保存到本地,但是当本地空间不足时, 不会驱逐本地数据块而是将读取数据缓存到邻近节点 alluxio.worker.tieredstore.level0.dirs.quota 100GB 缓存存储的容量上限。 alluxio.worker.tieredstore.level0.watermark.high.rat io 0.99 后台驱逐任务启动条件,本例子中条件本地空间超过100 x 0.99=99GiB触发驱逐 99=99GiB触发驱逐 alluxio.user.block.avoid.eviction.policy.reserved.size .bytes 1056MB 当本地节点的空间少于1056MB时,数据缓存的调度器不会选择该 节点;转而选择其他节点。 alluxio.user.file.passive.cache.enabled false 当从Alluxio远程worker读文件时,是否缓存文件到Alluxio的本0 码力 | 22 页 | 11.79 MB | 1 年前3
 第29 期| 2023 年9 月- 技术雷达com/cn/radar/faq © Thoughtworks, Inc. All Rights Reserved. 4 Thoughtworks 技术雷达 技术雷达是具有前瞻性的。为了给新的技术条目腾出空间,我们挪出了近期没有发生太多变化的技术条目,但 略去某项技术并不表示我们不再关心它。 暂缓 评估 试验 采纳 采纳:我们强烈主张业界采用这些技术。我们会 在适当时候将其用于我们的项目。 试 大语言模型半结构化自然语言输入 试验 在使用大语言模型的各种应用中,我们在半结构化自然语言输入方面取得了成功。结构化输入,如 JSON 文档, 清晰而精确,为模型提供了所寻求响应类型的指示。以这种方式限制响应有助于缩小问题空间,并且可以产生 更准确的响应,特别是当结构符合领域特定语言(DSL)的语法或模式情况下。我们还发现,将结构化输入与 自然语言注释或标记结合使用,比仅使用自然语言或结构化输入产生更好的响应。通常,在构建提示时,自然 发挥的作用感到好奇。一个例子就是最近 GitLab 提出对合并请求增加 ActivityPub 支持。 34. Azure Container Apps 评估 Azure 容器应用是一种 Kubernetes 命名空间托管服务。该服务通过消除 Kubernetes 集群和底层基础架构组件 的复杂维护需求来简化容器化工作负载的部署,从而减轻了运维和管理负担。然而,在考虑使用该工具时需要 小心谨慎:当前处于开发阶段,它在0 码力 | 43 页 | 2.76 MB | 1 年前3 第29 期| 2023 年9 月- 技术雷达com/cn/radar/faq © Thoughtworks, Inc. All Rights Reserved. 4 Thoughtworks 技术雷达 技术雷达是具有前瞻性的。为了给新的技术条目腾出空间,我们挪出了近期没有发生太多变化的技术条目,但 略去某项技术并不表示我们不再关心它。 暂缓 评估 试验 采纳 采纳:我们强烈主张业界采用这些技术。我们会 在适当时候将其用于我们的项目。 试 大语言模型半结构化自然语言输入 试验 在使用大语言模型的各种应用中,我们在半结构化自然语言输入方面取得了成功。结构化输入,如 JSON 文档, 清晰而精确,为模型提供了所寻求响应类型的指示。以这种方式限制响应有助于缩小问题空间,并且可以产生 更准确的响应,特别是当结构符合领域特定语言(DSL)的语法或模式情况下。我们还发现,将结构化输入与 自然语言注释或标记结合使用,比仅使用自然语言或结构化输入产生更好的响应。通常,在构建提示时,自然 发挥的作用感到好奇。一个例子就是最近 GitLab 提出对合并请求增加 ActivityPub 支持。 34. Azure Container Apps 评估 Azure 容器应用是一种 Kubernetes 命名空间托管服务。该服务通过消除 Kubernetes 集群和底层基础架构组件 的复杂维护需求来简化容器化工作负载的部署,从而减轻了运维和管理负担。然而,在考虑使用该工具时需要 小心谨慎:当前处于开发阶段,它在0 码力 | 43 页 | 2.76 MB | 1 年前3
共 19 条
- 1
- 2














