Skip to main content
Skip table of contents

Installing Kyverno Policy Engine:

Introduction

Kyverno is a Kubernetes-native policy engine that enables organizations to define, validate, and enforce policies across their Kubernetes clusters. With KubeDNA, you can now install Kyverno in a high-availability (HA) setup and apply best practice policies with a single click.

This guide outlines how to install Kyverno in an HA architecture and implement best practices for security, resource management, and compliance.


1. Installing Kyverno with High Availability (HA)

High Availability ensures that Kyverno remains operational even if one or more components fail. KubeDNA provides an automated process to deploy Kyverno in a highly available configuration across multiple nodes in your cluster.

Steps to Install Kyverno (HA)

  1. Navigate to the KubeDNA Management Dashboard.

  2. Select Kyverno component as Policy Engine.

  3. Click Install to begin the installation.

KubeDNA will automatically handle load balancing, failover configuration, and ensure that Kyverno is distributed across multiple availability zones (if applicable).


2. Applying Best Practice Policies

With KubeDNA, best practice policies from Kyverno’s policy library can be installed automatically. These policies are designed to enhance security, ensure compliance, and optimize resource usage.

Best Practice Policies (Details)

  1. Validate Image Provenance

  • Ensures that container images come from approved registries. This prevents unauthorized or insecure images from being deployed.

  1. Require Resource Requests and Limits

  • Enforces that all workloads define CPU and memory resource requests and limits, preventing resource starvation or over-provisioning.

  1. Enforce Read-Only Root Filesystem

  • Requires workloads to use a read-only root filesystem, reducing the risk of unauthorized file modifications and increasing security.

  1. Disallow Privileged Containers

  • Blocks the deployment of privileged containers, which can bypass Kubernetes security policies.

  1. Enforce Namespace Resource Quotas

  • Ensures that namespaces have resource quotas set to control resource usage and prevent one namespace from monopolizing cluster resources.

  1. Block Host Path Access

  • Prevents workloads from accessing host filesystem paths, which could lead to data leaks or unauthorized access.

  1. Network Policy Enforcement

  • Ensures that network policies are in place to control pod communication, reducing the risk of lateral attacks.

  1. Enforce Image Tag Policy

  • Requires the use of immutable image tags to ensure that deployments are based on known and reproducible images.

  1. Audit Log Configuration

  • Verifies that audit logging is configured and enabled, ensuring that security events and changes are logged for compliance and monitoring purposes.

Click here to see more policies


3. Managing and Monitoring Policies

Once the best practices are applied, you can manage and monitor policy compliance using the Kyverno Policy Reports feature integrated into the KubeDNA Dashboard.

Policy Management Features

  • View Policy Compliance Reports: See which workloads comply or violate policies.

  • Policy Exceptions: Define exceptions for specific workloads that require non-standard configurations.

  • Policy Updates: Automatically synchronize with the latest best practices from the Kyverno GitHub repository.


4. Troubleshooting and Support

If you encounter issues during installation or policy application, KubeDNA provides built-in diagnostics and support tools.

Common Issues

  • Policy Violations: Review the compliance report to identify workloads that violate policies.

  • HA Failures: Check node and pod status to ensure all replicas are running.


Conclusion

By leveraging KubeDNA's integration with Kyverno, you can quickly deploy a highly available policy engine and enforce best practices with ease. This approach enhances the security, stability, and compliance of your Kubernetes environments.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.