You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Canbin Zheng (Jira)" <ji...@apache.org> on 2020/04/24 11:42:00 UTC

[jira] [Comment Edited] (FLINK-17032) Naming convention unification for all the Kubernetes Resources

    [ https://issues.apache.org/jira/browse/FLINK-17032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17091491#comment-17091491 ] 

Canbin Zheng edited comment on FLINK-17032 at 4/24/20, 11:41 AM:
-----------------------------------------------------------------

{quote}Another property that I would consider desirable is that all resources with the same type are grouped together.
{quote}
Hi [~chesnay]! My original thought is:

a) all the K8s resources of a Flink cluster should have the same prefix ${cluster-id}.

b) try best to have the same postfix for the resources with the same type, such as *svc*, *config*. 

I agree that all resources with the same type are grouped together is a better idea, so, how about the following convention:
 * The Deployment: ${clusterId}
 * The internal Service: ${clusterId}-svc-internal
 * The external Service: ${clusterId}-svc-external
 * The Flink Configuration ConfigMap: ${clusterId}-config-flink
 * The Hadoop Configuration ConfigMap: ${clusterId}-config-hadoop
 * The JobManager Pod: ${clusterId}\-${random string}-${random string}
 * The TaskManager Pod: ${clusterId}\-taskmanager-${currentMaxAttemptId}-${currentMaxPodId}

The reason why the name of the job manager pods does not contain a resource type is that: when we create a Deployment, it creates a {{replicaset}} and add a random string{{(*66cf4d99b5)* }}to the deployment name for the {{replicaset}} name. The {{replicaset}} creates the pod(s). Replica set also adds another random string to each {{pod}}.

Given that the job manager pods do not contain a resource type in their names, we don't specify a resource type for the task manager pods as well.

WDYT?


was (Author: felixzheng):
{quote}Another property that I would consider desirable is that all resources with the same type are grouped together.
{quote}
Hi [~chesnay]! My original thought is:

a) all the K8s resources of a Flink cluster should have the same prefix ${cluster-id}.

b) try best to have the same postfix for the resources with the same type, such as *svc*, *config*. 

I agree that all resources with the same type are grouped together is a better idea, so, how about the following convention:
 * The Deployment: ${clusterId}
 * The internal Service: ${clusterId}-svc-internal
 * The external Service: ${clusterId}-svc-external
 * The Flink Configuration ConfigMap: ${clusterId}-config-flink
 * The Hadoop Configuration ConfigMap: ${clusterId}-config-hadoop
 * The JobManager Pod: ${clusterId}-${random string}-${random string}
 * The TaskManager Pod: ${clusterId}-taskmanager-${currentMaxAttemptId}-${currentMaxPodId}

The reason why the name of the job manager pods does not contain a resource type is that: when we create a Deployment, it creates a {{replicaset}} and add a random string{{(*66cf4d99b5)* }}to the deployment name for the {{replicaset}} name. The {{replicaset}} creates the pod(s). Replica set also adds another random string to each {{pod}}.

Given that the job manager pods do not contain a resource type in their names, we don't specify a resource type for the task manager pods as well.

WDYT?

> Naming convention unification for all the Kubernetes Resources
> --------------------------------------------------------------
>
>                 Key: FLINK-17032
>                 URL: https://issues.apache.org/jira/browse/FLINK-17032
>             Project: Flink
>          Issue Type: Improvement
>          Components: Deployment / Kubernetes
>    Affects Versions: 1.10.0
>            Reporter: Canbin Zheng
>            Priority: Minor
>             Fix For: 1.11.0
>
>
> Currently, the naming rules are different among the Kubernetes resources we have created, the rules are as follows:
>  # The Deployment: ${clusterId}
>  # The internal Service: ${clusterId}
>  # The external Service: ${clusterId}-rest
>  # The Flink Configuration ConfigMap: flink-config-${clusterId}
>  # The Hadoop Configuration ConfigMap: hadoop-config-${clusterId}
>  # The JobManager Pod: ${clusterId}\-${random string}-${random string}
>  # The TaskManager Pod: ${clusterId}\-taskmanager-${currentMaxAttemptId}-${currentMaxPodId}
> In the future, we would add other Kubernetes resources, and it would be better to have a unified naming convention for all of them.
> This ticket proposes the following naming convention:
>  * The Deployment: ${clusterId}
>  * The internal Service: ${clusterId}-internal-svc
>  * The external Service: ${clusterId}-external-svc
>  * The Flink Configuration ConfigMap: ${clusterId}-flink-config
>  * The Hadoop Configuration ConfigMap: ${clusterId}-hadoop-config
>  * The JobManager Pod: ${clusterId}\-${random string}-${random string}
>  * The TaskManager Pod: ${clusterId}\-taskmanager-${currentMaxAttemptId}-${currentMaxPodId}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)