Controlling Kubernetes Workloads
Monitoring a Kubernetes Workload
All available services / Kubernetes workloads are displayed in the list on the administration start page:
The list of services will help you to check the details for a workload at first sight:
For each workload, the list shows the following information:
Column Name | Description | Possible Values |
---|---|---|
Name | Name of the service. Click on the name to access the service details page. | indicates a Kubernetes workload. |
Type | Indicates the type of the service. What is the difference between pas-app and pas-service?
|
Other service types may be displayed. |
Status | Indicates the status of the service. | |
Created/Updated | Shows the date and time of the last update of the service. If the service has not been updated yet, its creation date is displayed. | Datetime in format dd.mm.yyyy, hh:mm:ss |
Version | Version tag of the default container defined in the workload. |
Starting and Stopping a Workload
Use the quick actions to start, restart and stop a workload. You can find the actions in the quick actions bar in the services' list…
... and in the header on every workload details page:
Icon | Description |
---|---|
Start a workload, that is currently stopped. | |
Stop a running workload and restart it. | |
Stop a running workload. |
Only applicable actions are enabled.
Using the Workload Details
You can open a details page for each workload. To do so, click on the service name in the list:
Click on a name in the service list to open its details page. The details page shows you the title of the service and some quick action icons:
Icon | Description |
---|---|
Shows the current state of the service. | |
Starts the service. | |
Stops the serivice. | |
Restarts the service. |
It also contains different collapsable sections:
Refer to Controlling Containerized xUML Services (Kubernetes) for an overview on the available details of a containerized xUML service.
Information
The Information section contains the main information about the Kubernetes workload:
Name
Source is Kubernetes for workloads
Type
Created/Updated
Version
For services of type pas-nestjs, the information section also contains a link to the Swagger UI:
Kubernetes
On top of the Kubernetes section, you find the information about
API Version: Defines the versioned schema of this representation of a Kubernetes workload.
Labels: Map of string keys and values that can be used to organize and categorize (scope and select) workloads.
Annotations: Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata.
Click Show all to display all available labels or annotations:
Below this information, you can find the two tabs Pod and Networking:
Pod
Tab Pod contains the sections General and Container. The information displayed in the two sections is read-only.
Pod - General
Section General contains common information about the Pod:
Name | Version name of the Pod. |
---|---|
Type | Shows the internal type of the replication controller. |
Scaling | If available, you can adapt the number of Pod replicas (see below). |
Replicas | Shows the number of Pod replicas. The color indicates the status:
|
Additional Labels | Shows additional Pod labels if set. |
To scale the number of replicas, move the position of the slider to the desired number of replicas you want to set. Click Apply:
A pop-up window opens displaying the number of replicas before and after the change. Click Scale to confirm your choice or Cancel to abort:
The new number of replicas is displayed after a refresh of the browser tab:
Pod - Container
Section Container consists of several tabs, one tab for each container:
The content of the tabs is the same for all containers and displays the container details:
Name | Name of the container. |
---|---|
Image | Image of the container. |
Ports and Volumes | See below. |
Memory and CPU | Shows the number of Pod replicas. The color indicates the status:
|
Additional Labels | Shows the container limitations. If a container exceeds its memory request and the node that it runs on becomes short of memory overall, it is likely that the Pod the container belongs to will be evicted. Limitations cannot be changed by users. They are set during system deployment. |
Limits | Requests | |
---|---|---|
Memory | If the memory limit is exceeded, the container will run in state OutOfMemory and then be killed. | If a container exceeds its memory request and the node that it runs on becomes short of memory overall, it is likely that the Pod the container belongs to will be evicted. |
CPU | If the CPU limit is exceeded, the container will be throttled, the process will slow down. | If the CPU memory request exceeds the nodes (server) capacity, the P od can be stopped and stared on a different node. |
Expert Advice
Visit the official Kubernetes documentation for more information:
Resource Management for Pods and Containers for detailed information abour requests and limits.
Scheduling, Preemption and Eviction about the rules regarding the termination of pods.
If you click the link Ports and Volumes, the container details open in a separate pop-up:
Ports: Displays a list of all ports exposed in the internal network.
Volumes: Lists all mounted volumes.
Use the filter on top of each list to search for single ports or volumes.
Networking
Tab Networking gives you an overview on the details of the service mesh. Use the filter to search for a port name:
Logs
In section Logs you can change the log level. Refer to Changing the Log Level of a Workload for detailed information. The link in section Logs gives you direct access to the Log Analyzer, where you can inspect the logs. Refer to Showing Workload Logs and Analyzing Platform Logs for further information.
For some service types, the log level cannot be changed but the displayed link still allows you to inspect the logs:
The Logs section also informs you if there are no logs available for a service type:
Configuration
In the Kubernetes setup, it is currently not possible to modify configuration files in the Configuration section except for containerized xUML services and services of type pas-nestjs (see below):
For services of type pas-nestjs (= internal services of the PAS platform) developers can define a service-specific schema and documentation. If a schema is available, the display in section Configuration will change and show the defined configuration options. Refer to Adapting Workload Configuration for detailed information:
If no schema is available, a JSON editor is displayed in section Configuration:
Related Pages: