[ https://issues.apache.org/jira/browse/FLINK-22158?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17320132#comment-17320132 ]
Robert Metzger edited comment on FLINK-22158 at 4/13/21, 12:24 PM: ------------------------------------------------------------------- I tested the following: - checked the docs - used the template in the docs to set up a Flink session on K8s with a custom init container that downloads a dependency - used some invalid values in the process, got a good exception - successfully deployed a Flink JobManager with the configured init container - a started TaskManager also had the init container configured and executed - There is a good error message if the wrong file gets specified. One thing I stumbled across is that If I do not configure {{flink-main-container}}, but a different name, I get this hard to understand error message: {code} Caused by: io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: POST at: https://127.0.0.1:55017/apis/apps/v1/namespaces/default/deployments. Message: Deployment.apps "my-first-flink-cluster" is invalid: spec.template.spec.containers[0].image: Required value. Received status: Status(apiVersion=v1, code=422, details=StatusDetails(causes=[StatusCause(field=spec.template.spec.containers[0].image, message=Required value, reason=FieldValueRequired, additionalProperties={})], group=apps, kind=Deployment, name=my-first-flink-cluster, retryAfterSeconds=null, uid=null, additionalProperties={}), kind=Status, message=Deployment.apps "my-first-flink-cluster" is invalid: spec.template.spec.containers[0].image: Required value, metadata=ListMeta(_continue=null, remainingItemCount=null, resourceVersion=null, selfLink=null, additionalProperties={}), reason=Invalid, status=Failure, additionalProperties={}). {code} I wonder if we should check if this container name is specified in the YAML file, and fail if it is not set? Otherwise, I'm done with the testing task! Thanks a lot for adding this feature! I think it is very useful for customizing a Flink on K8s deployment. was (Author: rmetzger): I tested the following: - checked the docs - used the template in the docs to set up a Flink session on K8s with a custom init container that downloads a dependency - used some invalid values in the process, got a good exception - successfully deployed a Flink JobManager with the configured init container - a started TaskManager also had the init container configured and executed One thing I stumbled across is that If I do not configure {{flink-main-container}}, but a different name, I get this hard to understand error message: {code} Caused by: io.fabric8.kubernetes.client.KubernetesClientException: Failure executing: POST at: https://127.0.0.1:55017/apis/apps/v1/namespaces/default/deployments. Message: Deployment.apps "my-first-flink-cluster" is invalid: spec.template.spec.containers[0].image: Required value. Received status: Status(apiVersion=v1, code=422, details=StatusDetails(causes=[StatusCause(field=spec.template.spec.containers[0].image, message=Required value, reason=FieldValueRequired, additionalProperties={})], group=apps, kind=Deployment, name=my-first-flink-cluster, retryAfterSeconds=null, uid=null, additionalProperties={}), kind=Status, message=Deployment.apps "my-first-flink-cluster" is invalid: spec.template.spec.containers[0].image: Required value, metadata=ListMeta(_continue=null, remainingItemCount=null, resourceVersion=null, selfLink=null, additionalProperties={}), reason=Invalid, status=Failure, additionalProperties={}). {code} I wonder if we should check if this container name is specified in the YAML file, and fail if it is not set? Otherwise, I'm done with the testing task! Thanks a lot for adding this feature! I think it is very useful for customizing a Flink on K8s deployment. > Test native Kubernetes pod template > ----------------------------------- > > Key: FLINK-22158 > URL: https://issues.apache.org/jira/browse/FLINK-22158 > Project: Flink > Issue Type: Test > Components: Deployment / Kubernetes > Affects Versions: 1.13.0 > Reporter: Yang Wang > Assignee: Robert Metzger > Priority: Blocker > Labels: release-testing > Fix For: 1.13.0 > > > Flink allows users to define the JobManager and TaskManager pods via template > files. This allows to support advanced features(e.g. init-container, sidecar > container, volume mount, etc.) that are not supported by Flink Kubernetes > config options directly. Use {{kubernetes.pod-template-file}} to specify a > local file that contains the pod definition. It will be used to initialize > the JobManager and TaskManager. > > The documentation about how to start a session/application cluster with pod > template could be found here[1]. > > [1]. > https://ci.apache.org/projects/flink/flink-docs-master/docs/deployment/resource-providers/native_kubernetes/#pod-template -- This message was sent by Atlassian Jira (v8.3.4#803005)