|
5 months ago | |
---|---|---|
build | 8 months ago | |
cmd/manager | 8 months ago | |
deploy | 7 months ago | |
pkg | 8 months ago | |
vendor | 8 months ago | |
version | 8 months ago | |
.gitignore | 8 months ago | |
Dockerfile | 5 months ago | |
Jenkinsfile | 5 months ago | |
README.md | 7 months ago | |
VERSION | 8 months ago | |
go.mod | 8 months ago | |
go.sum | 8 months ago | |
tools.go | 8 months ago |
For example, you have huge image with your software and running POD on node. When POD moving to another node your image downloads to new node minute or two. This operator forces nodes to download image before rescheduling, so POD starts faster.
It runs /bin/sh
with infinite loop on specified image as DaemonSet with additional options like NodeSelector, Affinity or resource limits. You can specify custom command if your image not contains /bin/sh
interpreter or you want to run own script.
helm repo add 21h https://charts.blindage.org
helm repo update
helm install warm-image-operator 21h/warm-image-operator -n operators
kubectl create ns warmimage
kubectl -f deploy/crds/blindage.org_warmimages_crd.yaml
kubectl -n warmimage -f deploy/role.yaml
kubectl -n warmimage -f deploy/role_binding.yaml
kubectl -n warmimage -f deploy/service_account.yaml
kubectl -n warmimage -f deploy/operator.yaml
kubectl -n warmimage -f deploy/example/mongo4.yaml
Required:
Set image URL
image
: string
Set image tag
version
: string
Additional options:
Set custom command
customCommand
: strings list
Default:
- "/bin/sh"
- "-c"
- "while true; do sleep 86400; done"
Add custom labels
labels
: map
Affinity, node selection and tolerations
nodeSelector: default empty
affinity: default empty
tolerations: default empty
Resource limiting
podRequests: default empty
podLimits: default empty
Create yaml file and place it:
apiVersion: blindage.org/v1alpha1
kind: WarmImage
metadata:
name: mongo4
spec:
image: mongo
version: "4"
nodeSelector:
node-role.kubernetes.io/master: ""
Now you warmed mongo:4
on all master nodes.
Copyright by Vladimir Smagin (21h) 2020
http://blindage.org email: 21h@blindage.org
Project page: https://git.blindage.org/21h/warm-image-operator