Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cdayz/k8s-image-pre-puller
K8S Operator that ensures that docker images will be pre-pulled on all cluster nodes
https://github.com/cdayz/k8s-image-pre-puller
docker-image k8s k8s-operator pre-pull
Last synced: 3 months ago
JSON representation
K8S Operator that ensures that docker images will be pre-pulled on all cluster nodes
- Host: GitHub
- URL: https://github.com/cdayz/k8s-image-pre-puller
- Owner: Cdayz
- License: apache-2.0
- Created: 2024-02-23T18:14:11.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2024-05-20T22:35:58.000Z (8 months ago)
- Last Synced: 2024-10-11T06:42:24.705Z (3 months ago)
- Topics: docker-image, k8s, k8s-operator, pre-pull
- Language: Go
- Homepage:
- Size: 211 KB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# K8S Image Pre Puller
![CI](https://github.com/Cdayz/k8s-image-pre-puller/actions/workflows/main.yml/badge.svg)
It's a simple kubernetes operator that will help you automatically pre-pull docker images on nodes.
This operator can be used for speed-up pod initialization in cluster.## How to use
### Install
You can install this operator by installing it through [Helm Chart](./charts/k8s-image-pre-puller/)
### Create PrePullImage
When operator installed in cluster you can simply create resources like this:
```yaml
apiVersion: images.cdayz.k8s.extensions/v1
kind: PrePullImage
metadata:
name: my-cool-image-pre-pull
namespace: my-namespace
spec:
image: "gcr.io/my-cool-image"
```Or you can specify `nodeSelector` to pre-pull image only on particular nodes.
```yaml
apiVersion: images.cdayz.k8s.extensions/v1
kind: PrePullImage
metadata:
name: my-cool-image-pre-pull
namespace: my-namespace
spec:
image: "gcr.io/my-cool-image"
nodeSelector:
ssd: "true"
feature.nvidia-runtime: "true"
...
```This operator automatically will create a `DaemonSet` for create pre-pulling pods on every existing node.
**IMPORTANT**: This operator creates a `DaemonSet` and it will create `Pod`'s in cluster - this pods will consume resources according to configuration. It's important to have monitoring about this resources.