Attach 配置 #
本文档将指导您如何配置 Attach 功能。
什么是 Attach? #
Attach 是一个 kwok
配置,允许用户定义和模拟附加到单个 Pod。
下面的 YAML 显示了 Attach 资源的所有字段
kind: Attach
apiVersion: kwok.x-k8s.io/v1alpha1
metadata:
name: <string>
namespace: <string>
spec:
attaches:
- containers:
- <string>
logsFile: <string>
要将 Attach 与要模拟的特定 Pod 关联,用户必须确保 metadata.name
和 metadata.namespace
与目标 Pod 的名称和命名空间不一致。
Pod 的附加模拟设置通过 attaches
字段指定。attaches
字段按组组织,每个组对应于共享相同附加模拟设置的容器集合。每个组包含一个容器名称列表(containers
)和共享的附加模拟设置(logsFile
)。
如果未在组中给出containers
,则该组中的logsFile
将应用于目标 Pod 的所有容器。
logsFile
字段指定日志的文件路径。如果未设置 logsFile
字段,则将忽略此项。
ClusterAttach #
除了模拟单个 Pod 之外,用户还可以通过 ClusterAttach 模拟多个 Pod 的附加。
下面的 YAML 显示了 ClusterAttach 资源的所有字段
kind: ClusterAttach
apiVersion: kwok.x-k8s.io/v1alpha1
metadata:
name: <string>
spec:
selector:
matchNamespaces:
- <string>
matchNames:
- <string>
attaches:
- containers:
- <string>
logsFile: <string>
与 Attach 相比,metadata.name
和 metadata.namespace
必须与关联的 Pod 匹配,ClusterAttach 有一个附加的 selector
字段,用于指定要模拟的目标 Pod。matchNamespaces
和 matchNames
都表示为列表,它们旨在通过不同级别获取 Pod 集合
- 如果
matchNamespaces
为空,则 ClusterAttach 将应用于由kwok
管理且名称列在matchNames
中的所有 Pod。 - 如果
matchNames
为空,则 ClusterAttach 将应用于由kwok
管理且位于matchNamespaces
中列出的命名空间下的所有 Pod。 - 如果
matchNames
和matchNamespaces
都未设置,则 ClusterAttach 将应用于kwok
管理的所有 Pod。
ClusterAttach 的 attaches
字段与 Attach 中的字段具有相同的语义。