Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
RFC : How Do We Best Leverage K8s as a Runtime? #22
This is an initial proposal to consider whether Tekton vs native K8s resources would be the best path forward for Concourse's K8s runtime implementation.
To make the path forward clearer, we may want to include a POC which spells out how converting a build plan to a set of K8s objects would happen in practical terms.
Signed-off-by: Topher Bullock email@example.com
Thanks for putting this up, @topherbullock!
Some quick (and, possibly stupid) thoughts:
Is it right to rephrase those three "problems" into
In terms of
does that make any sense?
Yeah, that rephrasing makes sense to me @cirocosta!
It seems like using outputs as images is in the Tekton backlog, so this would get us a little further if they implement it (or be a good place for us to jump in to contribute): tektoncd/pipeline#639 , tektoncd/pipeline#216
I think for now we can start looking at a simple pipeline to exercise those use cases, and move forward with a POC using Tekton (and maybe later do a bake-off experiment against native K8s) to run a single build of a job in that pipeline.
Here's the simplest concourse example that exercises the first case of using images:
--- resources: - name: ubuntu type: registry-image source: repository: ubuntu jobs: - name: fetch-and-use-ubuntu plan: - get: ubuntu - task: use-it image: ubuntu config: platform: linux run: path: echo args: ["Hello, world!"]
Here are some things @chenbh and I discovered during our investigation:
Things we've found:
@kcmannem and I did some more digging
Thinking more about build logs / piping stdin, stdout, stderr :
This would be possible using the attach / exec API; which aren't properly supported by the current k8s go client. :c
In order to retrieve build events from
This relies on the K8s Logging Architecture being configured for the level of build output logging a Concourse cluster would produce. I'm not entirely sure of the details of the underlying architecture in terms of scaling to follow logs from many containers.
- Convert concourse pipeline yml to a tekton version - Put is WIP and untested - Get done but untested - Currently building booklit.yml Signed-off-by: Bohan Chen <firstname.lastname@example.org> Co-authored-by: Sameer Vohra <email@example.com>
That is, of course, hoping Concourse is going to keep supporting these platforms!