Comments (5)
Thanks for reporting this @jthin. Please take a look at https://open-policy-agent.github.io/gatekeeper/website/docs/failing-closed if you plan to configure the FailurePolicy
as Fail
. There are few considerations, especially https://open-policy-agent.github.io/gatekeeper/website/docs/failing-closed#admission-deadlock which sounds like your scenario. This can normally be mitigated by deleting the ValidatingWebhookConfiguration, per the emergency procedure.
from gatekeeper.
Hello @ritazh,
Thank you for your response.
Based on my understanding, this is an expected behavior.
However, for many reasons, we need to stop several AKS clusters, particularly in dev/test environment. Is deleting the ValidatingWebhookConfiguration
the sole solution, considering that we must reapply it afterward?
from gatekeeper.
@jthin deleting the ValidatingWebhookConfiguration is for emergency to get the cluster back to a healthy state. Disabling the webhook is to ensure cluster operations are not blocked by the webhook when the webhook is down.
To ensure the webhook does not affect your cluster long term when FailurePolicy=Fail, from api server logs, can you tell which resources have been blocked by the webhook when the cluster is restarted?
Few things you may need to update in your ValidatingWebhookConfiguration to reduce the number of resources that must go thru this webhook:
- Under
rules
, is thescope
set to*
orNamespaced
? - If it's namespaced, are system namesapaces excluded via matchExpressions? e.g.
kube-system
,istio-system
- Under
resources
, are cluster-scoped resources excluded, likenodes
? What aboutConfigMap
as it is used as the locking resource for some Kubernetes leader elections.
There are probably more resources that need to be excluded in ValidatingWebhookConfiguration to ensure cluster operations are not blocked by a failed webhook.
from gatekeeper.
in newer clusters, MatchConditions may also help with scoping:
from gatekeeper.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. Thank you for your contributions.
from gatekeeper.
Related Issues (20)
- Include images' digests in the release of the Gatekeeper Helm chart HOT 2
- Add helm chart values for vap generation
- Handle race condition with vap generation
- document constraint match source
- Gatekeeper Mutator doesn't re-apply mutations to rescheduled pods HOT 2
- Add --exclude to gator CLI HOT 1
- doc: how to exclude sidecar images in policies HOT 1
- CRDs selector HOT 2
- K8sNativeValidation and SyncSets HOT 6
- No warning displayed on kubectl apply with enforcementAction warn HOT 4
- Course aggregation of request duration metrics HOT 2
- Add: app.kubernetes.io/name label to the Deployment object HOT 2
- Migrate psp Templates. HOT 2
- Add a flag for GK validating webhook to defer to vap
- admission webhook "validation.gatekeeper.sh" denied the request HOT 1
- publish images with microarch levels
- gatekeeper-controller logs do not display
- Metric names mismatch: `*_count` in document, `*_count_total` in actual behavior HOT 1
- OOMKilled as number of constraints grew HOT 3
- doc: Add a page to include all flag information in one place
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gatekeeper.