charts
charts copied to clipboard
[artifactory-ha] Pod Disruption Budget (node-pdb) should only apply if node.replicas > 1
Is this a request for help?:
Is this a BUG REPORT or FEATURE REQUEST? (choose one): BUG, I guess
Version of Helm and Kubernetes:
$ helm version
version.BuildInfo{Version:"v3.2.1", GitCommit:"fe51cd1e31e6a202cba7dead9552a6d418ded79a", GitTreeState:"clean", GoVersion:"go1.13.10"}
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.1", GitCommit:"206bcadf021e76c27513500ca24182692aabd17e", GitTreeState:"clean", BuildDate:"2020-09-09T19:10:21Z", GoVersion:"go1.15.1", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.4", GitCommit:"67d2fcf276fcd9cf743ad4be9a9ef5828adc082f", GitTreeState:"clean", BuildDate:"2019-09-18T14:41:55Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}
Which chart: artifactory-ha ... but the same logic may apply elsewhere
What happened: With node.replicaCount = 1, I cannot do maintenance to K8s nodes (migrate the artifactory member node) because it would violate the PDB, which has minimum available 1. I had to scale it up to two replicas, so I could migrate it to another node.
What you expected to happen: It should only create the PDB if node.replicaCount > 1
How to reproduce it (as minimally and precisely as possible): Install artifactory-ha helm chart with node.replicaCount = 1
Anything else we need to know: I like turtles
Yeah, same here. Why is there a PDB specifically for member nodes? Since member and primary are interchangeable, there should be a PDB saying at least one node of any type must be available, right?
@raxod502-plaid Actually, the primary node is a single entity. The "member" nodes are what processes user requests. Unfortunately that means the minimum cluster size is 3 nodes, one primary, two members. While there are configurations to allow the primary to take user requests, I don't think a PDB will work across different statefulsets?
Thank you for correcting my misunderstanding. I had mistakenly thought that running only the primary node would suffice to serve requests, but (as you point out) it is not. We have reconfigured our Artifactory HA to run 2 member nodes, and this solves the PDB problem for us as a side effect.