This page outlines the prerequisites and necessary permissions for installing the Kubernetes 2.0 Agent.
Prerequisites
- Helm command to be installed on the server through which your Kubernetes cluster is being managed using kubectl/oc commands.
- OpsRamp supports Helm version 3.2.0 and later.
- Ensure that the Helm repository is accessible from the user cluster.
- The Agent repository must also be reachable from the user cluster.
Note
If you want to ingest Logs into the platform, please set Yes in the Enable Log Management section on the client registration page. To enable this, navigate to Setup > Account > Clients and select your client name in the OpsRamp portal.Permissions
Following permissions required to install the Kubernetes 2.0 Integration:
| Category | Permission Type | Permission Value | 
|---|---|---|
| Account Administration | Devices | Manage | 
| Integrations and apps | Integration | Manage | 
Refer to the Permission Sets document for more details.
Resource Requirements
When deploying the OpsRamp Kubernetes 2.0 integration, it is important to allocate appropriate resources to ensure the monitoring components operate efficiently.
Default Resource Limits
When you install the Kubernetes 2.0 integration, the standard resource limits applied to each Pod fall under the Small cluster category, as shown in the table below.
Cluster-Based Resource Limits (v20.0.0 and later)
You can adjust the default resource limits in the values.yaml file based on your cluster size. Refer to the table below for the recommended values.
| Cluster Category | Number of Nodes | Number of Pods | MASTER (POD) | MASTER-DELEGATE (POD) | WORKER (POD) | REDIS-Node (POD) | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| opsramp-agent (Container) | master-delegate (Container) | prometheus (Container) | opsramp-agent (Container) | redis (Container) | sentinal (Container) | |||||||||
| CPU | Memory | CPU | Memory | CPU | Memory | CPU | Memory | CPU | Memory | CPU | Memory | |||
| Small (Default) | <10 | 300–800 | 400m | 512MB | 400m | 512MB | 200m | 512MB | 500m | 512MB | 150m | 192MB | 150m | 192MB | 
| Medium | 10–30 | 800–3000 | 600m | 768MB | 400m | 512MB | 200m | 512MB | 700m | 512MB | 150m | 192MB | 150m | 192MB | 
| Large | 30–60 | 3000–6000 | 700m | 768MB | 500m | 600MB | 200m | 768MB | 1000m | 768MB | 150m | 192MB | 150m | 192MB | 
| X-Large | 60–100 | 6000–10K | 1000m | 1024MB | 600m | 768MB | 300m | 1280MB | 1000m | 1280MB | 150m | 192MB | 150m | 192MB | 
Considerations
- Cluster Size: These resource recommendations are for typical cluster sizes. Larger clusters with more nodes and pods may require increased resource allocations to handle the additional data volume.
- Monitoring and Adjustment: After deployment, monitor the resource usage of these pods and adjust the limits based on actual usage to optimize performance and cost.
Cluster-Based Resource Limits (Below v20.0.0)
Supports for up to 500 Pods
In the 19.2.1 release, the Agent supports up to 500 Pods with the following default resource limits:
| No. of Pods | Master Agent | Worker Agent | Prometheus | Redis | ||||
|---|---|---|---|---|---|---|---|---|
| CPU | Memory | CPU | Memory | CPU | Memory | CPU | Memory | |
| 500 | 750m | 1.5Gi | 400m | 512Mi | 300m | 1Gi | 150m | 192Mi | 
Support for up to 1000 Pods
To increase the capacity to 1000 Pods, update the following resource configuration:
- Prometheus Memory Limits: Increase from 1 GiB (default) to 1.5 GiB.
Supported Distributions and their Components
The table below outlines the supported distributions and their components.
- Yes, indicates that the component supports metrics and the OpsRamp agent collects them.
- No, means the distribution does not expose metrics for that specific component.
Control Plane Components
| Kubernetes Distribution | kube-api server | etcd | CoreDNS | kube-scheduler | kube-control manager | 
|---|---|---|---|---|---|
| k3s | Yes | Yes (only if it runs with HA) | Yes | Yes | |
| Microk8s | Yes | Yes (only if enabled by the administrator) | Yes | No (only if enabled by the administrator) | No (only if enabled by the administrator) | 
| GKE (GCP) | Yes | No (Provider does not expose) | Yes | Yes | Yes | 
| AKS(Azure) | Yes | No (Provider does not expose) | Yes | Yes | Yes | 
| EKS(AWS) | Yes | No (Provider does not expose) | Yes | Yes | Yes | 
| Vanilla K8s | Yes | Yes | Yes | Yes | Yes | 
| Rancher (RKE2) | Yes | Yes | Yes | Yes | Yes | 
| OKD (OpenShift) | Yes | Yes | Yes | Yes | Yes | 
Worker Node Components
| Kubernetes Distribution | kube proxy | Kubelet component | Kubeletstats | cAdvisor | 
|---|---|---|---|---|
| k3s | Yes | Yes | Yes | Yes | 
| Microk8s | Yes | Yes | Yes | Yes | 
| GKE | Yes | Yes | Yes | Yes | 
| AKS | Yes | Yes | Yes | Yes | 
| EKS | Yes | Yes | Yes | Yes | 
| Vanilla K8s | Yes | Yes | Yes | Yes | 
| Rancher (RKE2) | Yes | Yes | Yes | Yes | 
| OKD (OpenShift) | No (OpenShift does not use kube-proxy) | Yes | Yes | Yes |