Escape # character in containerized.master.env

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Escape # character in containerized.master.env

Lukáš Drbal
Hello all!

We are using k8s native support and now we need to pass an env variable
which contains # character in value.

example:
containerized.master.env.FOO: foo#bar

Job is submitted by k8 cronjob which puts the config option mentioned
before into flink-conf.yaml  and submit job via flink run-application
--target kubernetes-application ...

Now we see env variable FOO but with value "foo" not "foo#bar". Truncated
value is also in the created config map.

Is there any way to escape the "#" character and get a valid value?

I tried:
containerized.master.env.FOO: "foo#bar"

but value is always truncated.
Flink version: 1.13

Thanks!
Lukas
Reply | Threaded
Open this post in threaded view
|

Re: Escape # character in containerized.master.env

Lukáš Drbal
I just workaround it by using k8 secret and map it via
kubernetes.env.secretKeyRef into flink containers.

On Tue, May 4, 2021 at 3:08 PM Lukáš Drbal <[hidden email]> wrote:

> Hello all!
>
> We are using k8s native support and now we need to pass an env variable
> which contains # character in value.
>
> example:
> containerized.master.env.FOO: foo#bar
>
> Job is submitted by k8 cronjob which puts the config option mentioned
> before into flink-conf.yaml  and submit job via flink run-application
> --target kubernetes-application ...
>
> Now we see env variable FOO but with value "foo" not "foo#bar". Truncated
> value is also in the created config map.
>
> Is there any way to escape the "#" character and get a valid value?
>
> I tried:
> containerized.master.env.FOO: "foo#bar"
>
> but value is always truncated.
> Flink version: 1.13
>
> Thanks!
> Lukas
>
Reply | Threaded
Open this post in threaded view
|

Re: Escape # character in containerized.master.env

Yang Wang
I think you could also use the "flink run-application ...
-Dcontainerized.master.env.FOO=foo#bar ..." to work around.


Best,
Yang

Lukáš Drbal <[hidden email]> 于2021年5月4日周二 下午9:43写道:

> I just workaround it by using k8 secret and map it via
> kubernetes.env.secretKeyRef into flink containers.
>
> On Tue, May 4, 2021 at 3:08 PM Lukáš Drbal <[hidden email]> wrote:
>
> > Hello all!
> >
> > We are using k8s native support and now we need to pass an env variable
> > which contains # character in value.
> >
> > example:
> > containerized.master.env.FOO: foo#bar
> >
> > Job is submitted by k8 cronjob which puts the config option mentioned
> > before into flink-conf.yaml  and submit job via flink run-application
> > --target kubernetes-application ...
> >
> > Now we see env variable FOO but with value "foo" not "foo#bar". Truncated
> > value is also in the created config map.
> >
> > Is there any way to escape the "#" character and get a valid value?
> >
> > I tried:
> > containerized.master.env.FOO: "foo#bar"
> >
> > but value is always truncated.
> > Flink version: 1.13
> >
> > Thanks!
> > Lukas
> >
>