fix link to blog and add another in doc
This commit is contained in:
parent
4aed3385b6
commit
7b6bdd8129
@ -150,7 +150,7 @@ component, and will not be immediately obvious when looking at the controller so
|
|||||||
[internal/leaderelection/leaderelection.go](https://github.com/vmware-tanzu/pinniped/blob/main/internal/leaderelection/leaderelection.go).
|
[internal/leaderelection/leaderelection.go](https://github.com/vmware-tanzu/pinniped/blob/main/internal/leaderelection/leaderelection.go).
|
||||||
|
|
||||||
One of the Pods is always elected as leader, and only the Kubernetes API client calls made by that pod are allowed
|
One of the Pods is always elected as leader, and only the Kubernetes API client calls made by that pod are allowed
|
||||||
to perform writes. The non-leader Pods' controller are always running, but they will always result in failed writes,
|
to perform writes. The non-leader Pods' controllers are always running, but their writes will always fail,
|
||||||
so they are unable to compete to make changes to Kubernetes resources. These failed write operations will appear in the logs
|
so they are unable to compete to make changes to Kubernetes resources. These failed write operations will appear in the logs
|
||||||
as write errors due to not being the leader. While this might look like an error, this is normal for the controllers.
|
as write errors due to not being the leader. While this might look like an error, this is normal for the controllers.
|
||||||
This still allows the non-leader Pods' controllers to read state, update in-memory caches, etc.
|
This still allows the non-leader Pods' controllers to read state, update in-memory caches, etc.
|
||||||
@ -176,6 +176,8 @@ Calls made to the real API server are made as a service account using impersonat
|
|||||||
The code tries to reuse as much code from Kubernetes itself as possible, so it can behave as closely as possible
|
The code tries to reuse as much code from Kubernetes itself as possible, so it can behave as closely as possible
|
||||||
to the real API server from the client's point of view. It can be found in
|
to the real API server from the client's point of view. It can be found in
|
||||||
[internal/concierge/impersonator/impersonator.go](https://github.com/vmware-tanzu/pinniped/blob/main/internal/concierge/impersonator/impersonator.go).
|
[internal/concierge/impersonator/impersonator.go](https://github.com/vmware-tanzu/pinniped/blob/main/internal/concierge/impersonator/impersonator.go).
|
||||||
|
Further discussion of this feature can be found in the
|
||||||
|
[blog post for release v0.7.0]({{< ref "2021-04-01-concierge-on-managed-clusters" >}}).
|
||||||
|
|
||||||
## Supervisor API endpoints
|
## Supervisor API endpoints
|
||||||
|
|
||||||
@ -212,5 +214,5 @@ for example one of the CRDs is `jwtauthenticators.authentication.concierge.pinni
|
|||||||
|
|
||||||
Making this group name configurable is not a common pattern in Kubernetes apps, but it yields several advantages.
|
Making this group name configurable is not a common pattern in Kubernetes apps, but it yields several advantages.
|
||||||
A discussion of this feature, including its implementation details, can be found in the
|
A discussion of this feature, including its implementation details, can be found in the
|
||||||
[blog post for release v0.5.0](https://pinniped.dev/posts/multiple-pinnipeds/). Similar to leader election,
|
[blog post for release v0.5.0]({{< ref "2021-02-04-multiple-pinnipeds" >}}). Similar to leader election,
|
||||||
much of this behavior is implemented in client middleware, and will not be obvious when reading the code.
|
much of this behavior is implemented in client middleware, and will not be obvious when reading the code.
|
||||||
|
Loading…
Reference in New Issue
Block a user