Hi everyone, Hi Fabian, I am also in favor of option 1.
Besides the playgrounds it is a good opportunity to explore this process for official Docker images as Till suggested. This needs a separate discussion, though. Best, Konstantin On Fri, Aug 9, 2019 at 5:25 AM Yang Wang <danrtsey...@gmail.com> wrote: > Hey Fabian, > > > Sounds great! It will be more easier to build an end-to-end play ground > with docker. > > > I prefer option 1. > > We need to build the official docker images and push to docker hub after > every version is released. It could be used to play with docker compose, > kubernetes, etc. > > > Today we could found that more and more uses are running flink with > container on kubernetes, Yarn, Mesos. So if the official flink image could > be released and maintained, it will help our users a lot. > > They could build their own image with dependencies based on the official > image to run a flink application. Also they could start a flink cluster > with official image, then submit flink jobs to the existed cluster. > > > > > Best, > > Yang > > Stephan Ewen <se...@apache.org> 于2019年8月9日周五 上午1:58写道: > > > I remember that Patrick (who maintained the docker-flink images so far) > > frequently raised the point that its good practice to have the images > > decoupled from the project release cycle. > > Changes to the images can be done frequently and released fast that way. > > > > In addition, one typically supports images for multiple releases, meaning > > the versioning is different than in the main code base. > > > > On Thu, Aug 8, 2019 at 6:35 PM Till Rohrmann <trohrm...@apache.org> > wrote: > > > > > I would be in favour of option 1. > > > > > > We could also think about making the flink-playgrounds and the Flink > > docker > > > image release part of the Flink release process [1] if we don't want to > > > have independent release cycles. I think at the moment the official > Flink > > > docker image is too often forgotten. > > > > > > [1] > > > > > > https://cwiki.apache.org/confluence/display/FLINK/Creating+a+Flink+Release > > > > > > Cheers, > > > Till > > > > > > On Thu, Aug 8, 2019 at 6:25 PM Seth Wiesman <sjwies...@gmail.com> > wrote: > > > > > > > Hey Fabian, > > > > > > > > I support option 1. > > > > > > > > As per FLIP-42, playgrounds are going to become core to flinks > getting > > > > started experience and I believe it is worth the effort to get this > > > right. > > > > > > > > - As you mentioned, we may (and in my opinion definitely will) add > more > > > > images in the future. Setting up an integration now will set the > stage > > > for > > > > those future additions. > > > > > > > > - These images will be many users first exposure to Flink and having > a > > > > proper release cycle to ensure they work properly may be worth the > > effort > > > > in and of itself. We already found during the first PR to that repo > > that > > > we > > > > needed to find users with different OSs to test. > > > > > > > > - Similarly to the above point, having the images hosted under an > > > official > > > > Apache account adds a certain amount of credibility and shows the > > > community > > > > that we take on-boarding new users seriously. > > > > > > > > - I am generally opposed having the official flink docs rely on > > something > > > > that is hosted under someone’s personal account. I don’t want bug > fixes > > > or > > > > updates to be blocked by your (or some else’s ) availability. > > > > > > > > Seth > > > > > > > > > On Aug 8, 2019, at 10:36 AM, Fabian Hueske <fhue...@gmail.com> > > wrote: > > > > > > > > > > Hi everyone, > > > > > > > > > > As you might know, some of us are currently working on Docker-based > > > > > playgrounds that make it very easy for first-time Flink users to > try > > > out > > > > > and play with Flink [0]. > > > > > > > > > > Our current setup (still work in progress with some parts merged to > > the > > > > > master branch) looks as follows: > > > > > * The playground is a Docker Compose environment [1] consisting of > > > Flink, > > > > > Kafka, and Zookeeper images (ZK for Kafka). The playground is based > > on > > > a > > > > > specific Flink job. > > > > > * We had planned to add the example job of the playground as an > > example > > > > to > > > > > the flink main repository to bundle it with the Flink distribution. > > > > Hence, > > > > > it would have been included in the Docker-hub-official (soon to be > > > > > published) Flink 1.9 Docker image [2]. > > > > > * The main motivation of adding the job to the examples module in > the > > > > flink > > > > > main repo was to avoid the maintenance overhead for a customized > > Docker > > > > > image. > > > > > > > > > > When discussing to backport the playground job (and its data > > generator) > > > > to > > > > > include it in the Flink 1.9 examples, concerns were raised about > > their > > > > > Kafka dependency which will become a problem, if the community > agrees > > > on > > > > > the recently proposed repository split, which would remove > > flink-kafka > > > > from > > > > > the main repository [3]. I think this is a fair concern, that we > did > > > not > > > > > consider when designing the playground (also the repo split was not > > > > > proposed yet). > > > > > > > > > > If we don't add the playground job to the examples, we need to put > it > > > > > somewhere else. The obvious choice would be the flink-playgrounds > [4] > > > > > repository, which was intended for the docker-compose configuration > > > > files. > > > > > However, we would not be able to include it in the > > Docker-hub-official > > > > > Flink image any more and would need to maintain a custom Docker > > image, > > > > what > > > > > we tried to avoid. The custom image would of course be based on the > > > > > Docker-hub-official Flink image. > > > > > > > > > > There are different approaches for this: > > > > > > > > > > 1) Building one (or more) official ASF images > > > > > There is an official Apache Docker Hub user [5] and a bunch of > > projects > > > > > publish Docker images via this user. Apache Infra seems to support > an > > > > > process that automatically builds and publishes Docker images when > a > > > > > release tag is added to a repository. This feature needs to be > > > enabled. I > > > > > haven't found detailed documentation on this but there is a bunch > of > > > > INFRA > > > > > Jira tickets that discuss this mechanism. > > > > > This approach would mean that we need a formal Apache release for > > > > > flink-playgrounds (similar to flink-shaded). The obvious benefits > are > > > > that > > > > > these images would be ASF-official Docker images. In case we can > > > publish > > > > > more than one image per repo, we could also publish images for > other > > > > > playgrounds (like the SQL playground, which could be based on the > SQL > > > > > training that I built [6] which uses an image that is published > under > > > my > > > > > user [7]). > > > > > > > > > > 2) Rely on an external image > > > > > This image could be build by somebody in the community (like me). > > > Problem > > > > > is of course, that the image is not an official image and we would > > rely > > > > on > > > > > a volunteer to build the images. > > > > > OTOH, the overhead would be pretty small. No need to roll run full > > > > > releases, integration with Infra's build process, etc. > > > > > > > > > > IMO, the first approach is clearly the better choice but also > needs a > > > > bunch > > > > > of things to be put into place. > > > > > > > > > > What do others think? > > > > > Does somebody have another idea? > > > > > > > > > > Cheers, > > > > > Fabian > > > > > > > > > > [0] > > > > > > > > > > > > > > > https://ci.apache.org/projects/flink/flink-docs-master/getting-started/docker-playgrounds/flink_cluster_playground.html > > > > > [1] > > > > > > > > > > > > > > > https://ci.apache.org/projects/flink/flink-docs-master/getting-started/docker-playgrounds/flink_cluster_playground.html#anatomy-of-this-playground > > > > > [2] https://hub.docker.com/_/flink > > > > > [3] > > > > > > > > > > > > > > > https://lists.apache.org/thread.html/eb841f610ef2c191b8d00b6c07b2eab513da2e4eb2d7da5c5e6846f4@%3Cdev.flink.apache.org%3E > > > > > [4] https://github.com/apache/flink-playgrounds > > > > > [5] https://hub.docker.com/u/apache > > > > > [6] https://github.com/ververica/sql-training/ > > > > > [7] > https://hub.docker.com/r/fhueske/flink-sql-client-training-1.7.2 > > > > > > > > > > -- Konstantin Knauf | Solutions Architect +49 160 91394525 Planned Absences: 10.08.2019 - 31.08.2019, 05.09. - 06.09.2019 -- Ververica GmbH | Invalidenstrasse 115, 10115 Berlin, Germany -- Ververica GmbH Registered at Amtsgericht Charlottenburg: HRB 158244 B Managing Directors: Dr. Kostas Tzoumas, Dr. Stephan Ewen