PyConChina2022-北京-用Python给Kubernetes写个自定义控制器-张晋涛用 Python 给 Kubernetes 写个控制器 主讲人: 张晋涛 个人介绍 Apache APISIX PMC Kubernetes Ingress NGINX maintainer Microsoft MVP 『 K8S 生态周报』发起人和维护者 GitHub:tao12345666333 Mail: zhangjintao@apache.org Agenda Agenda Kubernetes 中请求处理流程 什么是准入控制器 用 Python 实现准入控制器 与其他方案对比 Kubernetes 架构 kube-apiserver Kubernetes 集群的核心组件 处理集群内外的所有请求 Kubernetes 请求处理流程 API Handler 匹配处理链路( /apis ) 认证 / 授权 Mutating Validating Admission :可进行验证操作 etcd :持久化 什么是准入控制器 在 Mutating Admission 或 Validating Admission 执行相 关操作的代码逻辑或者组件 (静态)准入控制器: Kubernetes 代码中携带,不可动 态调整的 动态准入控制器:利用 Kubernetes 提供的 MutatingAdmissionWebhook0 码力 | 17 页 | 1.76 MB | 1 年前3
Python 标准库参考指南 3.6.15 解析 . . . . . . . . . . . . . . . . . . . . . . 1052 21 互联网协议和支持 1061 21.1 webbrowser —方便的 Web 浏览器控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061 21.2 cgi —通用网关接口支持 . . . . . . . . . . . . . . . . . 1686 35.6 termios —POSIX 风格的 tty 控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1688 35.7 tty —终端控制功能 . . . . . . . . . . . . . . . . . . . . . . . . . . 式,可以是 'eval';如果是单个交互式语句,可以是 'single'。(在最后一种情况下,如果表达式 执行结果不是 None 将会被打印出来。) 可选参数 flags 和 dont_inherit 控制在编译 source 时要用到哪个 future 语句。如果两者都未提供(或都 为零)则会使用调用compile() 的代码中有效的 future 语句来编译代码。如果给出了 flags 参数但没 有0 码力 | 1886 页 | 8.95 MB | 9 月前3
Python 标准库参考指南 3.6.15 解析 . . . . . . . . . . . . . . . . . . . . . . 1052 21 互联网协议和支持 1061 21.1 webbrowser —方便的 Web 浏览器控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061 21.2 cgi —通用网关接口支持 . . . . . . . . . . . . . . . . . 1686 35.6 termios —POSIX 风格的 tty 控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1688 35.7 tty —终端控制功能 . . . . . . . . . . . . . . . . . . . . . . . . . . 式,可以是 'eval';如果是单个交互式语句,可以是 'single'。(在最后一种情况下,如果表达式 执行结果不是 None 将会被打印出来。) 可选参数 flags 和 dont_inherit 控制在编译 source 时要用到哪个 future 语句。如果两者都未提供(或都 为零)则会使用调用compile() 的代码中有效的 future 语句来编译代码。如果给出了 flags 参数但没 有0 码力 | 1886 页 | 8.95 MB | 9 月前3
Python 标准库参考指南 3.7.13 XML 解析 . . . . . . . . . . . . . . . . . . . . 1040 22 互联网协议和支持 1049 22.1 webbrowser --- 方便的 Web 浏览器控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049 22.2 cgi --- 通用网关接口支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1502 30.5 warnings ——警告信息的控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1502 30.6 dataclasses --- 数据类 . . . . . . . . . . 1652 36.6 termios --- POSIX 风格的 tty 控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1654 36.7 tty --- 终端控制功能 . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 1846 页 | 9.09 MB | 9 月前3
Python 标准库参考指南 3.7.13 . . . . . . . . . . . . . . . . . . . . . . 1101 22 互联网协议和支持 1111 22.1 webbrowser --- 方便的 Web 浏览器控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1111 22.2 cgi --- 通用网关接口支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1595 30.5 warnings ——警告信息的控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1596 30.6 dataclasses --- 数据类 . . . . . . . . 1756 36.6 termios --- POSIX 风格的 tty 控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1758 36.7 tty --- 终端控制功能 . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 1961 页 | 9.14 MB | 9 月前3
Hello 算法 1.1.0 Python版在算法中,重复执行某个任务是很常见的,它与复杂度分析息息相关。因此,在介绍时间复杂度和空间复杂 度之前,我们先来了解如何在程序中实现重复执行任务,即两种基本的程序控制结构:迭代、递归。 2.2.1 迭代 迭代(iteration)是一种重复执行某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某段 代码,直到这个条件不再满足。 1. for 循环 for 循环是最常见的迭代形式之一,适合在预先知道迭代次数时使用。 思路称为“以空间换时间”;反之,则称为“以时间换空间”。 选择哪种思路取决于我们更看重哪个方面。在大多数情况下,时间比空间更宝贵,因此“以空间换时间”通 常是更常用的策略。当然,在数据量很大的情况下,控制空间复杂度也非常重要。 第 2 章 复杂度分析 hello‑algo.com 47 2.5 小结 1. 重点回顾 算法效率评估 ‧ 时间效率和空间效率是衡量算法优劣的两个主要评价指标。 ‧ 标准信息交换代码)。它使用 7 位二进制数(一个字节的低 7 位)表示一个字符,最多能够表示 128 个不同的 字符。如图 3‑6 所示,ASCII 码包括英文字母的大小写、数字 0 ~ 9、一些标点符号,以及一些控制字符(如 换行符和制表符)。 图 3‑6 ASCII 码 然而,ASCII 码仅能够表示英文。随着计算机的全球化,诞生了一种能够表示更多语言的 EASCII 字符集。它 在 ASCII 的 70 码力 | 364 页 | 18.42 MB | 1 年前3
Hello 算法 1.0.0 Python版在算法中,重复执行某个任务是很常见的,它与复杂度分析息息相关。因此,在介绍时间复杂度和空间复杂 度之前,我们先来了解如何在程序中实现重复执行任务,即两种基本的程序控制结构:迭代、递归。 2.2.1 迭代 「迭代 iteration」是一种重复执行某个任务的控制结构。在迭代中,程序会在满足一定的条件下重复执行某 段代码,直到这个条件不再满足。 1. for 循环 for 循环是最常见的迭代形式之一,适合在预先知道迭代次数时使用。 思路称为“以空间换时间”;反之,则称为“以时间换空间”。 选择哪种思路取决于我们更看重哪个方面。在大多数情况下,时间比空间更宝贵,因此“以空间换时间”通 常是更常用的策略。当然,在数据量很大的情况下,控制空间复杂度也非常重要。 第 2 章 复杂度分析 hello‑algo.com 47 2.5 小结 1. 重点回顾 算法效率评估 ‧ 时间效率和空间效率是衡量算法优劣的两个主要评价指标。 ‧ 国标准信息交换代码)。它使用 7 位二进制数(一个字节的低 7 位)表示一个字符,最多能够表示 128 个不 同的字符。如图 3‑6 所示,ASCII 码包括英文字母的大小写、数字 0 ~ 9、一些标点符号,以及一些控制字符 (如换行符和制表符)。 图 3‑6 ASCII 码 然而,ASCII 码仅能够表示英文。随着计算机的全球化,诞生了一种能够表示更多语言的「EASCII」字符 集。它在 ASCII 的 70 码力 | 362 页 | 17.54 MB | 1 年前3
Python 标准库参考指南 3.8.20 XML 解析 . . . . . . . . . . . . . . . . . . . . 1089 21 互联网协议和支持 1099 21.1 webbrowser --- 方便的 Web 浏览器控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099 21.2 cgi --- 通用网关接口支持 . . . . . . . . 顶层脚本环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1568 29.5 warnings ——控制警告信息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1568 29.6 dataclasses --- . . . . . . . . . 1726 35.6 termios --- POSIX 风格的 tty 控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1728 35.7 tty --- 终端控制功能 . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 1927 页 | 9.69 MB | 9 月前3
Python 标准库参考指南 3.8.20 XML 解析 . . . . . . . . . . . . . . . . . . . . 1089 21 互联网协议和支持 1099 21.1 webbrowser --- 方便的 Web 浏览器控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . 1099 21.2 cgi --- 通用网关接口支持 . . . . . . . . 顶层脚本环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1568 29.5 warnings ——控制警告信息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1568 29.6 dataclasses --- . . . . . . . . . 1726 35.6 termios --- POSIX 风格的 tty 控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1728 35.7 tty --- 终端控制功能 . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 1927 页 | 9.69 MB | 9 月前3
Python 标准库参考指南 3.8.20 . . . . . . . . . . . . . . . . . . . . . . 1166 21 互联网协议和支持 1177 21.1 webbrowser --- 方便的 Web 浏览器控制器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177 21.2 cgi --- 通用网关接口支持 . . . . . . 顶层脚本环境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1676 29.5 warnings ——控制警告信息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1677 29.6 dataclasses . . . . . . . . 1844 35.6 termios --- POSIX 风格的 tty 控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1846 35.7 tty --- 终端控制功能 . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 2052 页 | 9.74 MB | 9 月前3
共 140 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14













