Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Default Kyverno policies for OpenEBS #3385

Closed
kmova opened this issue May 4, 2021 · 3 comments
Closed

Default Kyverno policies for OpenEBS #3385

kmova opened this issue May 4, 2021 · 3 comments

Comments

@kmova
Copy link
Member

kmova commented May 4, 2021

OpenEBS cStor and Jiva projects involve managing K8s custom resources via the engine operators.

OpenEBS currently uses:

  • webhook admission controller for performing custom validations
  • PSP for setting some default security policies.

PSP is getting deprecated in the upcoming K8s releases and webhook admission controller has a number of gotchas w.r.t certificate and policy management.

This feature is to track the adoption of Kyverno for performing enforcing security and validation policies.

Kyverno also can be extended for pushing image pull secrets into the pods that are launched by OpenEBS operators.

@RealHarshThakur
Copy link
Member

Another policy engine to consider is KubeWarden . There is already a policy hub which has most PSPs implemented. Writing the policy is fairly simple too: https://docs.kubewarden.io/writing-policies/go/04-validation.html

@kmova
Copy link
Member Author

kmova commented May 16, 2021

Pushing this from slack thread.

Jim Bugwadia 27 minutes ago @kiranmova - thanks for asking!
Is PSP replacement the only use case? There was a mention of synchronizing secrets as well (https://kyverno.io/policies/other/sync_secrets/?policytypes=generate).
I would suggest list requirements and the key criteria to help decide on the best solution. Some of the relevant items may be:

  • CNCF project, OSS license, etc.
  • PSP support
  • Mutate support
  • Validate support
  • Generate support
  • Ease of use
  • Extensibility
  • Observability
  • HA
  • Ability to customize by cluster admins

The last one may be important, as its critical to allow flexibility.

Jim Bugwadia 25 minutes ago
One other thought, the policy engine the end user selects can be different. Kyverno is designed to work with Gatekeeper/OPA, etc. as its possible different admission controllers are used to address different problems.
As an example, here is how Flux2 is using Kyverno to address multi-tenancy:
https://github.com/fluxcd/flux2-multi-tenancy#enforce-tenant-isolation

@Nivedita-coder
Copy link

Here is the screenshot of the policies testing.
1st

2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants