+matt +tim
For reference - here's our previous thread on this dockerfile unification
problem - https://github.com/apache-spark-on-k8s/spark/pull/60
I think this approach should be acceptable from both the customization and
visibility perspectives.


On Mon, Jan 8, 2018 at 9:40 AM, Anirudh Ramanathan <ramanath...@google.com>
wrote:

> +1
>
> We discussed some alternatives early on - including using a single
> dockerfile and different spec.container.command and spec.container.args
> from the Kubernetes driver/executor specification (which override
> entrypoint in docker). No reason that won't work also - except that it
> reduced the transparency of what was being invoked in the
> driver/executor/init by hiding it in the actual backend code.
>
> Putting it into a single entrypoint file and branching let's us realize
> the best of both worlds I think. This is an elegant solution, thanks
> Marcelo.
>
> On Jan 6, 2018 10:01 AM, "Felix Cheung" <felixcheun...@hotmail.com> wrote:
>
>> +1
>>
>> Thanks for taking on this.
>> That was my feedback on one of the long comment thread as well, I think
>> we should have one docker image instead of 3 (also pending in the fork are
>> python and R variant, we should consider having one that we official
>> release instead of 9, for example)
>>
>>
>> ------------------------------
>> *From:* 蒋星博 <jiangxb1...@gmail.com>
>> *Sent:* Friday, January 5, 2018 10:57:53 PM
>> *To:* Marcelo Vanzin
>> *Cc:* dev
>> *Subject:* Re: Kubernetes backend and docker images
>>
>> Agree it should be nice to have this simplification, and users can still
>> create their custom images by copy/modifying the default one.
>> Thanks for bring this out Marcelo!
>>
>> 2018-01-05 17:06 GMT-08:00 Marcelo Vanzin <van...@cloudera.com>:
>>
>>> Hey all, especially those working on the k8s stuff.
>>>
>>> Currently we have 3 docker images that need to be built and provided
>>> by the user when starting a Spark app: driver, executor, and init
>>> container.
>>>
>>> When the initial review went by, I asked why do we need 3, and I was
>>> told that's because they have different entry points. That never
>>> really convinced me, but well, everybody wanted to get things in to
>>> get the ball rolling.
>>>
>>> But I still think that's not the best way to go. I did some pretty
>>> simple hacking and got things to work with a single image:
>>>
>>> https://github.com/vanzin/spark/commit/k8s-img
>>>
>>> Is there a reason why that approach would not work? You could still
>>> create separate images for driver and executor if wanted, but there's
>>> no reason I can see why we should need 3 images for the simple case.
>>>
>>> Note that the code there can be cleaned up still, and I don't love the
>>> idea of using env variables to propagate arguments to the container,
>>> but that works for now.
>>>
>>> --
>>> Marcelo
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe e-mail: dev-unsubscr...@spark.apache.org
>>>
>>>
>>


-- 
Anirudh Ramanathan

Reply via email to