Skip to content

Commit 9db83bc

Browse files
caicancaiRocMarshal1996fanrui
authored
[FLINK-34980] Translate overview document into Chinese (#810)
--------- Co-authored-by: Yuepeng Pan <[email protected]> Co-authored-by: Rui Fan <[email protected]>
1 parent e73363f commit 9db83bc

File tree

1 file changed

+73
-54
lines changed

1 file changed

+73
-54
lines changed

docs/content.zh/docs/concepts/overview.md

Lines changed: 73 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -24,78 +24,95 @@ specific language governing permissions and limitations
2424
under the License.
2525
-->
2626

27-
# Overview
28-
Flink Kubernetes Operator acts as a control plane to manage the complete deployment lifecycle of Apache Flink applications. Although Flink’s native Kubernetes integration already allows you to directly deploy Flink applications on a running Kubernetes(k8s) cluster, [custom resources](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) and the [operator pattern](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) have also become central to a Kubernetes native deployment experience.
29-
30-
Flink Kubernetes Operator aims to capture the responsibilities of a human operator who is managing Flink deployments. Human operators have deep knowledge of how Flink deployments ought to behave, how to start clusters, how to deploy jobs, how to upgrade them and how to react if there are problems. The main goal of the operator is the automation of these activities, which cannot be achieved through the Flink native integration alone.
31-
32-
## Features
33-
### Core
34-
- Fully-automated [Job Lifecycle Management]({{< ref "docs/custom-resource/job-management" >}})
35-
- Running, suspending and deleting applications
36-
- Stateful and stateless application upgrades
37-
- Triggering and managing savepoints
38-
- Handling errors, rolling-back broken upgrades
39-
- Multiple Flink version support: v1.15, v1.16, v1.17, v1.18
27+
<a name="overview"></a>
28+
29+
# 概述
30+
Flink Kubernetes Operator 扮演控制平面的角色,用于管理 Apache Flink 应用程序的完整部署生命周期。尽管 Flink 的原生 Kubernetes 集成已经允许你直接在运行的 Kubernetes(k8s) 集群上部署 Flink 应用程序,但 [自定义资源](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/)[operator 模式](https://kubernetes.io/docs/concepts/extend-kubernetes/operator/) 也已成为 Kubernetes 本地部署体验的核心。
31+
32+
Flink Kubernetes Operator 旨在承担人工操作 Flink 部署的职责。 人工操作者对 Flink 部署应该如何运行、如何启动集群、如何部署作业、如何升级作业以及出现问题时如何反应有着深入的了解。Operator 的主要目标是使这些活动自动化,而这无法仅通过 Flink 原生集成来实现。
33+
34+
35+
<a name="features"></a>
36+
37+
## 特征
38+
39+
<a name="core"></a>
40+
41+
### 核心
42+
- 全自动 [Job Lifecycle Management]({{< ref "docs/custom-resource/job-management" >}})
43+
- 运行、暂停和删除应用程序
44+
- 有状态和无状态应用程序升级
45+
- 保存点的触发和管理
46+
- 处理错误,回滚失败的升级
47+
- 多 Flink 版本支持:v1.15, v1.16, v1.17, v1.18
4048
- [Deployment Modes]({{< ref "docs/custom-resource/overview#application-deployments" >}}):
41-
- Application cluster
42-
- Session cluster
49+
- Application 集群
50+
- Session 集群
4351
- Session job
4452
- Built-in [High Availability](https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/ha/kubernetes_ha/)
4553
- Extensible framework
4654
- [Custom validators]({{< ref "docs/operations/plugins#custom-flink-resource-validators" >}})
4755
- [Custom resource listeners]({{< ref "docs/operations/plugins#custom-flink-resource-listeners" >}})
4856
- Advanced [Configuration]({{< ref "docs/operations/configuration" >}}) management
49-
- Default configurations with dynamic updates
50-
- Per job configuration
51-
- Environment variables
57+
- 默认配置与动态更新
58+
- 作业级别的配置
59+
- 环境变量
5260
- POD augmentation via [Pod Templates]({{< ref "docs/custom-resource/pod-template" >}})
53-
- Native Kubernetes POD definitions
54-
- Layering (Base/JobManager/TaskManager overrides)
61+
- 原生 Kubernetes POD 定义
62+
- 用于自定义容器和资源
5563
- [Job Autoscaler]({{< ref "docs/custom-resource/autoscaler" >}})
56-
- Collect lag and utilization metrics
57-
- Scale job vertices to the ideal parallelism
58-
- Scale up and down as the load changes
59-
### Operations
64+
- 收集延迟和利用率指标
65+
- 将作业顶点调整到理想的并行度
66+
- 根据负载的变化进行扩展和缩减
67+
68+
<a name="operations"></a>
69+
70+
### 运营
6071
- Operator [Metrics]({{< ref "docs/operations/metrics-logging#metrics" >}})
61-
- Utilizes the well-established [Flink Metric System](https://nightlies.apache.org/flink/flink-docs-master/docs/ops/metrics)
62-
- Pluggable metrics reporters
63-
- Detailed resources and kubernetes api access metrics
72+
- 使用成熟的 [Flink Metric System](https://nightlies.apache.org/flink/flink-docs-master/docs/ops/metrics)
73+
- 可插拔的指标报告器
74+
- 详细的资源和 kubernetes api 访问指标
6475
- Fully-customizable [Logging]({{< ref "docs/operations/metrics-logging#logging" >}})
65-
- Default log configuration
66-
- Per job log configuration
67-
- Sidecar based log forwarders
68-
- Flink Web UI and REST Endpoint Access
69-
- Fully supported Flink Native Kubernetes [service expose types](https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/resource-providers/native_kubernetes/#accessing-flinks-web-ui)
70-
- Dynamic [Ingress templates]({{< ref "docs/operations/ingress" >}})
76+
- 默认日志配置
77+
- 作业级别的日志配置
78+
- 基于 sidecar 的日志转发器
79+
- Flink Web UI REST 端点访问
80+
- 完整支持 Flink 原生 Kubernetes [服务暴露类型](https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/resource-providers/native_kubernetes/#accessing-flinks-web-ui)
81+
- 通过 [Ingress 模板]({{< ref "docs/operations/ingress" >}}) 动态暴露服务
7182
- [Helm based installation]({{< ref "docs/operations/helm" >}})
72-
- Automated [RBAC configuration]({{< ref "docs/operations/rbac" >}})
73-
- Advanced customization techniques
74-
- Up-to-date public repositories
83+
- 自动的 [RBAC 配置]({{< ref "docs/operations/rbac" >}})
84+
- 高级定制化技术
85+
- 最新的公共存储库
7586
- GitHub Container Registry [ghcr.io/apache/flink-kubernetes-operator](http://ghcr.io/apache/flink-kubernetes-operator)
7687
- DockerHub [https://hub.docker.com/r/apache/flink-kubernetes-operator](https://hub.docker.com/r/apache/flink-kubernetes-operator)
7788

78-
## Built-in Examples
89+
<a name="built-in-examples"></a>
90+
91+
## 内置示例
7992

80-
The operator project comes with a wide variety of built in examples to show you how to use the operator functionality.
81-
The examples are maintained as part of the operator repo and can be found [here](https://github.com/apache/flink-kubernetes-operator/tree/main/examples).
93+
Operator 项目提供了各种内置示例,以展示如何使用 Operator 功能。这些示例维护在 operator 的仓库中,可以在[这里](https://github.com/apache/flink-kubernetes-operator/tree/main/examples) 找到.
8294

83-
**What is covered:**
95+
**涵盖以下:**
96+
- Application, Session 以及 SessionJob 的提交
97+
- 检查点和高可用配置
98+
- Java, SQL 和 Python Flink 作业
99+
- Ingress、日志和指标配置
100+
- 使用 Kustomize 的高级 operator deployment 技术
101+
- 更多...
84102

85-
- Application, Session and SessionJob submission
86-
- Checkpointing and HA configuration
87-
- Java, SQL and Python Flink jobs
88-
- Ingress, logging and metrics configuration
89-
- Advanced operator deployment techniques using Kustomize
90-
- And some more...
103+
<a name="known-issues--limitations"></a>
91104

92-
## Known Issues & Limitations
105+
## 已知问题和限制
93106

94-
### JobManager High-availability
95-
The Operator supports both [Kubernetes HA Services](https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/ha/kubernetes_ha/) and [Zookeeper HA Services](https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/ha/zookeeper_ha/) for providing High-availability for Flink jobs. The HA solution can benefit form using additional [Standby replicas](https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/ha/overview/), it will result in a faster recovery time, but Flink jobs will still restart when the Leader JobManager goes down.
107+
<a name="jobManager-high-availability"></a>
96108

97-
### JobResultStore Resource Leak
98-
To mitigate the impact of [FLINK-27569](https://issues.apache.org/jira/browse/FLINK-27569) the operator introduced a workaround [FLINK-27573](https://issues.apache.org/jira/browse/FLINK-27573) by setting `job-result-store.delete-on-commit=false` and a unique value for `job-result-store.storage-path` for every cluster launch. The storage path for older runs must be cleaned up manually, keeping the latest directory always:
109+
### JobManager 高可用性
110+
Operator 为 Flink 作业提供具有高可用性的 [Kubernetes HA 服务](https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/ha/kubernetes_ha/)[Zookeeper HA 服务](https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/ha/zookeeper_ha/)。HA 解决方案可以从使用额外的 [备用副本](https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/ha/overview/)中受益,这将可以拥有更快的恢复时间,但是当 Leader JobManager 停机时,Flink 作业仍将重新启动。
111+
112+
<a name="jobResultStore-resource-leak"></a>
113+
114+
### JobResultStore 资源泄漏
115+
为了缓解 [FLINK-27569](https://issues.apache.org/jira/browse/FLINK-27569) 的影响,Operator 在 [FLINK-27573](https://issues.apache.org/jira/browse/FLINK-27573) 中引入了一个解决方法: 设置 `job-result-store.delete-on-commit=false` 以及为每次集群启动设置唯一值的 `job-result-store.storage-path`。但这必须手动清理旧运行的存储路径,并始终保留最新目录:
99116
```shell
100117
ls -lth /tmp/flink/ha/job-result-store/basic-checkpoint-ha-example/
101118
total 0
@@ -104,6 +121,8 @@ drwxr-xr-x 2 9999 9999 60 May 12 09:46 a6031ec7-ab3e-4b30-ba77-6498e58e6b7f
104121
drwxr-xr-x 2 9999 9999 60 May 11 15:11 b6fb2a9c-d1cd-4e65-a9a1-e825c4b47543
105122
```
106123

107-
### AuditUtils can log sensitive information present in the custom resources
108-
As reported in [FLINK-30306](https://issues.apache.org/jira/browse/FLINK-30306) when Flink custom resources change the operator logs the change, which could include sensitive information. We suggest ingesting secrets to Flink containers during runtime to mitigate this.
109-
Also note that anyone who has access to the custom resources already had access to the potentially sensitive information in question, but folks who only have access to the logs could also see them now. We are planning to introduce redaction rules to AuditUtils to improve this in a later release.
124+
<a name="auditUtils-can-log-sensitive-information-present-in-the-custom-resources"></a>
125+
126+
### AuditUtils 可以记录自定义资源中的敏感信息
127+
- 按照 [FLINK-30306](https://issues.apache.org/jira/browse/FLINK-30306) 中的报告,当 Flink 自定义资源发生变化时,Operator 会记录更改,其中可能包含敏感信息。我们建议在运行时将机密信息注入到 Flink 容器中以减轻这种情况。
128+
- 请注意,任何可以访问自定义资源的人员已经可以访问潜在的敏感信息,但是只能访问日志的人员现在也可以看到这些信息。我们计划在后续版本中向 AuditUtils 引入遮蔽规则以改进此问题。

0 commit comments

Comments
 (0)