ContainerImage.Pinniped/internal/controller/kubecertagent
Monis Khan 0d6bf9db3e
kubecertagent: attempt to load signer as long as agent labels match
This change updates the kube cert agent to a middle ground behavior
that balances leader election gating with how quickly we load the
signer.

If the agent labels have not changed, we will attempt to load the
signer even if we cannot roll out the latest version of the kube
cert agent deployment.

This gives us the best behavior - we do not have controllers
fighting over the state of the deployment and we still get the
signer loaded quickly.

We will have a minute of downtime when the kube cert agent deployment
changes because the new pods will have to wait to become a leader
and for the new deployment to rollout the new pods.  We would need
to have a per pod deployment if we want to avoid that downtime (but
this would come at the cost of startup time and would require
coordination with the kubelet in regards to pod readiness).

Signed-off-by: Monis Khan <mok@vmware.com>
2021-09-21 16:20:56 -04:00
..
mocks Add generated mocks for kubecertagent. 2021-04-26 08:19:45 -06:00
testdata WIP: start replacing the kubecertauthority pkg with a new controller 2020-09-22 17:45:20 -07:00
kubecertagent_test.go kubecertagent: attempt to load signer as long as agent labels match 2021-09-21 16:20:56 -04:00
kubecertagent.go kubecertagent: attempt to load signer as long as agent labels match 2021-09-21 16:20:56 -04:00
legacypodcleaner_test.go kubecertagent: fix flakey tests 2021-09-16 14:48:04 -04:00
legacypodcleaner.go kubecertagent: fix flakey tests 2021-09-16 14:48:04 -04:00
pod_command_executor.go Refactor kube-cert-agent controllers to use a Deployment. 2021-04-26 08:19:45 -06:00