Troubleshooting Guide

Cluster with proxy

To allow Nirmata Kubernetes Controller connect successfully in the cluster with proxy environment, edit the nirmata-kube-controller deployment by running following command on any node that has kubectl installed:

kubectl edit deployment nirmata-kube-controller -n nirmata

Add the environment variables NO_PROXY, HTTP_PROXY, and HTTPS_PROXY with their respective values under the env of the container in nirmata-kube-controller deployment and then save to apply the changes.

env:
- name: TOKEN
  ...
- name: NO_PROXY
  value: <IP_ADDR>
- name: HTTP_PROXY
  value: http://<PROXY_SERVER>:<PROXY_PORT>
- name: HTTPS_PROXY
  value: https://<PROXY_SERVER>:<PROXY_PORT>
  ...

Verify nirmata-kube-controller installation

To check if the Nirmata Kubernetes Controller was installed correctly, you can run this command to check if the controller pod is running:

kubectl get pod -n nirmata

Reinstalling Nirmata Kubernetes Controller

If Nirmata Kubernetes Controller is not installed or failed, you can remove existing resources by running the commands given below:

kubectl delete namespaces nirmata

kubectl delete clusterrolebindings nirmata-cluster-admin-binding

kubectl delete clusterrolebindings nirmata-controller-binding

kubectl delete clusterroles nirmata:nirmata-readonly

And then install the Nirmata Kubernetes Controller by downloading the YAML from the Nirmata Policy Manager and running this command

kubectl create -f nirmata-kube-controller.yaml

NOTE: The name of downloaded manifest YAML file can be different, So use filename in the commands accordingly.