Kubernetes + OAM 让开发者更简单来自应用开发者的“灵魂拷问” “ Kubernetes 让 Devops 更复杂了!” Kubernetes 对于应用开发复杂在哪里 1. 关注点不同 业务研发 2. 语义与抽象程度不同 业务运维 3. 交互与使用习惯不同 业务研发、运维 YAML 文件 图形化界面 命令行工具 IaC 配置语言 扩容策略 • 当 RT 上升 10% 时,自动扩容 100 个实例 发布策略 • 当金丝雀实例通过 Deployment Ingress Service YAML 文件 代码、应用、CICD 流水线 容器 Pod Controller 调度 Node Sidecar CNI CSI 研发都要做 Kubernetes 专家? Kubernetes 构建 Platform on Kubernetes 控制器 各种各样的控制器(Controller) 容器 虚拟机 负载均衡 数据库 声明式 API 对象 基础设施层能力 业务运维 平台工程师 业务研发 扩容策略 发布策略 分批策略 访问控制 流量配置 应用管理平台 (Openshift、Cloudfoundry、阿里内部、腾讯内部 …) 应用 CI/CD 流水线 K8s PaaS K8s 但是,K8s PaaS 正面临着“能力困境” 研发与运维人员日益增长的应用管理诉求 PaaS 有限的、不可扩展的专有API0 码力 | 22 页 | 10.58 MB | 1 年前3
Redis 多数据中心双向同步 祝辰Redis 多数据中心双向同步 祝辰 • 携程框架架构部门 • 资深研发工程师 • 专注于 Redis 高可用系统的 研发工作 • 对分布式存储系统有所涉猎 讲师介绍 祝辰 1 开篇 2 3 4 5 目 录 CONTENTS 携程的Redis架构 分布式理论 双向/多向同步的问题 CRDT 19 世纪的通讯 “At 12:30 am on April 4th idempotent Operation-based Replication State-based Replication • 通常是基于全量状态进行同步, 这样的结果是造成的网络流量 太大, 且同步的效率低下. 在同步机制已经建立的系统中, 我们 更倾向于使用 Op-based replication, 以达到节省流量和快速 同步的目的 Op-based Replication • 基于 unbounded0 码力 | 45 页 | 1.74 MB | 1 年前3
Build web application with Golangusername=?,departname=?,created=?") checkErr(err) res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09") checkErr(err) id, err := res.LastInsertId() checkErr(err) departname, created) values(?,?,?)") checkErr(err) res, err := stmt.Exec("astaxie", "研发部门", "2012-12-09") checkErr(err) id, err := res.LastInsertId() checkErr(err) QueryRow("INSERT INTO userinfo(username,departname,created) VALUES($1,$2,$3) returning uid;", "astax ie", "研发部门", "2012-12-09").Scan(&lastInsertId) How to use PostgreSQL 123 checkErr(err) fmt0 码力 | 327 页 | 1.63 MB | 1 年前3
Kubernetes for Edge Computing across
Inter-Continental Haier Production Sites基于云的开放式物联网操作系统,实现全 面的系统集成和数据融合,打破数据孤岛 Mindsphere平台 德国联邦政府支持相关行业协会建设工业4.0平台,负 责工业4.0国家战略的宣传推广,标准制定,人才培养 和技术研发。 以工业大数据为驱动,以云计算,大数据, 物联网技术为核心的工业互联网开放平台, 实现产品,机器,数据,人的全面互联互 通和综合集成 INDICS平台 根云平台 COSMOPlat平台 …0 码力 | 33 页 | 4.41 MB | 1 年前3
8. Continue to use ClickHouse as TSDBContinue to use ClickHouse as TSDB 邰翀 青云QingCloud 数据库研发工程师 ► Look back: Why we choose it ► Now: How we do ► Future: What we do Content Why we choose it Why we choose it Why we choose it0 码力 | 42 页 | 911.10 KB | 1 年前3
CipherTrust Transparent Encryption for Kubernetes容器是為服務架構套件配置和軟體相依性的必要元素。 Kubernetes 是用於部署和管理這些容器的開源軟體。 使 用 Kubernetes 可以更快地交付、部署和管理容器化應用 程式,透過可重複使用的模組化元件提高效率、優化資源利 用和降低授權費用以節省成本。 然而還是存在各種風險: • 特權用戶濫用 - 按照預設值,Docker 依據 root 特權存 取權限執行,管理員對所有租戶金鑰 (tenant secrets)0 码力 | 2 页 | 459.23 KB | 1 年前3
Python 标准库参考指南 3.7.13 __hash__() 方 法 的 文 档)。 为 了 便 于 在 各 种 数 字 类 型 (包 括int, float, decimal.Decimal 和fractions.Fraction) 上实现并保证效率,Python 对数字类型的哈希运算是基于为任意有理数定义 统一的数学函数,因此该运算对int 和fractions.Fraction 的全部实例,以及float 和decimal. Decimal 个长度为 1 的字符串。也就是说,对于 一个非空字符串 s, s[0] == s[0:1]。 不存在可变的字符串类型,但是str.join() 或io.StringIO 可以被被用来根据多个片段高效率地构 建字符串。 在 3.3 版更改: 为了与 Python 2 系列的向下兼容,再次允许字符串字面值使用 u 前缀。它对字符串字面值 的含义没有影响,并且不能与 r 前缀同时出现。 class 模块提供了一些快捷函数,以及可以完成所有工作的类TextWrapper。如果你只是要对一 两个文本字符串进行自动换行或填充,快捷函数应该就够用了;否则的话,你应该使用TextWrapper 的实例来提高效率。 textwrap.wrap(text, width=70, **kwargs) 对 text (字符串) 中的单独段落自动换行以使每行长度最多为 width 个字符。返回由输出行组成的列 表,行尾不带换行符。0 码力 | 1846 页 | 9.09 MB | 9 月前3
Python 标准库参考指南 3.8.20 __hash__() 方 法 的 文 档)。 为 了 便 于 在 各 种 数 字 类 型 (包 括int, float, decimal.Decimal 和fractions.Fraction) 上实现并保证效率,Python 对数字类型的哈希运算是基于为任意有理数定义 统一的数学函数,因此该运算对int 和fractions.Fraction 的全部实例,以及float 和decimal. Decimal 个长度为 1 的字符串。也就是说,对于 一个非空字符串 s, s[0] == s[0:1]。 不存在可变的字符串类型,但是str.join() 或io.StringIO 可以被被用来根据多个片段高效率地构 建字符串。 在 3.3 版更改: 为了与 Python 2 系列的向下兼容,再次允许字符串字面值使用 u 前缀。它对字符串字面值 的含义没有影响,并且不能与 r 前缀同时出现。 class 模块提供了一些快捷函数,以及可以完成所有工作的类TextWrapper。如果你只是要对一 两个文本字符串进行自动换行或填充,快捷函数应该就够用了;否则的话,你应该使用TextWrapper 的实例来提高效率。 textwrap.wrap(text, width=70, **kwargs) 对 text (字符串) 中的单独段落自动换行以使每行长度最多为 width 个字符。返回由输出行组成的列 表,行尾不带换行符。0 码力 | 1927 页 | 9.69 MB | 9 月前3
Python 标准库参考指南 3.8.20 __hash__() 方 法 的 文 档)。 为 了 便 于 在 各 种 数 字 类 型 (包 括int, float, decimal.Decimal 和fractions.Fraction) 上实现并保证效率,Python 对数字类型的哈希运算是基于为任意有理数定义 统一的数学函数,因此该运算对int 和fractions.Fraction 的全部实例,以及float 和decimal. Decimal 个长度为 1 的字符串。也就是说,对于 一个非空字符串 s, s[0] == s[0:1]。 不存在可变的字符串类型,但是str.join() 或io.StringIO 可以被被用来根据多个片段高效率地构 建字符串。 在 3.3 版更改: 为了与 Python 2 系列的向下兼容,再次允许字符串字面值使用 u 前缀。它对字符串字面值 的含义没有影响,并且不能与 r 前缀同时出现。 class 模块提供了一些快捷函数,以及可以完成所有工作的类TextWrapper。如果你只是要对一 两个文本字符串进行自动换行或填充,快捷函数应该就够用了;否则的话,你应该使用TextWrapper 的实例来提高效率。 textwrap.wrap(text, width=70, **kwargs) 对 text (字符串) 中的单独段落自动换行以使每行长度最多为 width 个字符。返回由输出行组成的列 表,行尾不带换行符。0 码力 | 1927 页 | 9.69 MB | 9 月前3
Python 标准库参考指南 3.10.15 __hash__() 方 法 的 文 档)。 为 了 便 于 在 各 种 数 字 类 型 (包 括int, float, decimal.Decimal 和fractions.Fraction) 上实现并保证效率,Python 对数字类型的哈希运算是基于为任意有理数定义 统一的数学函数,因此该运算对int 和fractions.Fraction 的全部实例,以及float 和decimal. Decimal 个长度为 1 的字符串。也就是说,对于 一个非空字符串 s, s[0] == s[0:1]。 不存在可变的字符串类型,但是str.join() 或io.StringIO 可以被被用来根据多个片段高效率地构 建字符串。 在 3.3 版更改: 为了与 Python 2 系列的向下兼容,再次允许字符串字面值使用 u 前缀。它对字符串字面值 的含义没有影响,并且不能与 r 前缀同时出现。 class 用户代码可以创建继承自某个异常类型的子类。建议每次仅子类化一个异常类型以避免多个基类处理 args 属性的不同方式,以及内存布局不兼容可能导致的冲突。 CPython 实现细节:大多数内置异常都用 C 实现以保证运行效率,参见: Objects/exceptions.c。其中一些 具有自定义内存布局,这使得创建继承自多个异常类型的子类成为不可能。一个类型的内存布局属于实 现细节并可能随着 Python 版本升级而改0 码力 | 2072 页 | 10.39 MB | 9 月前3
共 30 条
- 1
- 2
- 3













