Skip to main content

Device Management

Path: /devices

To deploy and operate services in KIWI, you first need to register your infrastructure devices. The [Device Management] page allows you to register and manage various infrastructure devices such as VMs and bare-metal servers.

Device Management Screen

Permission Notice

If you cannot access this page, please request permission from your organization administrator. Device management requires admin privileges as it directly affects the infrastructure.


Why Do You Need to Register Devices?

KIWI performs the following tasks based on registered devices:

  • Runtime Environment Setup: Connect runtimes like Docker and Kubernetes to registered devices.
  • Automated Deployment: Automatically deploy services to registered devices after builds.
  • Monitoring: Monitor device resource usage in real-time
  • Backup Management: Back up containers and data on devices.
Before You Start

Prepare the following information before registering a device:

  • Server IP address and SSH port (default is 22)
  • SSH-accessible user account credentials (password or SSH private key file)
  • Jump server information if the server is behind a firewall

Key Features

Device Registration

Register servers in KIWI by entering SSH connection information. Registered devices can be connected as Kubernetes cluster nodes or Docker hosts on the [Runtime Environments] page.

What is SSH?

SSH (Secure Shell) is a protocol for securely accessing remote servers over a network. It provides excellent security through encrypted communication and is the standard method for server management. The default port is 22, but other ports are often used for security purposes.

SSH Multi-Hop (Jump Server Relay)

In security-enhanced networks, you cannot directly access internal servers from outside. In such cases, you need to go through a Jump Server.

User PC → Jump Server (Public IP) → Internal Server (Private IP)

KIWI automatically handles such multi-hop connections. Simply specify the parent device, and KIWI will set up the relay connection for you.

When You Need a Jump Server
  • When accessing servers behind a firewall
  • When accessing servers in a private network (private IP)
  • When direct access is blocked due to security policies.

VPN Integration

Servers accessible only via VPN can also be managed in KIWI. Link a VPN profile to a device, and KIWI will automatically connect through the VPN tunnel.

Automatic System Information Collection

Collect hardware information from registered devices automatically via SSH. You can easily assess your infrastructure status without installing any additional agents.

  • OS: Operating system type and version. Example: Ubuntu 22.04 LTS.
  • CPU: Processor model and core count. Example: Intel Xeon 8 cores.
  • Memory: Total RAM capacity. Example: 32GB.
  • Disk: Storage capacity and usage. Example: 500GB (45% used).

UI Layout

Search and Filters

As your device count grows, finding specific devices becomes challenging. KIWI provides various search and filter features.

  • Search: Search by device name or IP address. Usage example: "web-server" or "192.168.1".
  • VPN Filter: Filter by VPN connection status. Usage example: View VPN devices only, Direct connection only.
  • Location Filter: Filter by device location. Usage example: "Seoul IDC", "Busan Center".

Device List

Information visible at a glance in the device list:

  • Name: Name for identifying the device (e.g., prod-web-01).
  • IP Address: Server IP and SSH port (e.g., 192.168.1.100:22).
  • Location: Physical/logical location of the device.
  • VPN Profile: Connected VPN (direct connection if none).
  • Runtime: Installed runtime environment (Docker, K8s, etc.).
  • System Info: OS, CPU, Memory, Disk information.

Hierarchical Display

Parent-child device relationships are visualized in a tree structure. You can see at a glance the relationship between jump servers and their connected internal servers.

📦 jump-server (210.1.1.100)
├── 📦 internal-web-01 (192.168.1.10)
├── 📦 internal-web-02 (192.168.1.11)
└── 📦 internal-db-01 (192.168.1.20)

How to Use

Registering a Device

Here's how to register a new server in KIWI.

Step 1: Open the Add Menu

Click the Add dropdown button at the top of the screen.

Device Add Dropdown

Step 2: Select Add Device

Select Add Device from the dropdown menu to open the input modal.

Device Add Modal

Step 3: Enter Basic Information

  • Parent Device (Optional): Jump server to route through. Leave empty if directly accessible.
  • Device Name (Required): Identifiable name. Recommend format: purpose-env-number (e.g., web-prod-01).
  • IP Address (Required): Server IP address. Enter private IP if using parent device.
  • Port (Required): SSH port number. Default is 22, enter actual port if changed.
  • Location (Optional): Device location info. Recommended for easier management.
  • VPN Profile (Optional): Select for VPN integration. Leave empty if accessible without VPN.
  • Description (Optional): Device description. Notes about purpose, owner, etc.

Step 4: Complete Registration

After entering all information, click the Add button to register the device.

Device Naming Tips

Using consistent naming conventions makes device management much easier:

  • web-prod-01: Web server, production environment, number 1
  • db-dev-master: DB server, development environment, master.
  • jump-seoul: Jump server, Seoul location.

Configuring SSH Multi-Hop

Set up internal network servers to be accessed through a jump server.

Step 1: Register the Jump Server (Parent Device) First

Register the jump server that is directly accessible from outside. Leave the Parent Device field empty for this device.

Step 2: Register the Internal Server (Child Device)

When registering the internal server, select the jump server from Step 1 in the Parent Device dropdown.

Step 3: Verify the Connection Path

Once registration is complete, the device list displays the hierarchy. KIWI automatically routes through the jump server for SSH connections.

Note

When using multi-hop, SSH credentials are required for each device in the chain. Prepare account information (password or SSH key) for both the jump server and internal servers. Each hop can use a different authentication method.

Editing a Device

Modify information for registered devices.

  1. Find the device you want to modify in the device list
  2. Click the Edit button (pencil icon) for that device.
  3. Modify the information and click the Save button.

Deleting a Device

Delete devices that are no longer in use.

  1. Find the device you want to delete in the device list
  2. Click the Delete button (trash icon) for that device.
  3. Click Delete in the confirmation dialog
Check Before Deleting
  • Deleted devices cannot be recovered
  • Child devices will be deleted together if the parent is deleted.
  • May affect connected runtime environments or service deployments.

Detailed Feature Guides

Collecting System Information

Collect hardware information from devices to assess your infrastructure status.

  1. Click the Collect icon for the device you want to gather information from
  2. An SSH credentials input modal appears.
  3. Select the authentication method and enter credentials:
    • Password authentication: Enter the username and password
    • SSH Key authentication: Enter the username and upload an SSH private key file (.pem, .key)
  4. Click the Collect button to automatically gather OS, CPU, Memory, and Disk information.
Regular Information Collection

Re-collect system information when server specs change or when you want to check disk usage. The information will be updated to the latest status.

Using as a Docker Host

How to use a registered device as a Docker runtime.

  1. Register the device on the [Device Management] page
  2. Navigate to the [Runtime Environments] page
  3. When adding a Docker runtime, select the registered device as the host

VPN Integration

Register devices that are only accessible through VPN.

  1. Open the device registration or edit screen
  2. Select the VPN to use from the VPN Profile dropdown
  3. Use the Test Connection button to verify connectivity through the VPN tunnel
  4. Click the Save button once the connection succeeds.

Glossary

  • VM (Virtual Machine): A virtual computer implemented in software on physical hardware. Multiple VMs can run on a single physical server.
  • Bare-metal Server: A server with the OS installed directly on physical hardware without virtualization. Suitable for performance-critical workloads.
  • SSH Port: Network port used for SSH connections. Default is 22, but it's often changed to other ports for security.
  • Jump Server: A relay server for accessing internal networks. Also called a Bastion Host.
  • VPN Tunnel: An encrypted virtual private network connection path. Safely access private networks through the public internet.

Frequently Asked Questions

Q: Connection fails after device registration.

Check the following:

  • Verify the IP address and port are correct
  • Ensure the port is open in the firewall
  • If a jump server is needed, verify the parent device is configured.

Q: System information collection fails.

If SSH connects but information collection fails:

  • Check if the account has permission to execute system commands.
  • Some commands may require sudo privileges.

Q: Can I delete only child devices without deleting the parent?

Yes, child devices can be deleted independently. However, be careful that deleting a parent device will also delete all its child devices.