Kawirikawiri, ndinalemba Wothandizira Kubernetes (pulogalamu yomwe ili ndi mwayi wopeza zothandizira magulu), kulumikiza ku polojekiti pa Github. Imachotsa malo omwe ali a nthambi zakale. Ku Kubernetes, ngati muchotsa dzina, zinthu zina zomwe zili patsambalo zimachotsedwanso zokha.
$ kubectl get pods --all-namespaces | grep -e "-pr-"
NAMESPACE ... AGE
habr-back-end-pr-264 ... 4d8h
habr-back-end-pr-265 ... 5d7h
Mukhoza kuwerenga za momwe mungagwiritsire ntchito nthambi zamagulu mumagulu apa ΠΈ apa.
Pamene mukugwira ntchito yopempha kukoka, kuyika kwatsopano kulikonse kwa code yakale kumachotsedwa, ndipo kutumizidwa kwatsopano kwa code yatsopano kumatulutsidwa. Koma pamene pempho lachikoka liphatikizidwa mu nthambi yaikulu, nthambi yokhayo ndiyo idzamangidwa. Zotsatira zake, zikuwoneka kuti tayiwala kale za pempho la kukoka, ndipo zida zake za Kubernetes zikadali mgululi.
kubctl - Mawonekedwe a mzere wolamula pakuwongolera magulu.
Timakweza gulu la Kubernetes kwanuko:
$ minikube start --vm-driver=docker
minikube v1.11.0 on Darwin 10.15.5
Using the docker driver based on existing profile.
Starting control plane node minikube in cluster minikube.
$ kubectl get pods --namespace stale-feature-branch-operator
NAME ... STATUS ... AGE
stale-feature-branch-operator-6bfbfd4df8-m7sch ... Running ... 38s
Ngati muyang'ana zipika zake, ndi wokonzeka kukonza zothandizira StaleFeatureBranch:
Wothandizira wayankha ndipo ali wokonzeka kuyang'ana malo:
$ kubectl logs stale-feature-branch-operator-6bfbfd4df8-m7sch -n stale-feature-branch-operator
... "msg":"Stale feature branch is being processing.","namespaceSubstring":"-pr-","afterDaysWithoutDeploy":1,"checkEveryMinutes":1,"isDebug":"true"}
Sakani fixtures, yokhala ndi malo awiri (project-pr-1, project-pr-2) ndi iwo deployments, services, ingress, ndi zina zotero:
$ kubectl apply -f https://raw.githubusercontent.com/dmytrostriletskyi/stale-feature-branch-operator/master/fixtures/first-feature-branch.yml -f https://raw.githubusercontent.com/dmytrostriletskyi/stale-feature-branch-operator/master/fixtures/second-feature-branch.yml
...
namespace/project-pr-1 created
deployment.apps/project-pr-1 created
service/project-pr-1 created
horizontalpodautoscaler.autoscaling/project-pr-1 created
secret/project-pr-1 created
configmap/project-pr-1 created
ingress.extensions/project-pr-1 created
namespace/project-pr-2 created
deployment.apps/project-pr-2 created
service/project-pr-2 created
horizontalpodautoscaler.autoscaling/project-pr-2 created
secret/project-pr-2 created
configmap/project-pr-2 created
ingress.extensions/project-pr-2 created
$ kubectl get namespace,pods,deployment,service,horizontalpodautoscaler,configmap,ingress -n project-pr-1 && kubectl get namespace,pods,deployment,service,horizontalpodautoscaler,configmap,ingress -n project-pr-2
...
NAME ... READY ... STATUS ... AGE
pod/project-pr-1-848d5fdff6-rpmzw ... 1/1 ... Running ... 67s
NAME ... READY ... AVAILABLE ... AGE
deployment.apps/project-pr-1 ... 1/1 ... 1 ... 67s
...
Popeza tinaphatikizapo debug, malo project-pr-1 ΠΈ project-pr-2, chifukwa chake zinthu zina zonse ziyenera kuchotsedwa nthawi yomweyo popanda kuganizira za parameter afterDaysWithoutDeploy. Izi zitha kuwoneka mu zolemba za opareshoni:
$ kubectl logs stale-feature-branch-operator-6bfbfd4df8-m7sch -n stale-feature-branch-operator
... "msg":"Namespace should be deleted due to debug mode is enabled.","namespaceName":"project-pr-1"}
... "msg":"Namespace is being processing.","namespaceName":"project-pr-1","namespaceCreationTimestamp":"2020-06-16 18:43:58 +0300 EEST"}
... "msg":"Namespace has been deleted.","namespaceName":"project-pr-1"}
... "msg":"Namespace should be deleted due to debug mode is enabled.","namespaceName":"project-pr-2"}
... "msg":"Namespace is being processing.","namespaceName":"project-pr-2","namespaceCreationTimestamp":"2020-06-16 18:43:58 +0300 EEST"}
... "msg":"Namespace has been deleted.","namespaceName":"project-pr-2"}
Mukayang'ana kupezeka kwa zothandizira, zidzakhala momwemo Terminating (kuchotsa) kapena kufufutidwa kale (mawu otuluka alibe kanthu).
$ kubectl get namespace,pods,deployment,service,horizontalpodautoscaler,configmap,ingress -n project-pr-1 && kubectl get namespace,pods,deployment,service,horizontalpodautoscaler,configmap,ingress -n project-pr-2
...