 基于 Kubernetes 构建标准可扩展的云原生应用管理平台-孙健波、周正喜https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/ API 和业务原语 关注点不同 服务语义与抽象程度不同 交互与使用习惯不同 YAML 文件 图形化界面 命令行工具 IaC 配置语言 扩容策略 • 当请求数上升 10% 时,自动扩 容 100 个实例 发布策略 • 当金丝雀实例通 过 不停构建“PaaS”平台不是“银弹” 与其 基于 K8s 构建平台 不如 把 K8s 变成面向开发者的平台 构建一个具备“以应用为中心的 API 抽象”、“用户友好” 且“高度可扩展”的 K8s! 以应用为中心的 API 抽象 • 应用的工作负载和运维能力的抽象程度越高,用户体验越好 抽象程度 学习曲线 高 低 低 高 Deployment Pod Service Node … PodTemplate $ rio run $ rio scale $ rio weight/promote $ rio route $ rio up riofile 抽象程度 vs 可扩展性 • 随着抽象程度的增高可以显著降低学习曲线,但是却不得不在扩展性上妥协 抽象程度 可扩展性 高 低 低 高 CRD + Controllers = Everything 通过编写遵循严格限制 的 Buildpack0 码力 | 27 页 | 3.60 MB | 9 月前3 基于 Kubernetes 构建标准可扩展的云原生应用管理平台-孙健波、周正喜https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/ API 和业务原语 关注点不同 服务语义与抽象程度不同 交互与使用习惯不同 YAML 文件 图形化界面 命令行工具 IaC 配置语言 扩容策略 • 当请求数上升 10% 时,自动扩 容 100 个实例 发布策略 • 当金丝雀实例通 过 不停构建“PaaS”平台不是“银弹” 与其 基于 K8s 构建平台 不如 把 K8s 变成面向开发者的平台 构建一个具备“以应用为中心的 API 抽象”、“用户友好” 且“高度可扩展”的 K8s! 以应用为中心的 API 抽象 • 应用的工作负载和运维能力的抽象程度越高,用户体验越好 抽象程度 学习曲线 高 低 低 高 Deployment Pod Service Node … PodTemplate $ rio run $ rio scale $ rio weight/promote $ rio route $ rio up riofile 抽象程度 vs 可扩展性 • 随着抽象程度的增高可以显著降低学习曲线,但是却不得不在扩展性上妥协 抽象程度 可扩展性 高 低 低 高 CRD + Controllers = Everything 通过编写遵循严格限制 的 Buildpack0 码力 | 27 页 | 3.60 MB | 9 月前3
 Kubernetes + OAM 让开发者更简单让开发者更简单 来自应用开发者的“灵魂拷问” “ Kubernetes 让 Devops 更复杂了!” Kubernetes 对于应用开发复杂在哪里 1. 关注点不同 业务研发 2. 语义与抽象程度不同 业务运维 3. 交互与使用习惯不同 业务研发、运维 YAML 文件 图形化界面 命令行工具 IaC 配置语言 扩容策略 • 当 RT 上升 10% 时,自动扩容 100 个实例 Resource 业务运维 业务研发 按需绑定 关键词:用户友好,应用层语义和抽象 平台工程师 Controller 目标二:一个高可扩展的应用管理平台 关键词:可插拔,可扩展,模块化,没有抽象程度锁定 应用 Deployment Knative Service Function 抽象程度:高 抽象程度:低 发布策略 扩容策略 $ helm install traffic 流量策略0 码力 | 22 页 | 10.58 MB | 1 年前3 Kubernetes + OAM 让开发者更简单让开发者更简单 来自应用开发者的“灵魂拷问” “ Kubernetes 让 Devops 更复杂了!” Kubernetes 对于应用开发复杂在哪里 1. 关注点不同 业务研发 2. 语义与抽象程度不同 业务运维 3. 交互与使用习惯不同 业务研发、运维 YAML 文件 图形化界面 命令行工具 IaC 配置语言 扩容策略 • 当 RT 上升 10% 时,自动扩容 100 个实例 Resource 业务运维 业务研发 按需绑定 关键词:用户友好,应用层语义和抽象 平台工程师 Controller 目标二:一个高可扩展的应用管理平台 关键词:可插拔,可扩展,模块化,没有抽象程度锁定 应用 Deployment Knative Service Function 抽象程度:高 抽象程度:低 发布策略 扩容策略 $ helm install traffic 流量策略0 码力 | 22 页 | 10.58 MB | 1 年前3
 sealos 以 kubernetes 为内核的云操作系统者 环界云计算创始人 公司代表作品: Sealos 云操作系统 Laf 函数计算 FastGPT AI 知识库 Sealos 介绍 以 kubernetes 为内核的云操作系统 整个数据中心抽象成一台服务器,一切皆应用,让用云像用个人电脑一样简单! Kubernetes是云操作系统内核,整个集群是一个整体 Sealos是云操作系统发行版本 Linux发行版,如redhat Linux 我一锅大杂烩 我高内聚高抽象 我装起来都费劲 我一键安装 我运行起来一堆问题 我小白都能稳定运行 我一堆模块 我大道至简海纳百川 不求最好,但求最贵 优秀还便宜 你真的需要虚拟机?真的需要 IaaS 层? PaaS SaaS 有本质区别?鸭式辩型忘记了? 云里面,一切皆应用才是王道。 系统架构与设计理念 通用的系统管理入口 所有应用自由安装卸载 极简、高内聚、高度抽象 提供最基础的核心能力 提供最基础的核心能力 容器管理、编排调度、资源隔离 驱动层实现资源抽象 自由切换,到处运行 Sealos API Sealos CLI Desktop 裸金属 AWS 阿里云 更多······ boot 集群镜像 租户管理 应用管理 函数计算 消息队列 数据库 缓存 计算驱动 网络驱动 存储驱动 自由组装 内聚解耦 化整为零 大道至简 sealos 的能力 • 10 秒上线一个自带域名和0 码力 | 29 页 | 7.64 MB | 9 月前3 sealos 以 kubernetes 为内核的云操作系统者 环界云计算创始人 公司代表作品: Sealos 云操作系统 Laf 函数计算 FastGPT AI 知识库 Sealos 介绍 以 kubernetes 为内核的云操作系统 整个数据中心抽象成一台服务器,一切皆应用,让用云像用个人电脑一样简单! Kubernetes是云操作系统内核,整个集群是一个整体 Sealos是云操作系统发行版本 Linux发行版,如redhat Linux 我一锅大杂烩 我高内聚高抽象 我装起来都费劲 我一键安装 我运行起来一堆问题 我小白都能稳定运行 我一堆模块 我大道至简海纳百川 不求最好,但求最贵 优秀还便宜 你真的需要虚拟机?真的需要 IaaS 层? PaaS SaaS 有本质区别?鸭式辩型忘记了? 云里面,一切皆应用才是王道。 系统架构与设计理念 通用的系统管理入口 所有应用自由安装卸载 极简、高内聚、高度抽象 提供最基础的核心能力 提供最基础的核心能力 容器管理、编排调度、资源隔离 驱动层实现资源抽象 自由切换,到处运行 Sealos API Sealos CLI Desktop 裸金属 AWS 阿里云 更多······ boot 集群镜像 租户管理 应用管理 函数计算 消息队列 数据库 缓存 计算驱动 网络驱动 存储驱动 自由组装 内聚解耦 化整为零 大道至简 sealos 的能力 • 10 秒上线一个自带域名和0 码力 | 29 页 | 7.64 MB | 9 月前3
 Kubernetes开源书 -  周立云和操作系统可移植性 :可运⾏在Ubuntu、RHEL、CoreOS、内部部署,Google Container Engine以及任何其他 地⽅。 以应⽤为中⼼的管理:从在虚拟硬件上运⾏操作系统的抽象级别,提升到使⽤逻辑资源在操作系统上运⾏应⽤程序 的级别。 松耦合,分布式,弹性,解放的微服务:应⽤程序分为更⼩、独⽴的部件,可动态部署和管理——⽽不是⼀个运⾏ 在⼀个⼤型机上的单体。 01-什么是Kubernetes ,从⽽将pod的状态报告回系统的其余部分。 将节点的状态报告回系统的其余部分。 kube-proxy kube-proxy 在主机上维护⽹络规则并执⾏连接转发,从⽽来实现Kubernetes服务抽象。 docker 04-K8s组件 16 docker ⽤于运⾏容器。 rkt rkt 是⼀个Docker的替代品,⽀持在实验中运⾏容器 supervisord supervisord 地址和端⼝,相互之间能通过localhost来发现和通信。 不仅如此,同⼀个Pod内的所有容器还共享存储卷,这个存储卷也被称为Pod Volume。 在k8s中创建,调度和管理的最⼩单位就是Pod,⽽⾮容器,Pod通过提供更⾼层次的抽象,提供了更加灵活的部署和管 理模式。 Replication Controller(RC) RC是⽤来管理Pod的⼯具,每个RC由⼀个或多个Pod组成。 在RC被创建之后,系统将会保持RC中0 码力 | 135 页 | 21.02 MB | 1 年前3 Kubernetes开源书 -  周立云和操作系统可移植性 :可运⾏在Ubuntu、RHEL、CoreOS、内部部署,Google Container Engine以及任何其他 地⽅。 以应⽤为中⼼的管理:从在虚拟硬件上运⾏操作系统的抽象级别,提升到使⽤逻辑资源在操作系统上运⾏应⽤程序 的级别。 松耦合,分布式,弹性,解放的微服务:应⽤程序分为更⼩、独⽴的部件,可动态部署和管理——⽽不是⼀个运⾏ 在⼀个⼤型机上的单体。 01-什么是Kubernetes ,从⽽将pod的状态报告回系统的其余部分。 将节点的状态报告回系统的其余部分。 kube-proxy kube-proxy 在主机上维护⽹络规则并执⾏连接转发,从⽽来实现Kubernetes服务抽象。 docker 04-K8s组件 16 docker ⽤于运⾏容器。 rkt rkt 是⼀个Docker的替代品,⽀持在实验中运⾏容器 supervisord supervisord 地址和端⼝,相互之间能通过localhost来发现和通信。 不仅如此,同⼀个Pod内的所有容器还共享存储卷,这个存储卷也被称为Pod Volume。 在k8s中创建,调度和管理的最⼩单位就是Pod,⽽⾮容器,Pod通过提供更⾼层次的抽象,提供了更加灵活的部署和管 理模式。 Replication Controller(RC) RC是⽤来管理Pod的⼯具,每个RC由⼀个或多个Pod组成。 在RC被创建之后,系统将会保持RC中0 码力 | 135 页 | 21.02 MB | 1 年前3
 QCon北京2018/QCon北京2018-基于Kubernetes与Helm的应用部署平台构建实践-张夏-赵明+更好的性能 • 使用Helm进行复杂容器编排 基于Kubernetes平台技术架构 基于Kubernetes的应用部署最佳实践 • 构建Docker镜像最佳实践 • 基于Helm的应用模板抽象 • 基于Kubernetes的 CI/CD� 构建Docker镜像最佳实践 预期 ������ ������ ������ 实践 ����� ������ �������� ��Cache K8s服务编排唯一开源子项目,K8s包管理工具 • 用于部署复杂K8s应用,处理复杂的服务间依赖 • 查看发布历史与某一次发布的具体配置 • 基于Go模板语言,实现应用快速部署到K8s集群 基于Helm的应用模板抽象 • 模板+配置 • 参数化配置支持多个环境 • 管理应用的发布 • 复杂服务间依赖处理 基于Kubernetes的 CI/CD� 从持续集成到持续交付过程图示 • 将源代码、配置、脚本放于Git做0 码力 | 28 页 | 12.18 MB | 1 年前3 QCon北京2018/QCon北京2018-基于Kubernetes与Helm的应用部署平台构建实践-张夏-赵明+更好的性能 • 使用Helm进行复杂容器编排 基于Kubernetes平台技术架构 基于Kubernetes的应用部署最佳实践 • 构建Docker镜像最佳实践 • 基于Helm的应用模板抽象 • 基于Kubernetes的 CI/CD� 构建Docker镜像最佳实践 预期 ������ ������ ������ 实践 ����� ������ �������� ��Cache K8s服务编排唯一开源子项目,K8s包管理工具 • 用于部署复杂K8s应用,处理复杂的服务间依赖 • 查看发布历史与某一次发布的具体配置 • 基于Go模板语言,实现应用快速部署到K8s集群 基于Helm的应用模板抽象 • 模板+配置 • 参数化配置支持多个环境 • 管理应用的发布 • 复杂服务间依赖处理 基于Kubernetes的 CI/CD� 从持续集成到持续交付过程图示 • 将源代码、配置、脚本放于Git做0 码力 | 28 页 | 12.18 MB | 1 年前3
 第29 期| 2023 年9 月- 技术雷达的 LLaMA 以及亚马逊的 Bedrock 等)在我们的讨论中占据重要地位。更广泛来说,大语言模型可以应用于从 内容生成(文本、图片和视频)、代码生成到总结概述和翻译等各种问题。通过自然语言的抽象层,这些大模型 成为了强大的工具库,被诸多信息工作者广泛使用。我们讨论了大语言模型的各个方面,包括自托管式大语言 模型,相较云托管的大语言模型,它支持更多的定制和管控。随着大语言模型日益复杂,我们正在深思如何在 带的变革方案,这些方案描述了需要进行的更改,例如用于跨版本迁移常用框架。重构引擎、捆绑方案和构建 工具插件都是开源软件,这使得团队在需要时可以更容易地使用 OpenRewrite。代码智能工具都是基于将源代 码解析为抽象语法树(AST),这些工具将如何受到大语言模型领域快速发展的影响,我们拭目以待。 80. OrbStack 评估 OrbStack 是在 macOS 上运行 Docker 容器的一种方式;我们的开发人员发现,与 Boot 开发的 服务,我们的团队使用了 Netflix DGS,体验很好。Netflix DGS 基于 graphql-java 开发,并提供了许多 Spring Boot 编程模型的特性与抽象。因此使得开发 GraphQL 端点,以及与 Spring Security 等 Spring 特性集成就变 得很容易。虽然 DGS 是用 Kotlin 编写的,但在 Java 上它也工作的很好。0 码力 | 43 页 | 2.76 MB | 1 年前3 第29 期| 2023 年9 月- 技术雷达的 LLaMA 以及亚马逊的 Bedrock 等)在我们的讨论中占据重要地位。更广泛来说,大语言模型可以应用于从 内容生成(文本、图片和视频)、代码生成到总结概述和翻译等各种问题。通过自然语言的抽象层,这些大模型 成为了强大的工具库,被诸多信息工作者广泛使用。我们讨论了大语言模型的各个方面,包括自托管式大语言 模型,相较云托管的大语言模型,它支持更多的定制和管控。随着大语言模型日益复杂,我们正在深思如何在 带的变革方案,这些方案描述了需要进行的更改,例如用于跨版本迁移常用框架。重构引擎、捆绑方案和构建 工具插件都是开源软件,这使得团队在需要时可以更容易地使用 OpenRewrite。代码智能工具都是基于将源代 码解析为抽象语法树(AST),这些工具将如何受到大语言模型领域快速发展的影响,我们拭目以待。 80. OrbStack 评估 OrbStack 是在 macOS 上运行 Docker 容器的一种方式;我们的开发人员发现,与 Boot 开发的 服务,我们的团队使用了 Netflix DGS,体验很好。Netflix DGS 基于 graphql-java 开发,并提供了许多 Spring Boot 编程模型的特性与抽象。因此使得开发 GraphQL 端点,以及与 Spring Security 等 Spring 特性集成就变 得很容易。虽然 DGS 是用 Kotlin 编写的,但在 Java 上它也工作的很好。0 码力 | 43 页 | 2.76 MB | 1 年前3
 k8s操作手册 2.3另一端互相连接;所以veth-pair常用于充当桥梁,连通2个不同的NameSpace网 络 NameSpace是Linux 2.6.x之后的内核版本支持的特性,主要用于资源的隔离,有 了NameSpace,一个Linux系统可以抽象出多个网络子系统,各子系统都有自己 的网络设备、协议栈等,且互不影响;Docker容器服务给每个容器组创建一个 NameSpace,以及一个veth-pair设备,其中一半veth-x放在容器的NameSpace rpcbind nfs-u�ls -y #安装nfs客户端 ③PVC PV是要用户了解所用到的网络存储系统的具体细节才可使用相关存储卷,而pvc 使得用户可以以抽象的方式去使用k8s集群的PV资源,pvc是pv的消费者 PVC(PersistentVolumeClaim)向PV申请特定大小的空间,从而创建出pvc存储 卷,再由pod通过pvc存储卷去关联使0 码力 | 126 页 | 4.33 MB | 1 年前3 k8s操作手册 2.3另一端互相连接;所以veth-pair常用于充当桥梁,连通2个不同的NameSpace网 络 NameSpace是Linux 2.6.x之后的内核版本支持的特性,主要用于资源的隔离,有 了NameSpace,一个Linux系统可以抽象出多个网络子系统,各子系统都有自己 的网络设备、协议栈等,且互不影响;Docker容器服务给每个容器组创建一个 NameSpace,以及一个veth-pair设备,其中一半veth-x放在容器的NameSpace rpcbind nfs-u�ls -y #安装nfs客户端 ③PVC PV是要用户了解所用到的网络存储系统的具体细节才可使用相关存储卷,而pvc 使得用户可以以抽象的方式去使用k8s集群的PV资源,pvc是pv的消费者 PVC(PersistentVolumeClaim)向PV申请特定大小的空间,从而创建出pvc存储 卷,再由pod通过pvc存储卷去关联使0 码力 | 126 页 | 4.33 MB | 1 年前3
 Alluxio 助力 Kubernetes, 加速云端深度学习Alluxio 服务器 HDFS接口客户端 POSIX接口客户端 Alluxio 服务器 Alluxio 服务器 大数据查询 大数据ETL 模型训练 Alluxio核心功能三:统一的文件系统抽象 Alluxio 服务器 Alluxio在云端AI训练场景的性能好处 • 支持大规模的数据缓存 • 本地内存加速 • 支持数据预热 • LRU缓存管理 Object storage0 码力 | 22 页 | 11.79 MB | 1 年前3 Alluxio 助力 Kubernetes, 加速云端深度学习Alluxio 服务器 HDFS接口客户端 POSIX接口客户端 Alluxio 服务器 Alluxio 服务器 大数据查询 大数据ETL 模型训练 Alluxio核心功能三:统一的文件系统抽象 Alluxio 服务器 Alluxio在云端AI训练场景的性能好处 • 支持大规模的数据缓存 • 本地内存加速 • 支持数据预热 • LRU缓存管理 Object storage0 码力 | 22 页 | 11.79 MB | 1 年前3
 QCon北京2017/企业软件互联网应用实践/基于 kubernetes 的企业级容器云Internal. All rights reserved. 背景和挑战 • 内部系统演进 每个项目自维护 难以规范和升级 01 脚本化 多个工具集成 最佳搭配 合力作战 03 平台化 抽象成工具 模板化 一键化 零散,不成体系 02 工具化 6 2017 Lenovo Internal. All rights reserved. 背景和挑战 • 挑战 依然不够自动化 服务割裂,申请流程0 码力 | 30 页 | 1.80 MB | 1 年前3 QCon北京2017/企业软件互联网应用实践/基于 kubernetes 的企业级容器云Internal. All rights reserved. 背景和挑战 • 内部系统演进 每个项目自维护 难以规范和升级 01 脚本化 多个工具集成 最佳搭配 合力作战 03 平台化 抽象成工具 模板化 一键化 零散,不成体系 02 工具化 6 2017 Lenovo Internal. All rights reserved. 背景和挑战 • 挑战 依然不够自动化 服务割裂,申请流程0 码力 | 30 页 | 1.80 MB | 1 年前3
 Operator Pattern 用 Go 扩展 Kubernetes 的最佳实践Cache\Planned Action Create Update Delete latest ✅ ✅ ✅ stale c-lag -- ❌ ❌ u-lag -- ✅ ✅ d-lag ❌ -- -- 问题抽象 本地 cache 中的对象有两种可能,即及时(latest)与过 期(stale),我们生成的执行计划有3种可能的动作,即 Create、Update 和 Delete。 进一步的,stale 对象意味着本地0 码力 | 21 页 | 3.06 MB | 9 月前3 Operator Pattern 用 Go 扩展 Kubernetes 的最佳实践Cache\Planned Action Create Update Delete latest ✅ ✅ ✅ stale c-lag -- ❌ ❌ u-lag -- ✅ ✅ d-lag ❌ -- -- 问题抽象 本地 cache 中的对象有两种可能,即及时(latest)与过 期(stale),我们生成的执行计划有3种可能的动作,即 Create、Update 和 Delete。 进一步的,stale 对象意味着本地0 码力 | 21 页 | 3.06 MB | 9 月前3
共 14 条
- 1
- 2














