Cloud Services

Container Cluster Management

Workloads
Published On Sep 10, 2024 - 1:14 PM

Workloads

Acquire essential insights into Kubernetes components such as Pods, Deployments, and others, which are crucial for effective cluster optimization.
Kubernetes cluster encompasses all the applications and services that run on it. They include Pods, Deployments, Replica Sets, Stateful Sets, Daemon Sets, Jobs, and Cronjobs—each serving a specific function in deploying and managing your applications.
To view the different Workload data, follow these steps to access the data you need:
  1. Log into Container Cluster Management. To learn more about navigating to the different services from each tenant, refer to Kyndryl ModernOps landing page or Kyndryl Bridge Landing page navigation.
  2. Upon successful authentication, proceed to the CCM main dashboard. This serves as the central hub for all cluster management activities.
  3. In the dashboard, locate the
    Cluster table
    , positioned towards the bottom of the interface. This table lists all the clusters available under your management.
  4. Identify and choose the desired cluster by selecting it within the
    Cluster table
    . This action will direct you to a detailed view of the selected cluster.
  5. Within the cluster details view, navigate to the
    Workload
    tab. Here, you will find options to view and manage Persistent Volumes, Persistent Volume Claims, and Storage Classes associated with the selected cluster.

Workloads

The Workloads section in your cluster management interface is designed to give you a comprehensive overview and detailed insights into various components running in your Kubernetes cluster. This section is divided into the following sub-sections:
  • Pods
    : This subsection provides a view of all the pods within your cluster. Here, you can easily monitor each pod's status and conditions, offering a granular understanding of your cluster's runtime environment.
  • Deployments
    : In this subsection, you get a detailed view of all deployments. It allows you to check the status of each deployment, ensuring that you are always updated on how your applications and services are being managed and scaled in the cluster.
  • Replica Sets
    : Here, you can view all the replica sets in your cluster. This section provides detailed information about each replica set, enabling you to ensure that the desired number of pod replicas are always running as intended.
  • Stateful Sets
    : This subsection displays all the Stateful Sets in your cluster. Detailed insights into each Stateful Set help you manage stateful applications more effectively, ensuring they maintain a stable identity and storage across restarts and rescheduling.
  • Daemon Sets
    : This interface area shows all the Daemon Sets in the cluster and detailed information on each. Daemon Sets ensures that your nodes run a copy of a specific pod, which can be crucial for cluster maintenance and providing services on each node.
  • Jobs
    : The Jobs subsection offers a view of all the jobs in the cluster. This information is particularly useful for tracking tasks intended to run until successful completion.
  • CronJobs
    : Lastly, this subsection presents a comprehensive view of all the CronJobs configured in your cluster. It's particularly useful for scheduling and managing tasks that need to run periodically or at a specific time.

Pods

This section presents a complete overview of all the pods in the cluster.
The following details are presented in the pod's table:
  • Name
    : This column displays the names of pods.
  • Pod IP
    : This column displays the IP address of the pod listed on that row.
    Pod IP
    must be selected in the
    Workload
    -->
    Pod Settings
    . To select
    Pod IP
    , click the gear (settings) icon in the top right corner of the tab when Pods is selected under Workloads, and click the
    Pod IP
    checkbox.
  • Namespace
    : This column displays the namespace in which the pod is running.
  • Restarts
    : This column displays the restart count. If the count is greater than 0, the warning icon is displayed along with the count.
  • Status
    : This column displays the quality of the pod: Succeeded, Running, Pending, Failed, terminated.
  • Log link
    : This column provides a link to view pod logs. The logs section with details about the records is displayed below the table. Cluster users can search through logs, export the logs, and filter the logs based on the duration slider.
  • Controlled by
    : This column displays the name of 'kind,' associated with the pod.
  • Image
    : This column displays the image associated with the pod.
  • Age
    : This column shows the Age of the pod.
Duration sliders are shown only if there are more than 50 log lines. The timeline will be displayed if the pod's restart count exceeds 0.
To view more details about a pod, the user can click on the
View details
option present at the end of the row. The details about the selected pod are presented in a side panel, as shown below.
  • Conditions:
    This section displays the
    Conditions
    table with the following columns: Type, Status, and Last transition time.
  • Volumes:
    This section displays the
    Volumes
    table with the following columns: Name, Mount path, Type, and Read-only.
  • Environment variables:
    This section displays the
    Environment variables
    table with the following columns: Name, Value.
  • Events:
    This section displays the
    Events
    table with the following columns: Type, Reason, Namespace, Message, Involved object, Count, Duration.
  • Raw JSON:
    This section displays the
    Raw JSON
    as received from the API. The cluster user can copy the entire JSON using the
    Copy to clipboard
    button provided.
  • Monitoring:
    This section displays the graphs for
    CPU Usage
    ,
    Memory usage
    ,
    Network Transmitted
    based on the selected duration.
The Monitoring tab will display the charts only if Prometheus is configured on the cluster; else, it will show the info note 'Prometheus is either not installed or properly configured for this cluster.
Namespaces as per policies
  • Namespace dropdown menu present in all the cluster details pages is used to filter the data as per the namespace selected.
  • Access to Kubernetes cluster namespaces can be restricted using the "namespaces" policy attribute.
  • If the user policy has access to all namespaces , the 'All' option will be shown in the namespaces dropdown in the details pages, or the dropdown will consist only of the namespaces to which the user has access.
  • In the latter case, the first option will be used to get the info as per the sorted order. It is the default behavior, and you can switch the namespaces within the allowed list from the dropdown as required.
  • When the "namespaces" attribute is present in a policy, the cluster-scoped Kubernetes resource types are automatically restricted from the cluster details menu.

CPU Usage

This graph represents the CPU usage by the pod over a period of time. The red line indicates the
CPU limit
. The green line indicates the
CPU usage
, and the yellow line indicates the
CPU requests
.On hovering over any particular line on the chart, the tooltip displays the CPU limit, CPU usage, and CPU requests at that specific time.
CPU limit
will be shown only if it is set by the cluster user while creating the pod.

Memory Usage

This graph represents the pod's memory usage across a period of time. The red line indicates the
Memory limit
. The green line indicates the
Memory usage
, and the yellow line shows the
Memory requests
.On hovering over any particular line on the chart, the tooltip displays the Memory limit, usage, and requests at that specific time.
Memory limit
is shown only if it is set by the cluster user while creating the pod.

Network transmitted

This graph represents the Network transmitted by the pod across a period of time. The red line indicates the
Network transmitted
. The green line indicates the
Network received
.On hovering over any particular line on the chart, the tooltip displays the Network transmitted and Network received at that specific time.
The time duration for the above graphs is set to
5 minutes
by default. This can be changed by using the Drop-down menu present above the charts.

Deployments

This section presents a complete view of all the deployments and details so that they can be monitored.
The following details are presented in the deployments table :
  • Name:
    This column displays the names of deployments.
  • Namespace:
    This column displays the namespace in which deployment occurred.
  • Pods:
    This column displays the pods running (available replicas / total replicas)
  • Replicas:
    This column displays the number of replica pods for the named deployment.
  • Actionable insights:
    This column displays the number of actionable insights generated for the named deployment. Click the number of actionable insights to view details for the insights (Actionable Insights tab on the details page for that deployment).
    Click the
    Hide deployments without actionable insights
    switch to view-only deployments with no generated insights.
  • Age
    : This column shows the Age of deployment, viz. the duration since the deployment happened.
To view more details about deployment, the user can click on the
View details
option present at the end of the row. The details about the selected deployment are presented in a side panel, as shown below.
The following tabs enable viewing of details for specific elements of the deployment:
  • Deployment name as panel title, Label selectors, Strategy, Labels.
  • Conditions:
    This tab displays the
    Conditions
    table with the following columns: Type, Status, Reason, Message, Last updated time, and Last transition time.
  • Replica set:
    This tab displays the
    Replica set
    table with the following columns: Name, Pods, Age.
  • Raw JSON:
    The data here is JSON code for the selected deployment from the deployments API exposed by the container platform (Kubernetes, OpenShift etc.).
  • Actionable insights:
    This tab displays details of the actionable insights generated for the selected deployment.

Replica sets

This section presents a complete view of all the replica sets of the cluster and its details.
The following details are presented in the replica sets table:
  • Name:
    This column displays the names of replica sets.
  • Namespace:
    This column displays the namespace in which the replica set is created.
  • Pods
    : This column displays the pods running (available replicas / total replicas)
  • Age:
    This column shows the Age of Replica set, viz. the duration of the replica set.
To view more details about the replica set, the user can select the
View details
option present at the end of the row. The details about the selected replica set are presented in a side panel, as shown below.
The following different sections are presented in detail:
  • Replica set name as panel title, Label selectors, Strategy, and Labels.
  • Pods:
    This section displays the
    Pods
    table with the following columns: Name, Namespace, Status, Age, Node IP, and pod IP.
  • Services:
    This section displays the
    Services
    table with the following columns: Name, Namespace, Service location, Age, and Type.
  • Raw JSON:
    The data here is JSON data about the selected Replica set from the Replica sets API exposed by Kubernetes.

Stateful sets

This section presents a complete view of all the Stateful sets that are part of the cluster, and Stateful set details.
The following details are presented in a stateful sets table:
  • Name:
    This column displays the names of stateful sets.
  • Namespace:
    This column displays the namespace in which the stateful set is created.
  • Service name:
    This column displays the service name created for the stateful set responsible for the network identity of the Pods.
  • Volume claims:
    This column displays the volume claims for the stateful sets.
  • Pods
    : This column displays the pods running (current replicas / total replicas).
  • Replicas:
    This column shows the count of replicas created for the stateful set.
  • Age:
    This column shows the Age of the stateful set, viz. the duration since creation.
To view more details about the stateful set, the user can click on the
View details
option present at the end of the row. The details about the selected stateful set are presented in a side panel, as shown below.
The following different sections are presented in detail:
  • Stateful set name as panel title, Strategy, Containers, and Labels.
  • Raw JSON:
    The data here is JSON data about the selected Stateful set from API exposed by Kubernetes.

Daemon sets

This section presents a complete view of all the daemon sets of the cluster and its details.
The following details are presented in the daemon sets table:
  • Name:
    This column displays the names of daemon sets.
  • Namespace:
    This column displays the namespace in which the daemon set is created.
  • Node selector:
    This column displays the Node selector
  • Pods:
    This column displays the pods (number of pods scheduled / number of pods available)
  • Age:
    This column shows the Age of the Daemon set, viz., the duration of the daemon set.
To view more details about the daemon set, the user can click on the
View details
option present at the end of the row. The details about the selected daemon set are presented in a side panel, as shown below.
The following different sections are presented in detail:
  • Daemon set names as panel titles, Strategy, Containers, Tolerations, and Labels.
  • Raw JSON:
    The data here is JSON data about the selected Daemon set from the daemon sets API exposed by Kubernetes.

Jobs

This section presents a complete view of Jobs in the cluster and Jobs details.
The following details are presented in the jobs table:
  • Name:
    This column displays the names of jobs.
  • Namespace:
    This column displays the namespace in which the job is created.
  • Completions:
    This column displays the completions (parallelism/completions)
  • Duration:
    This column displays the total run time, viz. start and completion times.
  • Age
    : This column shows the Age of the job, viz. the duration since it started.
  • Conditions
    : This column shows the state of the job (Completed, Suspended).
To view more details about the job, the user can click on the
View details
option present at the end of the row. The details about the selected job are presented in a side panel as shown below.
The following different sections are presented in detail:
  • Job name as panel title, Labels, Label selectors.
  • Events:
    This section displays the
    Events
    table with the following columns: Type, Reason, Message, and Age.
  • Raw JSON:
    The data here is JSON data about the selected job from the jobs API exposed by Kubernetes.

Cronjobs

This section presents a complete view of the cluster's cronjobs and details.
The following details are presented in the cronjobs table:
  • Name:
    This column displays the names of cronjobs.
  • Namespace:
    This column displays the namespace in which the cronjob is created.
  • Schedule:
    This column displays the schedule on which the cronjob is run. Example :
    */1 * * * *
    where
    */X
    means: every
    X
    minutes
    *
    means:
    every minute
  • Suspend:
    This column displays the suspended status of the cronjob (True/False).
  • Last schedule
    : This column shows the last scheduled time until now.
  • Age:
    This column shows the Age of the cronjob viz. the duration since it started.
To view more details about the cronjob, the user can click on the
View details
option present at the end of the row. The details about the selected cronjob are presented in a side panel, as shown below.
The following different sections are presented in detail:
  • Cronjob name as panel title, Concurrency policy, Successful jobs history limit, Successful jobs history limit.
  • Events:
    This section displays the
    Events
    table with the following columns: Type, Reason, Message, Age.
  • Raw JSON:
    The data here is JSON data about the selected cronjob from the cronjobs API exposed by Kubernetes.
Do you have two minutes for a quick survey?
Take Survey