The containerd runtime is a simple, robust, and portable Linux and Windows daemon, which can manage the complete container lifecycle of its host system such as image transfer and storage, container execution and supervision, low-level storage, and network attachments. You can use containerd to deploy and manage Kubernetes and handle on-premise and cloud hardware. A containerd API is available to facilitate management of your environment.

Deploying Containerd

To deploy containerd to discover and monitor container resource usage:

  1. Go to Setup > Account.

  2. Click on the Integrations and Apps tile.

  3. If there are apps/integrations already installed, it will redirect to the Installed Integrations page where all the installed integrations/apps are displayed. Otherwise, the Available Integrations and Apps page is displayed.

  4. Click +ADD and search for K3s. Also you can use the All Categories dropdown list to search.

  5. Click ADD on the K3s tile.

  6. On the Configure page:

    1. Enter a name for the integration.
    2. Select one of the following Deployment options:
      • On Prem if the containerd deployment is on premises.
      • Cloud if the containerd deployment is on a public cloud, such as AWS.
    3. For Container Engine, select ContainerD.

  7. Click on Next. The K3S integration page displays the details of the integration and YAML files.

  8. Navigate to kube-controller and copy the YAML content from the OpsRamp integration page and paste it to a new file in kube-controller, such as opsramp-agent-kubernetes.yaml.

    Change the following values in the YAML file as needed:

    • LOG_LEVEL: default= warn
    • K8S_EVENTS: default = False
    • DOCKER_EVENTS: default = False
  9. Execute the following command in kube-controller substituting your file name:

        kubectl apply -f <YAML file>
  10. Navigate to the OpsRamp console and go to Infrastructure > Resources.

  11. Click k3s on the resource list pane to display a list of all discovered nodes.