-
Notifications
You must be signed in to change notification settings - Fork 496
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
WIP: Add kubelet RPM package builds. #50
Conversation
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed, please reply here (e.g.
|
Thank you @dgoodwin! |
I think you mentioned the wrong Tim :) Were you looking for |
Thanks so much @dgoodwin for this, having RPMS will make it much easier to run latest kubernetes. I did encounter an issue building the packages though:
I'm running Arch Linux with Docker 1.11.2 and devicemapper in loopback |
To fix the above remove this line from kubernetes.spec
and uncomment
You might also want to change kubernetes version to latest
and relax the docker version requirement
I think when you were building this initially you wanted to avoid constantly doing a curl so you put the binary on your machine instead. |
b83bcc6
to
50627df
Compare
Apoligies @timstclair you are correct. I'm guessing that it not the first time that has happened. :( @mindfulmonk thanks you are right, the download was very slow and I failed to revert, updated with all your suggestions. |
I'm not 100% sure the packages are fully functional as I'm not super experienced with actually using k8s, still working on testing something real but starting the binary looks promising. Here are the package contents:
|
This is intended to be relatively self contained, just drop into the directory and run the build-docker.sh script to launch a Docker container with appropriate rpm/yum tooling. Resulting rpms and yum repository metadata will appear in output/ sub-directory.
I signed it! |
CLAs look good, thanks! |
Hmm, shouldn't we call this Also, this should be for more arches, but I'm fine with the initial implementation as-is |
@luxas hmm yeah I had it originally as kubelet and started drifting more towards the larger scale kubernetes naming as I wasn't sure how long "kubelet" was going to be a thing you would look to install, given all the proposed renaming out there right now. However you are right, 'kubernetes' would imply a lot more and we probably don't really want to get into that work, and it's already done in Fedora / CentOS / RHEL anyhow. For reference Fedora ships subpackages kubernetes-node, kubernetes-master, and kubernetes-client. I will revert to just calling this kubelet and limit it's scope. |
@@ -0,0 +1,87 @@ | |||
%global KUBE_VERSION 1.3.4 |
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.
Is there a good way to parametrize this eventually?
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.
In the context of a very defined build script yeah quite likely, I think you can do rpmbuild --define 'KUBE_VERSION 1.3.4' and remove the %global here.
Let's extend and address comments in a follow up. I'm currently working on infrastructure to get these hosted on GCS and it will help to have this merged. |
Update company affiliation of Caleb Miles
First attempt at the RPMs requested in issue #37.
This is intended to be relatively self contained build process that can hopefully be integrated into the larger k8s release process, just drop into the
directory and run the build-docker.sh script to launch a Docker
container with appropriate rpm/yum tooling.
Resulting rpms and yum repository metadata will appear in output/
sub-directory and can then just be rsynced, after which client systems just need a simple yum repository file similar to this one I tested with (don't try to use it it's not publically accessible):
I took an alternate naming scheme from the Debian equivalent in #35 and packaged this as "kubernetes" rather than "kubelet", the reasoning behind this was that between hyperkube, an possible incoming rename to kube, self-hosting, and discussion around kube-master and kube-node etc, I don't know as the kubelet name will survive as the thing a user should be thinking to install. "kubernetes" however, should remain constant at least as a base package in all of this and wherever we end up. This also more closely matches the Fedora RPM packaging today which is further decomposed into the following packages:
kubernetes.x86_64 : Container cluster management
kubernetes-client.x86_64 : Kubernetes client tools
kubernetes-node.x86_64 : Kubernetes services for node host
kubernetes-master.x86_64 : Kubernetes services for master host
And I suspect we may want to synchronize approaches in the future depending on how all the binary renames play out.
cc @mikedanese @kubernetes/sig-cluster-lifecycle @detiber @timstclair