Skip to content
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

Build Ubuntu Image for Cluster API #273

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

robertvolkmann
Copy link
Contributor

@robertvolkmann robertvolkmann commented Jan 17, 2025

@robertvolkmann robertvolkmann force-pushed the cluster-api-k8s-v1.30.6 branch 3 times, most recently from dfc0930 to c20e073 Compare January 17, 2025 19:50
@robertvolkmann robertvolkmann force-pushed the cluster-api-k8s-v1.30.6 branch from c20e073 to d540ab4 Compare January 17, 2025 19:57
@vknabel
Copy link

vknabel commented Jan 22, 2025

Would it make sense to pull the images required by kubeadm during image build using kubeadm config images pull as suggested by kubeadm?

Jan 22 12:47:26 metal-test-controlplane-flzbk kubeadm.sh[1624]: [preflight] Running pre-flight checks
Jan 22 12:47:26 metal-test-controlplane-flzbk kubeadm.sh[1624]: [preflight] Pulling images required for setting up a Kubernetes cluster
Jan 22 12:47:26 metal-test-controlplane-flzbk kubeadm.sh[1624]: [preflight] This might take a minute or two, depending on the speed of your internet connection
Jan 22 12:47:26 metal-test-controlplane-flzbk kubeadm.sh[1624]: [preflight] You can also perform this action in beforehand using 'kubeadm config images pull'

@majst01
Copy link
Contributor

majst01 commented Jan 22, 2025

Would it make sense to pull the images required by kubeadm during image build using kubeadm config images pull as suggested by kubeadm?

Jan 22 12:47:26 metal-test-controlplane-flzbk kubeadm.sh[1624]: [preflight] Running pre-flight checks
Jan 22 12:47:26 metal-test-controlplane-flzbk kubeadm.sh[1624]: [preflight] Pulling images required for setting up a Kubernetes cluster
Jan 22 12:47:26 metal-test-controlplane-flzbk kubeadm.sh[1624]: [preflight] This might take a minute or two, depending on the speed of your internet connection
Jan 22 12:47:26 metal-test-controlplane-flzbk kubeadm.sh[1624]: [preflight] You can also perform this action in beforehand using 'kubeadm config images pull'

Would be surprised if this would work inside the docker build ?

@mwindower
Copy link
Contributor

We would need to download the tarballs listed by kubeadm:

# kubeadm config images list
registry.k8s.io/kube-apiserver:v1.30.9
registry.k8s.io/kube-controller-manager:v1.30.9
registry.k8s.io/kube-scheduler:v1.30.9
registry.k8s.io/kube-proxy:v1.30.9
registry.k8s.io/coredns/coredns:v1.11.3
registry.k8s.io/pause:3.9
registry.k8s.io/etcd:3.5.15-0

e.g. with crane pull <IMAGE> <TARBALL>

After that a systemd unit could initialize containerd's image store by importing these tarballs.

But perhaps it's to early to do this kind of cluster-startup-time optimization.

@majst01
Copy link
Contributor

majst01 commented Jan 22, 2025

We would need to download the tarballs listed by kubeadm:

# kubeadm config images list
registry.k8s.io/kube-apiserver:v1.30.9
registry.k8s.io/kube-controller-manager:v1.30.9
registry.k8s.io/kube-scheduler:v1.30.9
registry.k8s.io/kube-proxy:v1.30.9
registry.k8s.io/coredns/coredns:v1.11.3
registry.k8s.io/pause:3.9
registry.k8s.io/etcd:3.5.15-0

e.g. with crane pull <IMAGE> <TARBALL>

After that a systemd unit could initialize containerd's image store by importing these tarballs.

But perhaps it's to early to do this kind of cluster-startup-time optimization.

And most of these images are only required by the control-plane nodes.
I would not put these into the image, instead relay on a caching image proxy somewhere in the infrastructure

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Pre-built OS images that include components required by kubeadm control plane provider
4 participants