[
https://issues.apache.org/jira/browse/FLINK-38577?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Rossos updated FLINK-38577:
----------------------------------
Description:
Both the blue and green FlinkDeployments attempt to create their own service
for their Flink pipeline, but only the initial Flink Blue deployment will
create an ingress and Green will have issues creating one at the same route.
This results in problems as when Blue goes down in favour of Green the ingress
will be lost.
Example error event from Green deployment on startup. Will still work normally,
but ingress creation fails.
{code:java}
JobManagerDeployment Failure executing: POST at:
https://<IP>/apis/networking.k8s.io/v1/namespaces/<NS>/ingresses. Message:
admission webhook "validate.nginx.ingress.kubernetes.io" denied the request:
host "<ADDRESS>" and path "/" is already defined in ingress
<BlueDep-Ingress>/<name>-blue. Received status: Status(apiVersion=v1, code=400,
details=null, kind=Status, message=admission webhook
"validate.nginx.ingress.kubernetes.io" denied the request: host "<ADDRESS>" and
path "/" is already defined in ingress <BlueDep-Ingress>/<name>-blue,
metadata=ListMeta(_continue=null, remainingItemCount=null,
resourceVersion=null, selfLink=null, additionalProperties={}){code}
We should have a more nuanced Service + Ingress Kubernetes networking solution
for BlueGreen deployments. Naive / first thoughts would be something like 1 svc
and 1 ingress that will dynamically bind to whatever FlinkDeployment is active,
but have opened this discussion thread for further ideation (updating once
thread created)
was:
Both the blue and green FlinkDeployments attempt to create their own service
for their Flink pipeline, but only the initial Flink Blue deployment will
create an ingress and Green will have issues creating one at the same route.
This results in problems as when Blue goes down in favour of Green the ingress
will be lost.
Example error event from Green deployment on startup. Will still work normally,
but ingress creation fails.
```
JobManagerDeployment Failure executing: POST at:
https://<IP>/apis/networking.k8s.io/v1/namespaces/<NS>/ingresses. Message:
admission webhook "validate.nginx.ingress.kubernetes.io" denied the request:
host "<ADDRESS>" and path "/" is already defined in ingress
<BlueDep-Ingress>/<name>-blue. Received status: Status(apiVersion=v1, code=400,
details=null, kind=Status, message=admission webhook
"validate.nginx.ingress.kubernetes.io" denied the request: host "<ADDRESS>" and
path "/" is already defined in ingress <BlueDep-Ingress>/<name>-blue,
metadata=ListMeta(_continue=null, remainingItemCount=null,
resourceVersion=null, selfLink=null, additionalProperties={})
```
We should have a more nuanced Service + Ingress Kubernetes networking solution
for BlueGreen deployments. Naive / first thoughts would be something like 1 svc
and 1 ingress that will dynamically bind to whatever FlinkDeployment is active,
but have opened this discussion thread for further ideation (updating once
thread created)
> linkBlueGreenDeployment Kubernetes Networking Update / Ingress not Stable
> -------------------------------------------------------------------------
>
> Key: FLINK-38577
> URL: https://issues.apache.org/jira/browse/FLINK-38577
> Project: Flink
> Issue Type: Bug
> Components: Kubernetes Operator
> Reporter: Daniel Rossos
> Priority: Major
>
> Both the blue and green FlinkDeployments attempt to create their own service
> for their Flink pipeline, but only the initial Flink Blue deployment will
> create an ingress and Green will have issues creating one at the same route.
> This results in problems as when Blue goes down in favour of Green the
> ingress will be lost.
> Example error event from Green deployment on startup. Will still work
> normally, but ingress creation fails.
> {code:java}
> JobManagerDeployment Failure executing: POST at:
> https://<IP>/apis/networking.k8s.io/v1/namespaces/<NS>/ingresses. Message:
> admission webhook "validate.nginx.ingress.kubernetes.io" denied the request:
> host "<ADDRESS>" and path "/" is already defined in ingress
> <BlueDep-Ingress>/<name>-blue. Received status: Status(apiVersion=v1,
> code=400, details=null, kind=Status, message=admission webhook
> "validate.nginx.ingress.kubernetes.io" denied the request: host "<ADDRESS>"
> and path "/" is already defined in ingress <BlueDep-Ingress>/<name>-blue,
> metadata=ListMeta(_continue=null, remainingItemCount=null,
> resourceVersion=null, selfLink=null, additionalProperties={}){code}
> We should have a more nuanced Service + Ingress Kubernetes networking
> solution for BlueGreen deployments. Naive / first thoughts would be something
> like 1 svc and 1 ingress that will dynamically bind to whatever
> FlinkDeployment is active, but have opened this discussion thread for further
> ideation (updating once thread created)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)