# Application Deployment

Before creating a new workload, you need to create and register imagePullSecrets. Please refer to [this link.](https://cocktailcloud.gitbook.io/cocktail-cloud-online-en/configmap-secret#id-2.5-creating-imagepullsecrets)

## 1. Workload Group Creation

Create a workload group on the Workload tab of the Service Map.

1\) Click on \[Application] - \[Service Map] tab, select the service map where you want to create the workload, and navigate to the Workload.

2\) Click the expand menu (three dots) next to the workload group name.

3\) Choose the desired direction for adding a group from the additional items (e.g., Add Group to the Right).

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FqPaNkpr8lhDZpETWwykz%2Fimage.png?alt=media&#x26;token=fed8496a-765f-4233-b297-e3f63a45e641" alt=""><figcaption><p>[Screen] Add Workload Group</p></figcaption></figure>

4\) A text input form for the name of the workload group will appear. Enter the name of the workload group and press Enter.

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2F9xhIG8ERFXkon2TCHgya%2Fimage.png?alt=media&#x26;token=9b67bd77-c824-4ac8-a924-5d9413169195" alt=""><figcaption><p>[Screen] Input Workload Group Name</p></figcaption></figure>

{% hint style="info" %}

* The workload group name is a mandatory field.
  {% endhint %}

5\) Confirm that the workload group has been added.

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FEdY7FleVZOwlXidKSb3G%2F%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%202024-01-30%20145443.png?alt=media&#x26;token=e846b9ee-17f9-454a-928b-5c07231318c3" alt=""><figcaption><p>[Screen] Confirm Added Workload Group</p></figcaption></figure>

## 2. Workload Creation

> Create workloads such as Deployment, Stateful Set, Daemon Set, Job, Cron Job, etc. Although the types of workloads may differ, the process of entering container information is fundamentally the same.

1\) Click on \[Application] - \[Service Map] tab, select the service map where you want to create the workload, go to Workloads, and click the "+ Create" button.

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FpUhbpjvgtdxIOYoG21NR%2Fimage.png?alt=media&#x26;token=c5a70d61-ad7c-4895-bb8a-c10ed5950dbf" alt=""><figcaption><p>[Screen] Select Workload Type</p></figcaption></figure>

2\) Choose the type of workload you want to create.

### 2.1 Enter Basic Workload Information

1\) Enter basic information for the workload (type, name, group, description, labels, annotations), deployment and management policies (tolerations, deployment policies, autoscaling, update policies), container information (init containers, containers), and storage information (volumes, volume mounts). Click the "Save" button.

Not all information needs to be entered. You must set the name, group, description, and at least one container information. Other information can be entered as needed.

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FdDZEBaVHDvCr1lMmw3pk%2Fimage.png?alt=media&#x26;token=13af89a8-56bd-4bce-9bc4-2ca396858a5d" alt=""><figcaption><p>[Screen] Input Overview for Workload</p></figcaption></figure>

<table><thead><tr><th width="178">Item (* is required)</th><th>Content</th></tr></thead><tbody><tr><td>Type</td><td>It is displayed according to the type selected when creating the workload</td></tr><tr><td>Name*</td><td>Enter the name for the workload to be created</td></tr><tr><td>Group*</td><td>Choose one from the existing workload group names</td></tr><tr><td>Description*</td><td>Write a description for the workload</td></tr><tr><td>Label</td><td>Specify key/value pairs for identification using this information</td></tr><tr><td>Annotation</td><td>There are no specific features, but this is used as additional explanation</td></tr><tr><td>Node Affinity</td><td>Check the labels of nodes and configure deployment only on nodes with the specified label</td></tr><tr><td>Toleration</td><td>Set rules to allow pod placement on nodes with taints</td></tr><tr><td>Deployment policy</td><td>Configure overall policies for pod deployment regarding replicas, hosts, startup/shutdown times, permissions, etc</td></tr><tr><td>Auto Scaling</td><td>Set the system to automatically adjust (scale) based on resource considerations</td></tr><tr><td>RollingUpdate Strategy</td><td>Define policies needed for pod updates</td></tr><tr><td>Image Pull Secret</td><td>Automatically register Harbor login information to access and retrieve container images from Harbor</td></tr></tbody></table>

### 2.1.1 Register Image Pull Secret with Workload

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FcCRjitK4FAYjb30J7GBo%2Fimage.png?alt=media&#x26;token=a5594df6-663a-4ed4-943a-ba3060c1a0f5" alt=""><figcaption><p>[Screen] Registering image pull secret</p></figcaption></figure>

1\) Select the workload where you want to register the secret, then click on the icon next to "image pull secret"

2\) Choose the secret to register, click "+ Add", and then click "Save"

### 2.2 Enter Container Information

1\) Container Basic Information

Enter container name, image information, and resource requests and limits for CPU/Memory/GPU. Container name and image information are mandatory. If CPU/Memory resource requests and limits are not entered separately, the default values displayed in gray on the input screen will be set.

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FxH0vQJ8z0HpwA5eqg74S%2Fimage.png?alt=media&#x26;token=9770e866-e6c2-4056-8396-c5ce33a8b817" alt=""><figcaption></figcaption></figure>

<table><thead><tr><th width="154">Item (* is required)</th><th>Content</th></tr></thead><tbody><tr><td>Name*</td><td>Enter the container name to be created, using only lowercase letters, numbers, and the hyphen (-) for special characters</td></tr><tr><td>Image*</td><td>Provide image information for creating the pod</td></tr><tr><td>CPU *</td><td>Set the amount requested and the limit amount to configure the necessary CPU (amount requested) during pod startup and the maximum CPU that can be allocated (limit amount)<br>The default is 100</td></tr><tr><td>Memory*</td><td>Set the Amount Requested for memory and the Limit Amount for the maximum memory allocation during pod startup</td></tr><tr><td>GPU resources</td><td>If the pod uses GPU, specify the Limit Amount and Amount Requested for GPU</td></tr></tbody></table>

2\) Container Commands

{% hint style="info" %}

* Container commands are not mandatory but can be used if necessary.
  {% endhint %}

Enter the commands and arguments to be executed in the container.

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FDiq7LPRFojWw0KfxqY8O%2Fimage.png?alt=media&#x26;token=c1393544-2d48-48b1-8c15-41a8aa3bdfaa" alt=""><figcaption><p>[Screen] Enter Container Command Information</p></figcaption></figure>

{% hint style="info" %}

* Command and arguments can be optionally added with the \[+ Add] button.
* If unnecessary, use the \[ - ] button to the right of the text field to delete.
  {% endhint %}

<table><thead><tr><th width="182">Item </th><th>Content</th></tr></thead><tbody><tr><td>Command</td><td>Enter the command values to be executed when the pod starts</td></tr><tr><td>Arguments</td><td>Provide arguments for the command to be executed when the pod starts</td></tr></tbody></table>

3\) Container Environment Variables

{% hint style="info" %}

* Container environment variables are not mandatory but can be used if necessary.
  {% endhint %}

Set various configuration information to be used in the container. Configuration information includes environment variables, config maps, secrets, and field references for workload metadata. Config maps and secrets to be used in the container must be pre-created on a separate configuration information screen.

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FyVkPa1ar42FzmLlW6YjK%2Fimage.png?alt=media&#x26;token=c15dd16c-b8ec-47ab-bf61-ab30210723c8" alt=""><figcaption><p>[Screen] Enter Environment Variable Information</p></figcaption></figure>

<table><thead><tr><th width="214">Item (* is required)</th><th>Content</th></tr></thead><tbody><tr><td>Direct input (KEY)*</td><td>Enter the "key" directly for the environment variable to be registered when setting up pod environment variables</td></tr><tr><td>Direct input (VALUE)*</td><td>Input the "value" directly for the environment variable to be registered when setting up pod environment variables</td></tr><tr><td>Config map Value (KEY)*</td><td>Enter the name of the ConfigMap value to be registered in the environment variables</td></tr><tr><td>Config map Value(VALUE)*</td><td>Select the name of the previously configured ConfigMap</td></tr><tr><td>Secret Value (KEY)*</td><td>Enter the name of the Secret value to be registered in the environment variables</td></tr><tr><td>Secret Value(VALUE)*</td><td>Select the name of the previously configured Secret</td></tr><tr><td>Field Ref(KEY)</td><td>Enter the key that references the field value of the pod</td></tr><tr><td>Field Ref(VALUE)*</td><td>Input the value that references the field value of the pod</td></tr><tr><td>Resource Field Ref(KEY)</td><td>Enter the key that references the resource field value of the pod</td></tr><tr><td>Resource Field Ref(VALUE)*</td><td>Input the value that references the resource field value of the pod</td></tr></tbody></table>

4\) Security Settings

{% hint style="info" %}

* Security settings are not mandatory but can be used if necessary.
  {% endhint %}

Set user and permissions for the container or Linux capabilities.

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FaTkhbYX3GyANS5WSr6jG%2Fimage.png?alt=media&#x26;token=ace083a6-ae47-406c-81d3-2234adda8c20" alt=""><figcaption><p>[Screen] Enter Security Contexts Information</p></figcaption></figure>

<table><thead><tr><th width="230">Item (* is required)</th><th>Content</th></tr></thead><tbody><tr><td>Run as Non ROOT</td><td>If the container is not going to run as the root user but as a regular user, it is necessary</td></tr><tr><td>Run as User</td><td>Input the user to be used when the container is running</td></tr><tr><td>Run as Group</td><td>Input the group to which the container will belong</td></tr><tr><td>Run Privilleged Mode</td><td>It is necessary if the container needs to interact directly with the host system's kernel</td></tr><tr><td>Allow Privillege Escalation</td><td>Decide whether to allow privilege escalation</td></tr><tr><td>Read Only Root filesystem</td><td>Set whether the container's root file system should be read-only</td></tr><tr><td>seLinuxOptions(level)</td><td>Set the level used in SELinux security policy</td></tr><tr><td>seLinuxOptions(role)</td><td>Set the role used in SELinux security policy</td></tr><tr><td>seLinuxOptions(type)</td><td>Set the type used in SELinux security policy</td></tr><tr><td>seLinuxOptions(user)</td><td>Set the user used in SELinux security policy</td></tr><tr><td>Linux Capabilities(add)</td><td>Add additional Linux kernel features</td></tr><tr><td>Linux Capabilities(drop)</td><td>Remove specific Linux kernel features</td></tr></tbody></table>

5\) Health Check

{% hint style="info" %}
Health check settings are not mandatory but can be used if necessary.
{% endhint %}

Set Liveness Probe and Readiness Probe for the container.

{% hint style="info" %}

* You can choose the probe type on the Liveness Probe tab and Readiness Probe tab.
  * EXEC: Execute a specified command inside the container and check the exit code.
  * TCP SOCKET: Attempt to establish a TCP socket connection to a specific host and port and check success.
  * HTTP GET: Send a GET request to the specified HTTP endpoint and check success.
    {% endhint %}

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FXOsZD8AW9XAVOLFISs3b%2Fimage.png?alt=media&#x26;token=a8215ae3-3da8-4c30-b597-603cdea4a530" alt=""><figcaption><p>[Screen] Enter Health Check</p></figcaption></figure>

6\) LifeCycle Hook

{% hint style="info" %}
LifeCycle Hook settings are not mandatory but can be used if necessary.
{% endhint %}

Enter PostStart and PreStop lifecycle hooks.

{% hint style="info" %}

* You can choose the hook type on the PostStart tab and PreStop tab.
  * EXEC: Register a command to be executed internally in the container before it starts (PostStart) or before it terminates (PreStop).
  * HTTP GET: Register an HTTP GET request to a specified HTTP endpoint after the container has started to ensure it is ready to serve or check before termination.
    {% endhint %}

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FFjDxZ2mSGjtuE95EiWOj%2Fimage.png?alt=media&#x26;token=6a1b406a-89c2-4015-8d04-571351e520ef" alt=""><figcaption><p>[Screen] Enter LifeCycle Hook</p></figcaption></figure>

7\) Container Ports

Enter container port information.

{% hint style="info" %}

* The Container Port field is a mandatory input.
* The Protocol field allows you to choose TCP, UDP, or SCTP.
  {% endhint %}

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FePNBLRjXmMJ2QXw9PRpd%2Fimage.png?alt=media&#x26;token=c00c8fd7-a3ca-4efe-a39f-71e286fad08c" alt=""><figcaption><p>[Screen] Enter Container Port Information</p></figcaption></figure>

<table><thead><tr><th width="189">Item (* is required)</th><th>Content</th></tr></thead><tbody><tr><td>Container Port*</td><td>Enter the port number for the container port to be created</td></tr><tr><td>Protocol (Choose one)</td><td>Specify a specific communication protocol used for network communication</td></tr><tr><td>name</td><td>Enter the name of the container port to be created</td></tr><tr><td>Host IP</td><td>Input the IP address of the host machine</td></tr><tr><td>Host Port</td><td>Specify the port number on the host machine that connects to the corresponding container port</td></tr></tbody></table>

### 2.3 Enter Init Container Information

1\) The input items for init container information are the same as for regular containers. (Only the execution order is different.)

2\) An init container is a one-time-use container that runs before the main application container starts within a pod. Init containers are used to perform specific tasks before the application container starts and to pass the results to the application container through a shared volume.

### 2.4 Enter Deployment, Autoscaling, and Update Policies

{% hint style="info" %}
The deployment, autoscaling, and update policy input sections are located below the basic workload creation information input section. The order of input does not matter, and you only need to set the information as needed.
{% endhint %}

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FMCfdG51cia28lisM1sXE%2Fimage.png?alt=media&#x26;token=7f575374-c4ae-4848-b6d0-dd3c27252bcc" alt=""><figcaption><p>[Screen] Enter Deployment, Autoscaling, Update, Policy</p></figcaption></figure>

1\) Toleration Settings

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FRsN9tLURhgjOsopalYCD%2Fimage.png?alt=media&#x26;token=3485db65-a195-4afd-98c5-8a54bf19ecf5" alt=""><figcaption><p>[Screen] Enter Toleration Information</p></figcaption></figure>

<table><thead><tr><th width="175">Item (* is required)</th><th>Content</th></tr></thead><tbody><tr><td>Effect (Choose one)</td><td>You can set rules for placing Pods on nodes, with three options: NoSchedule, PreferNoSchedule, and NoExecute</td></tr><tr><td>Key*</td><td>Write the Key value for Toleration</td></tr><tr><td>Operator (Choose one)</td><td>Choose between Exists and Equal. Equal checks if both the key and value effect match, while Exists ignores any taint</td></tr><tr><td>Value*</td><td>Write the Value for Toleration. If you choose the Equal option for Operator, it becomes active</td></tr><tr><td>Toleration Seconds</td><td>When a Pod is scheduled on a specific node, this represents the maximum time the Pod is temporarily allowed on that node, even if the node has a specific Taint. This is activated when you choose the NoExecute option for Effect</td></tr></tbody></table>

2\) Deployment Policy Settings

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FjGfRbfnJiGtQGnffjqh7%2Fimage.png?alt=media&#x26;token=09128bb1-e70a-474b-ba8b-d1c813e358e4" alt="" width="375"><figcaption><p>[Screen] Enter Deployment Policy</p></figcaption></figure>

{% hint style="info" %}

* The Replicas field is a mandatory input. Enter the number of instances to replicate as a positive integer.
  {% endhint %}

<table><thead><tr><th width="234">Item (* is required)</th><th>Content</th></tr></thead><tbody><tr><td>Number of copies</td><td>Write the number of instances to replicate</td></tr><tr><td>Host Name</td><td>Write the hostname</td></tr><tr><td>Grace period (seconds) on exit</td><td>Used to set the time to wait before a container or pod is terminated</td></tr><tr><td>Waiting time after preparation(seconds)</td><td>Time to wait after the task is completed before executing additional actions</td></tr><tr><td>Node Label KEY</td><td>The Key value of the label that the node has when deploying instances to a specified node</td></tr><tr><td>Node label value</td><td>The value of the label that the node has when deploying instances to a specified node</td></tr><tr><td>Access authority <br>(RBAC services Account)</td><td>Service account used to manage access permissions for resources</td></tr></tbody></table>

3\) Autoscaling Settings

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FWWbkcBDrZ1RPywksmBIg%2Fimage.png?alt=media&#x26;token=4dea1061-a0b6-4d12-8af8-7e6acebb0675" alt="" width="375"><figcaption><p>[Screen] Enter Autoscaling Policy</p></figcaption></figure>

{% hint style="info" %}

* If using CPU and Memory types, the HPA name field is activated and is a mandatory input.
  {% endhint %}

<table><thead><tr><th width="208">Item (* is required)</th><th>Content</th></tr></thead><tbody><tr><td>CPU Type</td><td>If you check the box on the right, choose between Utilization and AverageValu<br>- Utilization : The percentage of CPU used to process tasks<br>- AverageValue : Average CPU usage</td></tr><tr><td>CPU Utilization(%)</td><td>If you select CPU type as Utilization, it becomes active</td></tr><tr><td>CPU Average Usage Value(mCore)</td><td>If you select CPU type as AverageValue, it becomes active <br>(minimum value must be greater than or equal to 1)</td></tr><tr><td>Memory Type</td><td>If you check the box on the right, choose between Utilization and AverageValue.<br>- Utilization : The percentage of memory used to process tasks<br>- AverageValue : Average memory usage</td></tr><tr><td>Memory Utilization(%)</td><td>If you select Memory type as Utilization, it becomes active</td></tr><tr><td>memory average usage value(MB)</td><td>If you select Memory type as AverageValue, it becomes active <br>(minimum value must be greater than or equal to 1)</td></tr><tr><td>HPA name</td><td>Set the HPA configuration name</td></tr><tr><td>Max Replicas, Min Replicas</td><td>Write the maximum and minimum number of instances to be maintained</td></tr><tr><td>Scale Use</td><td>Either CPU type or Memory type must be used for activation<br>- Scale Down : Choose between Disabled, Max, and Min<br>- Scale Up: Choose between Disabled, Max, and Min</td></tr></tbody></table>

4\) Update Policies

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FX6xFjxM5mqII6ULfEr6f%2Fimage.png?alt=media&#x26;token=fe83bdc7-01c0-4554-8762-9ea3c3e1ec6b" alt="" width="375"><figcaption><p>[Screen] Enter RollingUpdate Strategy</p></figcaption></figure>

<table><thead><tr><th width="216">Item (* is required)</th><th>Content</th></tr></thead><tbody><tr><td>RollingUpdate Strategy</td><td>Choose one between Rolling Update and Recreate</td></tr><tr><td>Percentage of Interruption to Replication</td><td><p>It becomes active when Rolling Update is selected</p><p>Choose one between Percentage and InstanceCount</p></td></tr><tr><td>Expansion ratio vs. number of copies</td><td>It becomes active when Rolling Update is selected<br>Choose one between Percentage and InstanceCount</td></tr></tbody></table>

## 3. Modify Workload

### 3.1 Detailed Inquiry of Workload Settings

To update the settings for a configured workload, access the configuration screen for that workload. Here, we'll use the example of modifying the container image. The process remains the same for other configuration changes; save the modified settings and restart the workload.

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FmbL97SmbbaT7pDzf5BBf%2F%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%202024-01-30%20150722.png?alt=media&#x26;token=d2ef83d1-2f03-45d7-b0e3-e296760c4f89" alt=""><figcaption><p>[Screen] Detailed View of Workload Configuration</p></figcaption></figure>

### 3.2 Change Workload Settings (in the case of modifying the container image)

1\) Click on the "Settings" tab after selecting the workload to be changed.

2\) Single-click on the container name, modify the image name, and apply the changes.

3\) After completing the modifications, click "Save and Start."

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FWuO40i7fm3k0wL9eJwr1%2Fimage.png?alt=media&#x26;token=3c54c779-6cdf-4c39-a214-8efcdb9834bb" alt=""><figcaption><p>[Screen] Image Configuration Change</p></figcaption></figure>

### 3.3 Check the Application of the Modified Settings

Monitor the situation where the container restarts with the updated image settings on the detailed workload monitoring screen.

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FcFRFupw8i6beDvSmIIPF%2F%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%202024-01-30%20150818.png?alt=media&#x26;token=8b3c9d19-bf89-49fb-a597-13f4a30ba0c6" alt=""><figcaption><p>[Screen] View Container Restart Situations</p></figcaption></figure>

## 4. Stop/Restart/Delete Workload

To stop, restart, or delete a specific workload, access the detailed deployment information screen for that workload.

### 4.1 Stop/Restart Workload

Click the "Actions" button at the top right of the detailed deployment information screen for the running workload. A selection box will appear, allowing you to choose to stop or restart the workload. Select either "Stop" or "Restart" based on your needs.

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FDnKOoLeRfPLlDAsBXOb7%2Fimage.png?alt=media&#x26;token=82a897b8-363c-4f52-b1a3-ebf881d6e16c" alt=""><figcaption><p>[Screen] Perform Stop/Restart for Workload</p></figcaption></figure>

### 4.2 Delete Workload

Before deleting a running workload, you must first stop the workload. Click the "Actions" button at the top right of the detailed deployment information screen for the stopped workload. A selection box will appear, allowing you to start or delete the workload. Choose "Delete," and the workload will be deleted.

1\) Click "Actions," choose "Stop" to halt the running workload.

2\) After stopping the workload, click "Actions" for the stopped workload, choose "Delete" to remove the workload.

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FP9X2PIO014UtIqAiIMDA%2Fimage.png?alt=media&#x26;token=f7a43000-5ffe-4746-bdb6-3aa6d9e21ab6" alt=""><figcaption><p>[Screen] Perform Workload Deletion</p></figcaption></figure>

## 5. Workload Group Management

### 5.1 Change Workload Group Display

When accessing the workload query menu in the service map, workloads are sorted and displayed based on workload groups. The display method of workload group names or arrangements can be changed as follows.

* Change Group Name
* Change Column Count
* Move Left
* Move Right
* Add Group on the Left
* Add Group on the Right

To perform these actions, click on the "expand menu (three dots)" displayed to the right of the workload group name.

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2FKUKXpUKSBjFkxmv2u8fz%2F%EC%8A%A4%ED%81%AC%EB%A6%B0%EC%83%B7%202024-01-30%20151116.png?alt=media&#x26;token=a0ced1c8-a0c4-45be-9f6d-b5ccf3861d7f" alt=""><figcaption><p>[Screen] Change Display of Workload Group</p></figcaption></figure>

### 5.2 Delete Workload Group

To delete a workload group, there should be no workloads within that group. If there were existing workloads in the group, they must be deleted first.

To delete a workload group, click the "expand menu (three dots)" displayed to the right of the workload group name. You will see "Delete Group" is activated and displayed in the popup. Select this option.

<figure><img src="https://4196990571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FL5As9l8R3RbLkQd6XsfL%2Fuploads%2Ft96pQke8Ir3QMgVzGOvP%2Fimage.png?alt=media&#x26;token=ec1748ac-12b2-4f3d-a591-b51a9f6522b2" alt="" width="563"><figcaption></figcaption></figure>
