caicancai commented on code in PR #809: URL: https://github.com/apache/flink-kubernetes-operator/pull/809#discussion_r1566828007
########## docs/content.zh/docs/concepts/architecture.md: ########## @@ -24,57 +24,65 @@ specific language governing permissions and limitations under the License. --> -# Architecture +<a name="architecture"></a> -Flink Kubernetes Operator (Operator) acts as a control plane to manage the complete deployment lifecycle of Apache Flink applications. The Operator can be installed on a Kubernetes cluster using [Helm](https://helm.sh). In most production environments it is typically deployed in a designated namespace and controls Flink deployments in one or more managed namespaces. The custom resource definition (CRD) that describes the schema of a `FlinkDeployment` is a cluster wide resource. For a CRD, the declaration must be registered before any resources of that CRDs kind(s) can be used, and the registration process sometimes takes a few seconds. +# 架构 -{{< img src="/img/concepts/architecture.svg" alt="Flink Kubernetes Operator Architecture" >}} -> Note: There is no support at this time for [upgrading or deleting CRDs using Helm](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/). +Flink Kubernetes Operator(Operator)充当控制平面,用于管理 Apache Flink 应用程序的完整部署生命周期。Operator 可以使用 [Helm](https://helm.sh) 在 Kubernetes 集群上安装。在大多数生产环境中,它通常部署在指定的命名空间中,并控制一个或多个受管命名空间中的 Flink 部署。描述 `FlinkDeployment` 模式的自定义资源定义(CRD)是一个集群范围的资源。对于 CRD,必须在使用该 CRD 类型的任何资源之前注册声明,注册过程有时需要几秒钟。 -## Control Loop -The Operator follow the Kubernetes principles, notably the [control loop](https://kubernetes.io/docs/concepts/architecture/controller/): +{{< img src="/img/concepts/architecture.svg" alt="Flink Kubernetes Operator 架构" >}} +> Note: 目前不支持[使用 Helm 升级或删除 CRD](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/). -{{< img src="/img/concepts/control_loop.svg" alt="Control Loop" >}} +<a name="control-loop"></a> -Users can interact with the operator using the Kubernetes command-line tool, [kubectl](https://kubernetes.io/docs/tasks/tools/). The Operator continuously tracks cluster events relating to the `FlinkDeployment` and `FlinkSessionJob` custom resources. When the operator receives a new resource update, it will take action to adjust the Kubernetes cluster to the desired state as part of its reconciliation loop. The initial loop consists of the following high-level steps: +## 控制平面 +Operator 遵循 Kubernetes 原则,特别是 [控制平面](https://kubernetes.io/docs/concepts/architecture/controller/): -1. User submits a `FlinkDeployment`/`FlinkSessionJob` custom resource(CR) using `kubectl` -2. Operator observes the current status of the Flink resource (if previously deployed) -3. Operator validates the submitted resource change -4. Operator reconciles any required changes and executes upgrades +{{< img src="/img/concepts/control_loop.svg" alt="控制循环" >}} -The CR can be (re)applied on the cluster any time. The Operator makes continuous adjustments to imitate the desired state until the current state becomes the desired state. All lifecycle management operations are realized using this very simple principle in the Operator. +用户可以使用 Kubernetes 命令行工具 [kubectl](https://kubernetes.io/docs/tasks/tools/) 与操作员进行交互。Operator 不断跟踪与 `FlinkDeployment` 和 `FlinkSessionJob` 自定义资源相关的集群事件。当操作员接收到新的资源更新时,它将采取行动,以调整 Kubernetes 集群以达到所需状态,作为其协调循环的一部分。初始循环包括以下高级步骤: Review Comment: Sorry, I forgot to submit -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@flink.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org