@@ -26,21 +26,18 @@ under the License.
26
26
27
27
# Pod template
28
28
29
- The operator CRD is designed to have a minimal set of direct, short-hand CRD settings to express the most
30
- basic attributes of a deployment. For all other settings the CRD provides the ` flinkConfiguration ` and
31
- ` podTemplate ` fields.
29
+ <a name =" pod-template " ></a >
32
30
33
- Pod templates permit customization of the Flink job and task manager pods, for example to specify
34
- volume mounts, ephemeral storage, sidecar containers etc.
31
+ Operator CRD 被设计为一组直接、简短的 CRD 设置,以表达 deployment 的最基本属性。对于所有其他设置,CRD 提供了 ` flinkConfiguration ` 和 ` podTemplate ` 字段。
35
32
36
- Pod templates can be layered, as shown in the example below.
37
- A common pod template may hold the settings that apply to both job and task manager,
38
- like ` volumeMounts ` . Another template under job or task manager can define additional settings that supplement or override those
39
- in the common template, such as a task manager sidecar.
33
+ Pod templates 允许自定义 Flink Job 和 Task Manager 的 pod,例如指定卷挂载、临时存储、sidecar 容器等。
40
34
41
- The operator is going to merge the common and specific templates for job and task manager respectively.
35
+ Pod template 可以被分层,如下面的示例所示。
36
+ 一个通用的 pod template 可以保存适用于作业和 task manager 的设置,比如 ` volumeMounts ` 。作业或 task manager 下的另一个模板可以定义补充或覆盖通用模板中的其他设置,比如一个 task manager sidecar。
42
37
43
- Here the full example:
38
+ Operator 将分别合并作业和 task manager 的通用和特定模板。
39
+
40
+ 下面是一个完整的示例:
44
41
45
42
``` yaml
46
43
apiVersion : flink.apache.org/v1beta1
@@ -93,18 +90,21 @@ spec:
93
90
` ` `
94
91
95
92
{{< hint info >}}
96
- When using the operator with Flink native Kubernetes integration, please refer to [pod template field precedence ](
97
- https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/resource-providers/native_kubernetes/#fields-overwritten-by-flink).
93
+ 当使用与 Flink 原生 Kubernetes 集成的 operator 时,请参考 [pod template 字段优先级 ](
94
+ https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/resource-providers/native_kubernetes/#fields-overwritten-by-flink)。
98
95
{{< /hint >}}
99
96
97
+
100
98
## Array Merging Behaviour
101
99
102
- When layering pod templates (defining both a top level and jobmanager specific podtemplate for example) the corresponding yamls are merged together.
100
+ <a name="array-meging-behaviour"></a>
101
+
102
+ 当分层 pod templates(例如同时定义顶层和 jobmanager 特定的 pod 模板)时,相应的 yaml 会合并在一起。
103
103
104
- The default behaviour of the pod template mechanism is to merge array arrays by merging the objects in the respective array positions.
105
- This requires that containers in the podTemplates are defined in the same order otherwise the results may be undefined.
104
+ Pod 模板机制的默认行为是通过合并相应数组位置的对象来合并数组。
105
+ 这要求 podTemplates 中的容器以相同的顺序定义,否则结果可能未定义。
106
106
107
- Default behaviour (merge by position):
107
+ 默认行为(按位置合并):
108
108
109
109
` ` `
110
110
arr1 : [{name: a, p1: v1}, {name: b, p1: v1}]
@@ -113,10 +113,10 @@ arr1: [{name: a, p2: v2}, {name: c, p2: v2}]
113
113
merged : [{name: a, p1: v1, p2: v2}, {name: c, p1: v1, p2: v2}]
114
114
` ` `
115
115
116
- The operator supports an alternative array merging mechanism that can be enabled by the ` kubernetes.operator.pod-template.merge-arrays-by-name` flag.
117
- When true, instead of the default positional merging, object array elements that have a `name` property defined will be merged by their name and the resulting array will be a union of the two input arrays.
116
+ Operator 支持另一种数组合并机制,可以通过 ` kubernetes.operator.pod-template.merge-arrays-by-name` 标志启用。
117
+ 当为 true 时,不会进行默认的位置合并,而是根据名称合并定义了 `name` 属性的对象数组元素,并且生成的数组将是两个输入数组的并集。
118
118
119
- Merge by name :
119
+ 通过名称合并:
120
120
121
121
```
122
122
arr1: [ {name: a, p1: v1}, {name: b, p1: v1}]
@@ -125,4 +125,4 @@ arr1: [{name: a, p2: v2}, {name: c, p2: v2}]
125
125
merged: [ {name: a, p1: v1, p2: v2}, {name: b, p1: v1}, {name: c, p2: v2}]
126
126
```
127
127
128
- Merging by name can we be very convenient when merging container specs or when the base and override templates are not defined together.
128
+ 当合并容器规格或者当基础模板和覆盖模板没有一起定义时,按名称合并可以非常方便。
0 commit comments