Cluster Onboarding
There are several ways to onboard a cluster with Nirmata.
Onboarding with the UI Wizard
First time users can follow the step-by-step UI cluster onboarding wizard.
To onboard a cluster with Nirmata,
Click on the Add Cluster
button on the Clusters
panel. If you are trying out NCH for the first time, it is highly recommended to use the default onboarding process instead of the manual onboarding flow.
Using nctl
This workflow requires nctl
. Refer to the documentation for installation.
- Enter the cluster name (required) and labels (optional).
- After entering the cluster information, click on
Select Compliance Standards
to proceed to the next step. The Pod Security Standards Baseline is added by default. It is highly recommended to opt for Pod Security Standards Restricted and RBAC Best Practices to improve the overall security posture of the cluster. Select the set of policies to be configured on the cluster as default policy sets. These policies will be deployed in audit mode. After selecting the policy sets, click onAdd Cluster
to proceed to the final step.
- Use the
nctl login
command to login to NCH. If the token is not auto generated, visit the profile page and click onGenerate API Key
button to generate the token.
Once the command has run successfully, it will display a message notifying that:
Validating user credentials...done!
Wrote configuration to /home/username/.nirmata/config
Next, copy the nctl clusters add
command displayed in the final step from the web UI. Run this command to add your cluster to NCH.
- After running the above command, a confirmation message will be displayed, notifying that Nirmata Opertor has been deployed successfully in the cluster. Following this, the policy sets selected in the previous step will become ready.
Next, you can click on
I Have Run the Command
in the web UI to complete the onboarding process and navigate to the Clusters dashboard. The new cluster added can be seen in the dashboard.
Legacy Onboarding
This workflow is now deprecated and will soon be removed in a future release.
- Enter the cluster name and add any labels to this cluster.
- Download the
nirmata-kube-controller.yaml
and deploy in the target cluster. - Follow the instructions on the UI to install the Kyverno Operator
- Verify all components are up and running and policies deployed.
Once the cluster is connected, you should be able to view any policy violations detected on your cluster. You will also see the recommended adapter to be installed.
To troubleshoot Nirmata Kubernetes Controller please go through this troubleshooting guide. Contact Nirmata Support if the problem persists.
NOTE: If the Kyverno version is not supported, you will be prompted to install the supported version.
Onboarding with the Helm chart
Install Cluster Registrator
Use Nirmata’s cluster-registrator Helm chart to deploy kubecontroller into your cluster. This connects with Nirmata SaaS using a secure websocket (Websocket over TLS) connection.
Add the Nirmata Helm chart repository.
helm repo add nirmata https://nirmata.github.io/kyverno-charts/
helm repo update nirmata
Create a values.yaml
file and update any variables as needed.
# Default values for cluster registrator chart
nirmataURL: "https://nirmata.io"
# Set this to false if nirmata namespace already exists
createNs: true
cluster:
name: "test-cluster"
type: "default-policy-manager-type"
apiToken: <<<ADD YOUR API TOKEN>>>
proxy:
httpProxy: ""
httpsProxy: ""
noProxy: ""
tlsCert: ""
imageTag: v0.1.4
# Use read-only if you want to provide readonly access to the cluster
# Few workflows like PolicySet and PolicyExceptions deployment will not
# work in a read-only mode.
controllerPerms: 'read-write'
namespace: nirmata
Install the Helm chart.
helm install cluster-registrator nirmata/cluster-registrator
Install Enterprise Kyverno Operator
The enterprise kyverno operator is used to lifecycle manage Kyverno, and its adapters. It is also used to prevent tampering of Kyverno configuration and policies in the cluster.
To install the enterprise kyverno operator, run the following commands.
helm repo add nirmata https://nirmata.github.io/kyverno-charts/
helm repo update nirmata
helm install nirmata-kyverno-operator nirmata/nirmata-kyverno-operator -n nirmata-system --create-namespace
Secure Installation Tips
Configure Nirmata Permissions
Deployment Options
Choose whether to allow Nirmata to deploy custom resources directly to your cluster or manage them using your own GitOps and Continuous Delivery tools.
Read-Only: Use your own tools to manage resources
Nirmata will not be able to deploy Policies and Policy Exceptions, but will enable other workflows for your teams. You’ll have complete visibility and control but will need to deploy these resources yourself.
Read-Write: Use Nirmata to manage resources
Nirmata will be able to deploy Policies and Policy Exceptions across your clusters. We recommend you enable additional security measures, such as SSO and MFA with this option.