Install a Deployment Assessment Agent

Deployment assessment agents evaluate the images being deployed in Kubernetes clusters against the image metadata and vulnerability information scanned by Container Security in prior CI/CD and registry scans. You can configure policies to define the actions taken by deployment assessments.

You can install a deployment assessment agent after you create a deployment scanner in Container Security.

This topic describes how to install a deployment assessment agent, and how to delete a deployment assessment agent.

Before You Begin

  • The following components must be installed on the Kubernetes cluster that needs to be monitored for deployment assessment:

  • Container Security must be installed and accessible via the LoadBalancer URL from the all the Kubernetes clusters where deployment assessment needs to run.

  • Add a deployment scanner in Container Security.

Install or Upgrade a Deployment Assessment Agent

  1. In the Kubernetes cluster where you want to install the deployment assessment agent, create a namespace using the following command:

    Copy
    kubectl create namespace tes-deployment-assessment

    In this example, the namespace is tes-deployment-assessment. If you use a different namespace, ensure that you use the same namespace every time you install or upgrade the agent.

  2. Add the Tenable Helm Charts repository with the following command:

    Copy
    helm repo add tenable https://charts.tenable.com
  3. Update the repository:

    Copy
    helm repo update
  4. In Container Security Container Security, add a deployment scanner and download the yaml file.

  5. Install the Helm Chart or upgrade the existing Helm Chart:

    1. Create a values.yaml file with parameters for your deployment. The following is an example values.yaml:

      Copy
      # To override image registry and tag
      image:
        registry: tenable
        tag: 1.0.0
        
      # To override default resource
      resources:
        requests:
          memory: "500Mi"
          cpu: "500m"
        limits:
          memory: "2Gi"
          cpu: "2000m"
          
      # To override include/exclude namespace
      # By default, kube-system and the namespace where the agent is being
      # deployed is excluded from monitoring.
      validatingWebhook:
        # Namespaces to exclude from assessment.
        # release namespace is excluded by default to allow the 
        # webhook pod to be deployed.
        excludeNamespaces:
          - kube-system
          - namespace2
        # Namespaces to include in the assessment
        # includeNamespaces:
          # - namespace1

      Note: If you create a custom values.yaml file, ensure you use the same file every time you upgrade. Otherwise, Tenable uses default values that may not match your configuration.

    2. Install the Helm Chart using the following command, where {cluster_name.yaml} is the file you downloaded when you created the deployment scanner:

      Copy
      helm upgrade --install tes-deployment-assessment -n tes-deployment-assessment -f values.yaml -f {cluster_name.yaml} tenable/tes-deployment-assessment

Delete a Deployment Assessment Agent

  1. In the Kubernetes cluster where the deployment assessment agent is installed, list the charts installed in the namespace with the following command:

    Copy
    helm list -n tes-deployment-assessment
  2. Delete the Helm Chart with the following command:

    Copy
    helm delete tes-deployment-assessment -n tes-deployment-assessment
  3. In Container Security Container Security, delete the deployment scanner.