Documentation forSolarWinds Platform

Kubernetes requirements, deployment command examples, and container removal steps

This SolarWinds Platform topic applies only to the following products:

Hybrid Cloud Observability EssentialsHybrid Cloud Observability Advanced

SAMVMAN

Kubernetes (K8s) is one of the environments supported by the Container Monitoring feature. Starting with SAM 6.9 and VMAN 8.4, you can also monitor Kubernetes services in Microsoft Azure.

To monitor Kubernetes containers in the SolarWinds Platform, you'll need:

  • A Kubernetes platform with one of the following API versions enabled:

    • v1 and later

      Kubernetes instances running on containerd (Container Runtime Interface) are not supported in SolarWinds Platform. Starting with Kubernetes 1.20, the usage of the docker runtime was deprecated and in Kubernetes 1.25, it was replaced with containerd. If your Kubernetes cluster uses containerd runtime, SolarWinds Platform will not be able to monitor your Kubernetes containers.

    • rbac.authorization.k8s.io/v1beta1

    • rbac.authorization.k8s.io

    • apps/v1beta1

    • extensions/v1beta1

  • Ports:

    • 4043: Target port/Container port (internal K8s communication)

    • 10250: Listening port for Kubelet agent

    • 30043: Node port (internal K8s communication)

  • SSH access to the master server

  • Sudo privileges on the master server

  • A weaveworks/scope:1.13.2 image in the repository.

You can also monitor containers hosted in the Azure Kubernetes Service (AKS). See Azure Kubernetes Service documentation for requirements.

Third-party links in this section are attributed to © 2020 Microsoft Corp., available at docs.microsoft.com, obtained on October 30, 2020.

Kubernetes installation commands

When you add a container service, the Manage Container Service wizard generates commands that you can copy to the Windows Clipboard. Connect to the master server via SSH, open a command line, and run commands that will:

  • Download an orion-kubernetes.yaml file to define an orion namespace, and
  • Deploy Orion Aggregator and Orion Monitor containers to the namespace.

Set up AKS container monitoring

This section describes how to set up Azure Kubernetes Service (AKS) to communicate with the SolarWinds Platform. Refer to AKS documentation to configure AKS.

To configure AKS container monitoring in the SolarWinds Platform:

  1. If a VPN does not yet exist, create a point-to-site VPN connection from Azure to your local network, which involves setting up a Virtual Network (VNet), a VNet gateway subnet, VNet gateway, a VM, and a root certificate for the VPN client.

  2. Create the Kubernetes service in Azure. To set up permissions, see Security concepts for applications and clusters.

  3. On the SolarWinds Platform server:

    1. Connect to the Azure VPN.

    2. Install the Azure Command-Line Interface (CLI).

    3. Log into Azure and connect to the AKS cluster. Click here for details.

      If you cannot locate the cluster, use the --subscription trigger in the get credentials command.

      You can use the Kubernetes web dashboard or Kubernetes resource view to monitor your configuration. If you encounter permission issues with the web dashboard, use the following command:

      kubectl create clusterrolebinding kubernetes-dashboard --clusterrole=cluster-admin --serviceaccount=kube-system:kubernetes-dashboard

  4. Follow steps in Add a container service to finish adding the service via the Manage Container Service wizard.

If container monitoring stops, see Troubleshoot container monitoring.

Delete Kubernetes namespaces from nodes

For Docker, Docker Swarm, and Apache Mesos, you need to delete containers and container images from nodes before you deleting a container service in the SolarWinds Platform Web Console. For Kubernetes, delete namespaces from the node instead. With Kubernetes, namespaces are logical entities that represent cluster resources for usage of a set of users — in this case, the "user" is the SolarWinds Platform.

  1. Connect to the node via SSH.
  2. Run the following command:

    sudo kubectl delete namespaces orion

  3. When the service status switches to Down on the Container Services page, delete the container service by selecting it, and then clicking Delete.