-
Notifications
You must be signed in to change notification settings - Fork 635
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
proposals: add rkt #33
Conversation
|
||
Core: @alban, @philips, @squeed, @dgonyeo, @euank, @iaguis, @jonboulle, @krnowak, @lucab, @s-urbaniak, @steveeJ, @yifan-gu | ||
|
||
*Infrastructure requirements*: CI might be useful; currently CI is sponsored by CoreOS <https://jenkins-rkt-public.prod.coreos.systems/#> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
any particular reason you use your own hosted Jenkins vs say Travis CI or other systems out there?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, because rkt is complicated :-). Since it's very invasive to a system, we want to do tests in VMs; further, we test on different OS platforms (e.g. Debian/Fedora/etc) and hence spin up EC2 instances for each run.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For reference, we use travis-ci + semaphore-ci + jenkins as they cover different testing scenarios. Only the latter is on private infrastructure though.
RFC @cncf/toc |
proposals/rkt.adoc
Outdated
|
||
rkt is an application container engine developed for modern production cloud-native environments. It features a pod-native approach, a pluggable execution architecture, and a well-defined surface area that makes it ideal for integration with other systems. | ||
|
||
The core execution unit of rkt is the _pod_, a collection of one or more applications executing in a shared context. (rkt's pods are synoymous with the concept in the Kubernetes orchestration system). rkt allows users to apply different configurations (like isolation parameters) at both pod-level and at the more granular per-application level. rkt's architecture means that each pod executes directly in the classic Unix process model (i.e. there is no central daemon), in a self-contained, isolated environment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"self-contained, isolated environment" a.k.a. containerized?
Other proposals use the phrase "containerized applications" so language should stay consistent. I'm also not sure I understand what "self-contained" means for an application.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is trying to explain that the pod is self-contained, not just the application. Contrast to, say, a pod assembled from multipleindividual runc or systemd-nspawn containers. Open to other wording suggestions here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This probably doesn't matter for this proposal but for the sake of clarification...
I'm not a fan of "pod-native" because it's meaningless without a background and understanding of what a pod means in Kubernetes. Even then, many people who run Kubernetes I don't use multi-container deployments and just think of a pod as a container.
I would probably reword it to say something like multi-container application deployments or multi-container bundles. Something that's more descriptive and not as abstract.
I'm sure everyone reading this proposal knows exactly what is meant by a "pod" but that term caused confusion for the other descriptions of rkt.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, this paragraph does lead with an explanation of what pods are. I've added a link to the Kubernetes pod definition too. Does that help? (I honestly really dislike the pod/container conflation so don't want to repeat it here)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes I like the explanation + link. Thanks. 👏
proposals/rkt.adoc
Outdated
|
||
**Orchestration Integrations** | ||
|
||
* [Kubernetes](https://kubernetes.io/docs/getting-started-guides/rkt/): an enterprise-grade container orchestration solution. Kubernetes offers rkt support, including via [minikube](https://github.com/kubernetes/minikube#using-rkt-container-engine) which makes it easy to test and run locally. The new rkt integration via Kubernetes's CRI (Container Runtime Interface) is currently passing 84/89 conformance tests; the hope would be to get this to 100% as Kubernetes 1.7 work begins and CRI stabilizes to beta. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just out of curiosity, what are the 5 failing tests?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
kubernetes-retired/rktlet#95 (comment) (but likely needs an update since then)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As per the above report, the figure is actually "passing 89/94".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks, fixed
proposals/rkt.adoc
Outdated
|
||
*External Dependencies*: | ||
|
||
The rkt project uses [glide](https://github.com/Masterminds/glide) to maintain dependencie - an up-to-date manifest can be found in the [glide.lock file in the repository](https://github.com/coreos/rkt/blob/master/glide.lock). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
dependencie - missed an 's'
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks, fixed
final RFC on comments @cncf/toc, voting will happen Friday |
FYI @cncf/toc rkt vote is out: https://lists.cncf.io/pipermail/cncf-toc/2017-March/000741.html |
rkt passes with 8/9 +1 binding @cncf/toc votes: https://lists.cncf.io/pipermail/cncf-toc/2017-March/000778.html Thanks everyone who helped with the proposal and welcome rkt community to the CNCF! |
No description provided.