Comments (15)
Fyi, snap support proposed in #293
from release.
cc @mansoorj @kelseyhightower @kubernetes/sig-cluster-lifecycle
from release.
Sadly these cross-distro packaging solutions have almost as many variations as their distro specific packaging managers.
What is the scope or desire for using snap (or similar) to package Kubernetes releases? Easier installation?
I don't understand the benefit of snap over a statically compiled binary and/or running inside containers which are already cross distro "packages". I'm not trying to say it's a bad idea, I just don't understand it.
from release.
Chuck covered this in the sig-cluster-lifecycle call so I'll add the responses here as well as clarify some of the other ones we mentioned since we were running out of time:
- Atomic commits are becoming increasingly important to our users, it would be nice to give people a bare-metal end-to-end kubernetes deployment with transactional packaging (including rollback).
- In the future people can do nodes with nothing but a bare ubuntu-core transactional image (~100mb) and the kubernetes snap on top.
- Channels directly to end users. This would give us the ability to do direct-from-upstream kubernetes publishing into edge, beta, candidate, and stable channels.
- These channels are enabled by default (at least on Ubuntu), which means the user doesn't need to know/understand 3rd party repositories, they can just be on the delivery end of the kubernetes snap channel.
- The kubernetes snaps would publish at the same time as release.
- We can pack all the dependencies (including docker itself if need be) into one snap.
- Snaps run confined via apparmor, we would need to investigate how this relates to the confinement plans for k8s 1.4.
I can't speak about the other cross-distro packaging formats other than they appear to be desktop specific and not something you'd run on a cloud.
As discussed in the meeting, we'll work on a PR to kick off this work, thanks!
from release.
I'm ignorant about the release process. Reading through some of this repo didn't explain the following questions so maybe someone can help
- Are other packages built from the official kubernetes release? (deb, rpm) I thought it was only static binaries and .tar.gz that was produced.
- If other packages are automatically created, how do those packages get pushed into their respective repos for the distro?
- if not, why would the kubernetes release team want to build and maintain snap packages in kubernetes? (I assumed those were distro/project maintainer responsibilities)
from release.
@castrojo Thanks for including the notes. This makes a lot of sense to me if docker is bundled with the snap. It could easily keep compatible version of docker + kubelet together.
I have not tried snap myself so I'll need to play with how it works if I have docker on the host and then install/run a snap isolated docker daemon on the same system.
from release.
@rothgar in reply to "if i have docker on the host then install a snap isolated daemon" You'll have to ensure the docker socket is inside the sandbox, or make a privileged snap so it can modify files outside of its isolated sandbox. Then it's the exact same principal as having a bootstrap docker daemon vs a workload docker daemon. The separate daemon approach was mentioned in the running kubernetes in docker guides.
from release.
@rothgar This repo was setup to hold the release automation tooling wrapping the build tooling that exists in kubernetes/kubernetes and to handle all of the pushing, notifying, and release notes gathering around kubernetes releases.
It is expected that functionality will grow with contributions and we will use this repo to hold all things release and packaging related.
The build scripts in kubernetes/kubernetes do not currently produce other types of packaging (dev, rpm). There is an open PR in this repo exploring the possibility.
from release.
kubelet has many dependencies, as documented in kubernetes/kubernetes#26093, so it'd be good to understand if all of those can be snapped-up.
from release.
Ah! This is very helpful @errordeveloper. Thanks for the detailed callout of what we'll need to consider for the snaps. I'll take this list and confer with some of the snappy devs to ensure we can accommodate this list.
We'll spike on a first draft of what this looks like on Tuesday, and see where we end up. That'll give us a good first go at where we fell down if so, and what would need to be done .
from release.
Any progress on this?
from release.
We did some initial investigation. There is a docker plug being written that will unblock this effort.
But today it's still a no go
from release.
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale
.
Stale issues rot after an additional 30d of inactivity and eventually close.
Prevent issues from auto-closing with an /lifecycle frozen
comment.
If this issue is safe to close now please do so with /close
.
Send feedback to sig-testing, kubernetes/test-infra and/or @fejta
.
/lifecycle stale
from release.
Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten
.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close
.
Send feedback to sig-testing, kubernetes/test-infra and/or @fejta
.
/lifecycle rotten
/remove-lifecycle stale
from release.
/close
Closing in favour of #293.
from release.
Related Issues (20)
- new kubernetes el7 repo ? HOT 11
- Edited release notes will logically interfere with mapped values
- No worldwide location for legacy packages HOT 4
- Error install kubernates HOT 2
- Release Notes Collection Picks Up Incorrect Text HOT 5
- The repository 'https://pkgs.k8s.io kubernetes-xenial InRelease' is not signed HOT 5
- Dependency update - Golang 1.22.2/1.21.9 HOT 4
- Version 1.29.1 kubectl not found HOT 4
- Error while installing kubernetes "kubernetes-xenial Release' does not have a Release file." HOT 3
- Refactor `pkg/announce` package to adhere to the interfaces pattern HOT 2
- Cannot upgrade kubeadm to 1.30.0 via apt HOT 10
- Cannot find `kubernetes-cni` in repo HOT 7
- Error 403 from https://prod-cdn.packages.k8s.io/repositories/isv:/kubernetes:/core:/stable:/1.30/rpm/repodata/repomd.xml HOT 5
- Presubmit job `pull-release-cluster-up` fails consistently HOT 1
- CVE-2024-2961 in `registry.k8s.io/build-image/distroless-iptables:v0.5.3` HOT 6
- Dependency update - Golang 1.22.3/1.21.10 HOT 2
- Add a file to get the current latest version. HOT 2
- Upgrade from 1.21 to 1.24 HOT 2
- debian packages for v1.28.9 not available HOT 5
- Dependency update - Golang 1.22.4/1.21.11 HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from release.