In given manifest, podManagementPolicy is set as Parallel, but in later section of page, the console logs of "kubectl get pods -w -l app=zk" command displays ordered behavior, which is not the actual result in case of Parallel option. Sample logs from doc : NAME READY STATUS RESTARTS AGE zk-0 0/1 Pending 0 0s zk-0 0/1 Pending 0 0s zk-0 0/1 ContainerCreating 0 0s zk-0 0/1 Running 0 19s zk-0 1/1 Running 0 40s zk-1 0/1 Pending 0 0s zk-1 0/1 Pending 0 0s zk-1 0/1 ContainerCreating 0 0s zk-1 0/1 Running 0 18s zk-1 1/1 Running 0 40s zk-2 0/1 Pending 0 0s zk-2 0/1 Pending 0 0s zk-2 0/1 ContainerCreating 0 0s zk-2 0/1 Running 0 19s zk-2 1/1 Running 0 40s ## here pods are created in order Actual results after applying the given manifest : [taher@kubernetes-docker ~]$ kubectl apply -f zookeeper.yaml service/zk-hs created service/zk-cs created poddisruptionbudget.policy/zk-pdb created statefulset.apps/zk created [taher@kubernetes-docker ~]$ kubectl get pods -w -l app=zk NAME READY STATUS RESTARTS AGE zk-0 0/1 Pending 0 3s zk-1 0/1 Pending 0 3s zk-2 0/1 ContainerCreating 0 3s zk-1 0/1 Pending 0 4s zk-0 0/1 Pending 0 4s zk-1 0/1 Pending 0 5s zk-0 0/1 Pending 0 5s zk-1 0/1 Pending 0 5s zk-1 0/1 ContainerCreating 0 5s zk-0 0/1 Pending 0 5s zk-2 0/1 Running 0 19s zk-1 0/1 Running 0 24s zk-2 1/1 Running 0 35s zk-1 1/1 Running 0 37s ## here pods are created in parallel Resolution : Either change the value of podManagementPolicy option to OrderedReady or remove that option, so that StatefulSet will take it's default behavior. |
||
---|---|---|
.. | ||
admin | ||
application | ||
audit | ||
configmap | ||
controllers | ||
debug | ||
federation | ||
minikube | ||
podpreset | ||
pods | ||
policy | ||
service | ||
windows | ||
README.md | ||
examples.go | ||
examples_test.go |
README.md
Note: These tests are importing code from kubernetes that isn't really meant to be used outside the repo. This causes vendoring problems. As a result, we have to work around those with these lines in the travis config:
- rm $GOPATH/src/k8s.io/kubernetes/vendor/k8s.io/apimachinery
- rm $GOPATH/src/k8s.io/kubernetes/vendor/k8s.io/apiserver
- rm $GOPATH/src/k8s.io/kubernetes/vendor/k8s.io/client-go
- cp -r $GOPATH/src/k8s.io/kubernetes/vendor/* $GOPATH/src/
- rm -rf $GOPATH/src/k8s.io/kubernetes/vendor/*
- cp -r $GOPATH/src/k8s.io/kubernetes/staging/src/* $GOPATH/src/