airflow.providers.cncf.kubernetes.pod_generator_deprecated
¶
Pod 生成的向后兼容性。
此模块在之前的 Pod API 和输出 kubernetes.client.models.V1Pod 之间提供了一个接口。 优点是支持完整的 Kubernetes API,并且不需要编写序列化。
模块内容¶
类¶
Pod 的静态默认值。 |
|
包含 Kubernetes Airflow Worker 配置逻辑。 |
函数¶
|
规范化提供的标签,使其长度和字符有效。 |
属性¶
- airflow.providers.cncf.kubernetes.pod_generator_deprecated.make_safe_label_value(string)[源代码]¶
规范化提供的标签,使其长度和字符有效。
有效的标签值必须小于或等于 63 个字符,并且必须为空或以字母数字字符 ([a-z0-9A-Z]) 开头和结尾,并且之间包含破折号 (-)、下划线 (_)、点 (.) 和字母数字字符。
如果标签值在安全后大于 63 个字符,或者与发送到此函数的原始值有任何不同,则我们需要截断为 53 个字符,并附加一个唯一的哈希。
- class airflow.providers.cncf.kubernetes.pod_generator_deprecated.PodGenerator(image=None, name=None, namespace=None, volume_mounts=None, envs=None, cmds=None, args=None, labels=None, node_selectors=None, ports=None, volumes=None, image_pull_policy=None, restart_policy=None, image_pull_secrets=None, init_containers=None, service_account_name=None, resources=None, annotations=None, affinity=None, hostnetwork=False, tolerations=None, security_context=None, configmaps=None, dnspolicy=None, schedulername=None, extract_xcom=False, priority_class_name=None)[源代码]¶
包含 Kubernetes Airflow Worker 配置逻辑。
表示一个 Kubernetes pod 并管理单个 pod 的执行。任何特定于容器的配置都会应用于容器列表中的第一个容器。
- 参数
image (str | None) – Docker 镜像
name (str | None) – metadata 部分中的名称(不是容器名称)
namespace (str | None) – pod 命名空间
volume_mounts (list[kubernetes.client.models.V1VolumeMount | dict] | None) – Kubernetes 卷挂载列表
args (list[str] | None) – 将在 pod 上运行的参数列表
labels (dict[str, str] | None) – pod 元数据的标签
node_selectors (dict[str, str] | None) – pod 的节点选择器
ports (list[kubernetes.client.models.V1ContainerPort | dict] | None) – 端口列表。应用于第一个容器。
volumes (list[kubernetes.client.models.V1Volume | dict] | None) – 要附加到第一个容器的卷
image_pull_policy (str | None) – 指定缓存或始终拉取镜像的策略
restart_policy (str | None) – pod 的重启策略
image_pull_secrets (str | None) – 要提供给 pod 的任何镜像拉取密钥。如果需要多个密钥,请提供逗号分隔的列表:secret_a,secret_b
init_containers (list[kubernetes.client.models.V1Container] | None) – 初始化容器列表
service_account_name (str | None) – 在 Pod 中运行的进程的身份
resources (kubernetes.client.models.V1ResourceRequirements | dict | None) – 第一个容器的资源需求
annotations (dict[str, str] | None) – pod 的注解
affinity (dict | None) – 一个包含一组亲和性调度规则的字典
hostnetwork (bool) – 如果为 True,则在 pod 上启用主机网络
tolerations (list | None) – Kubernetes 容忍度列表
security_context (kubernetes.client.models.V1PodSecurityContext | dict | None) – 一个包含 pod 的安全上下文的字典
configmaps (list[str] | None) – 要从中读取环境配置的任何 configmap 引用。如果需要多个 configmap,请提供逗号分隔的列表 configmap_a,configmap_b
dnspolicy (str | None) – 指定 pod 的 dnspolicy
schedulername (str | None) – 指定 pod 的调度器名称
pod – 完全指定的 pod。与 path_or_string 互斥
extract_xcom (bool) – 是否启动一个容器用于 xcom
priority_class_name (str | None) – 启动的 Pod 的优先级类名称