You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/content.zh/docs/concepts/architecture.md
+43-34Lines changed: 43 additions & 34 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,57 +24,66 @@ specific language governing permissions and limitations
24
24
under the License.
25
25
-->
26
26
27
-
# Architecture
27
+
<aname="architecture"></a>
28
28
29
-
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.
> 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/).
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:
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.
The Operator is built with the [Java Operator SDK](https://github.com/java-operator-sdk/java-operator-sdk) and uses the [Native Kubernetes Integration](https://nightlies.apache.org/flink/flink-docs-master/docs/deployment/resource-providers/native_kubernetes/) for launching Flink deployments and submitting jobs under the hood. The Java Operator SDK is a higher level framework and related tooling to support writing Kubernetes Operators in Java. Both the Java Operator SDK and Flink's native kubernetes integration itself is using the [Fabric8 Kubernetes Client](https://github.com/fabric8io/kubernetes-client) to interact with the Kubernetes API Server.
In addition to compiled-in admission plugins, a custom admission plugin named Flink Kubernetes Operator Webhook (Webhook)
70
-
can be started as extension and run as webhook.
71
63
72
-
The Webhook follow the Kubernetes principles, notably the [dynamic admission control](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/).
64
+
**我们可以区分以下几种状态:**
73
65
74
-
It's deployed by default when the Operator is installed on a Kubernetes cluster using [Helm](https://helm.sh).
75
-
Please see further details how to deploy the Operator/Webhook [here](https://nightlies.apache.org/flink/flink-kubernetes-operator-docs-main/docs/try-flink-kubernetes-operator/quick-start/#deploying-the-operator).
66
+
- CREATED : 资源在 Kubernetes 中已创建,但尚未由 Operator 处理
67
+
- SUSPENDED : (flink job)资源已被暂停
68
+
- UPGRADING : 资源是在升级到新规格之前暂停的
69
+
- DEPLOYED : 资源已部署/提交到 Kubernetes,但尚未稳定,可能会回滚
70
+
- STABLE : 资源 deployment 被视为稳定,不会回滚
71
+
- ROLLING_BACK : 资源正在回滚到上一个稳定规格
72
+
- ROLLED_BACK : 资源已回滚到上一个稳定规格
73
+
- FAILED : flink job 终止失败
76
74
77
-
The Webhook is using TLS protocol for communication by default. It automatically loads/re-loads keystore file when the file
0 commit comments