kubernetes-sigs / kubespray

Deploy a Production Ready Kubernetes Cluster
Apache License 2.0
15.65k stars 6.36k forks source link

images for control plane are downloaded on compute nodes #9094

Open rptaylor opened 1 year ago

rptaylor commented 1 year ago

What would you like to be added: The list of images for downloading is obtained from kubeadm config images list. The output from that command looks like e.g.

$ kubeadm config images list --config=/etc/kubernetes/kubeadm-images.yaml
k8s.gcr.io/kube-apiserver:v1.21.6
k8s.gcr.io/kube-controller-manager:v1.21.6
k8s.gcr.io/kube-scheduler:v1.21.6
k8s.gcr.io/kube-proxy:v1.21.6
k8s.gcr.io/pause:3.4.1
quay.io/coreos/etcd:v3.4.13
k8s.gcr.io/coredns/coredns:v1.8.0

So the apiserver, controller manager and scheduler images are downloaded on all compute nodes, even though they are only needed on master nodes.

Why is this needed: For large clusters with several hundred nodes this is extremely inefficient, it can take hours just to download and copy images. This would cut the total number of downloads in about half, for clusters with number of workers >> number of masters.

k8s-triage-robot commented 1 year ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

rptaylor commented 1 year ago

/remove-lifecycle stale

k8s-triage-robot commented 1 year ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

rptaylor commented 1 year ago

/remove-lifecycle stale

k8s-triage-robot commented 1 year ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

rptaylor commented 1 year ago

/remove-lifecycle stale

NierYYDS commented 10 months ago

Have you tried setting skip_kubeadm_images to true

rptaylor commented 10 months ago

Have you tried setting skip_kubeadm_images to true

Wouldn't that skip all images required by kubeadm on all nodes? I didn't see any logic that would limit the image download list to those which are required on specific nodes. We are using kubeadm-based etcd installation so we need those images, but only on the master nodes.

k8s-triage-robot commented 5 months ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

rptaylor commented 5 months ago

/remove-lifecycle stale

VannTen commented 2 months ago

/reopen

k8s-ci-robot commented 2 months ago

@VannTen: Reopened this issue.

In response to [this](https://github.com/kubernetes-sigs/kubespray/issues/9094#issuecomment-2082228553): >/reopen Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.