delete all pods with regexp oneliner
kubectl get pods | awk '/podname/ { print $1 }' | xargs kubectl delete pod
Example explanation
- get all pods
- retrieve all pods under mask podname
- delete repeatedly
The blog about containerisation, virtual machines and useful shell snippets and findings
kubectl get pods | awk '/podname/ { print $1 }' | xargs kubectl delete pod
Example explanation
put this in .zshrc if you want to update `kube/config` with new port from kind container
kupdate() {
DOCKER_ID=`docker ps -a | awk '/kind-control-plane/{print $1}'`
PORT=`docker inspect ${DOCKER_ID} | jq -r '.[0].NetworkSettings.Ports["6443/tcp"][0].HostPort'`
kubectl config set clusters.kind-kind.server https://127.0.0.1:${PORT}
echo "port set to ${PORT}"
}
use your container name instead of kind-control-plane
docker start `docker ps -a | awk '/kind-control-plane/{print $1}'`
kubectl rollout restart deployment myapp
you should have restartPolicy: Always for your deployments
docker images -f reference=myimage -q | xargs docker rmi -f
put your image name w/o tags instread of myimage
example for Django
file
DATABASE_ENGINE=django.db.backends.sqlite3
DATABASE_NAME=database.sqlite3
DATABASE_USER=
DATABASE_PASSWORD=
DATABASE_HOST=
DATABASE_PORT=
env $(cat .env | xargs) ./manage.py runserver --settings=settings
core@coreos04itpremumlocalbak ~ $ docker ps -a -f name=redmine CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5c4c2c13eb0b sameersbn/redmine:3.4.2 “/sbin/entrypoint.sh…” 14 months ago Up 6 days 80/tcp, 443/tcp redmine_redmine_1 ec9532ae1b24 sameersbn/postgresql “/sbin/entrypoint.sh” 14 months ago Up 6 days 5432/tcp redmine_postgresql_1 core@coreos04itpremumlocalbak ~ $ docker ps -a -f name=redmine -q | xargs docker start 5c4c2c13eb0b ec9532ae1b24
Sometimes you can get error similar to this
Object does not exist on the server: [404] Object does not exist on the server
That means you messed with upload of your artifacts to LFS and they changed at some point and being commited to repo.
The only way to fix that is to remove these files from commit, that will overwrite your history, hense you have to push your branch with --force flag to overwrite your remote repository.
So here is your hard way to fix that:
git log --raw --all --full-history -- Runtime/platforms/hpux/hpux_rebuilt.tar
tree 901cb036d4dfef5c36c66d6452b3d496d0e22772 parent 19848337754164ea17afcd1eb7bd55ef512b3c34 author Maksym Prokopov1548405977 +0700 committer Maksym Prokopov 1548405977 +0700 added script clause
search your file with
git cat-file -p 901cb and drill down until you find your assed blob sha1
100644 blob 496ee2ca6a2f08396a4076fe43dedf3dc0da8b6d .gitignore 040000 tree 1c93b94f6ec752528a46741a7ff94e81d46afdcf AppServer 040000 tree b32efb40aa560188970fc4f470c697e06f7c7030 Build 100644 blob 050d454e84afc229f35144ef8f13087c58d11f8a Jenkinsfile_AppServer_Cobol 040000 tree ceac52278585b596885410e38021bbcbb95cd7b6 Runtime
git cat-file -p ceac52
040000 tree ff05d245ea0782b43355affc5fe8237ec8619bdc platforms
git cat-file -p ff05d245ea0782
040000 tree c9c55c219bc5cf5436cdb4d4dcf761a088677bc2 aix 040000 tree 65cc3c3899d9bfecbf95999fdaed24c2235fc887 hpux 040000 tree 13bada715fbde55b9d1e3be0aa0c82a8ed886ca0 intel_nt 040000 tree ad1b0ec603f2895a91a3241fa3ad034c97645b44 solaris
git cat-file -p 65cc3c3899d9bfecbf95999fda
040000 tree 3477a0392bd9733297c52284a85776bf2461f7d8 SDK 100644 blob ae6c4b1828104c732c36a680c5b298fb5769fbaf cshp1_list 040000 tree 1bfe688c02bbf87836d70709318d750b89f17f6a exec 100644 blob 808487ec8d13531604c58a632dec9373c2629647 executables_list 100644 blob f2033d65e09b598f6a19e141cae59c980f8595ae hpux_rebuilt.tar 100644 blob 82cf5d66ffdecde3f059f9bc9914f1fc8498b5f0 non_executables_list 040000 tree 182465cb595fa768df9376f558110eff8cc88afc sbin
here is your blob id
100644 blob f2033d65e09b598f6a19e141cae59c980f8595ae hpux_rebuilt.tar
Put f2033d65e09b598f6a19e141cae59c980f8595ae to blob-ids file
Repeate step 1 for every file your’re missing.
java -jar ~/Downloads/bfg-1.13.0.jar -bi blob-ids
Updating references: 100% (10/10) ...Ref update completed in 15 ms. Commit Tree-Dirt History ------------------------ Earliest Latest | | DmDmDDmDmDmmDmDmDDDmmDmDmDmDDDmDmDmmDmDmDDDmDmDmDmDDmDDmmmDm D = dirty commits (file tree fixed) m = modified commits (commit message or parents changed) . = clean commits (no changes to file tree) Before After ------------------------------------------- First modified commit | 39384790 | 5c5a7a09 Last dirty commit | 71d09db3 | 495a1329 Deleted files ------------- Filename Git id ------------------------------------------ 15schemas.tar | b795d231 (134 B) ciar_vb4_15.tar | 2d06bbb5 (133 B) ciar_xsl_15.tar | 26c79c30 (132 B) civt_vb4_15.tar | 23d54549 (132 B) civt_xsl_15.tar | 7201bc36 (131 B) mysql.tar | e3d9d62d (131 B) wrunora.15.1.0.0_11.2.0 | d752af96 (133 B)
In total, 109 object ids were changed. Full details are logged here:
git reflog expire --expire=now --all && git gc --prune=now --aggressive
git push origin --force
If you want to re-add LFS files
you can do it with
git lfs track "filename"
docker images | grep myname | cut -d' ' -f9 | xargs docker rmi -f
This oneliner will query for last 5 containers and removes them.
docker ps -a -n 5 -q | xargs docker rm
It is useful when you have dangling containers after failed builds
Afterward, you can launch image cleanup because you won’t be tied with stopped containers.
docker rmi `docker images -qf dangling=true`