Product Functions
ZStack Zaku provides several functional modules: container orchestration, artifact repository, container O&M, cluster management and settings. This section describes the complete range of features provided by ZStack Zaku.
| Type | Characterization | Description |
| Dashboard | Resource Overview | Provides real-time monitoring and an operational overview of clusters, nodes, applications, workloads, jobs, and pods |
| Collects statistics on multi-tenant and repository information in real time | ||
| Unread alarm statistics for the past 7 days | Displays unread alarm messages for the last 7 days | |
| Cluster Resource Utilization Statistics | Monitors and displays the CPU and memory resource usage of all clusters in real time | |
| Displays the Top 3 cluster rankings for CPU and memory usage | ||
| Monitors and displays the CPU and memory resource usage of clusters in the last 24 hours in real time | ||
| Resource Utilization Statistics Within the Cluster | Displays the request and usage of GPUs and GPU memory | |
| Displays the Top 10 rankings of CPU, memory and PVC usage of pods | ||
| Container Orchestration | Application | Supports basic lifecycle management of applications, such as releasing and deleting |
| Supports updating an application with the current deployment package or a new deployment package, and viewing the version comparison | ||
| Supports managing historical versions of an application, including viewing, rolling back and deleting | ||
| Supports centralized management of the resources related to an application, including pods, PVCs, services and ingresses | ||
| Workload | Supports three workload types: Deployment, StatefulSet and DaemonSet | |
| Supports visual configuration of health checks, environment variables and lifecycle callbacks for workloads | ||
| Supports mounting PVC templates (StatefulSet type only), PVCs, hostpaths, configmaps and secrets for workloads | ||
| Supports GPU configuration for workload pods, including the number of GPUs, GPU memory, GPU core, and GPU scheduling policies | ||
| Supports selecting the GPUs to be used by GPU specification, or specifying the GPUs directly | ||
| Supports multiple containers sharing a single GPU with isolated GPU memory, and a single container using multiple GPUs | ||
| Supports setting the node scheduling policy, affinity, anti-affinity and toleration for workload pods | ||
| Supports setting the update policy for workloads | ||
| Supports setting the network configuration for workloads, to use the pod network or the pod external network | ||
| Supports basic lifecycle management of workloads, such as creating, updating, restarting and deleting | ||
| Supports managing historical versions of a workload, including viewing Yaml and rolling back | ||
| Supports modifying the workload configuration using Yaml or a form | ||
| Supports modifying the container image of a workload | ||
| Supports manually changing the number of replicas of a workload | ||
| Supports auto scaling for workloads. After the workload auto-scaling component is deployed, three types of scaling rules are supported: resource metrics, scheduled policies and Prometheus metrics, and custom auto scaling metrics are supported | ||
| Supports centralized management of the resources related to a workload, including pods and related services | ||
| Supports centralized viewing of workload events | ||
| Supports exporting the workload list to a CSV file, which facilitates statistical analysis | ||
| Job | Supports two job types: Job and CronJob | |
| Supports creating jobs using a form or a template | ||
| Supports visual configuration of health checks and environment variables for jobs | ||
| Supports mounting PVCs, configmaps and secrets for jobs | ||
| Supports GPU configuration for jobs, including the number of GPUs, GPU memory, GPU core, and GPU scheduling policies | ||
| Supports selecting the GPUs to be used by GPU specification, or specifying the GPUs directly | ||
| Supports multiple containers sharing a single GPU with isolated GPU memory, and a single container using multiple GPUs | ||
| Supports basic lifecycle management of jobs, such as creating, updating, deleting, enabling and disabling | ||
| Supports centralized management of the resources related to a job, including pods and PVCs | ||
| Pod | Supports viewing and deleting pods | |
| Supports centralized management of the containers in a pod, including viewing monitoring data, container information and container logs, and saving a container as an image | ||
| Supports accessing the pod terminal | ||
| Supports centralized viewing of pod events | ||
| Supports exporting the pod list to a CSV file, which facilitates statistical analysis | ||
| Service | Supports four service types: ClusterIP, NodePort, Load Balance and Headless | |
| Supports specifying a custom external network IP address for a LoadBalancer service | ||
| Supports basic lifecycle management of services, such as creating, updating and deleting | ||
| Supports modifying the service configuration using Yaml or a form | ||
| Supports centralized viewing of service events | ||
| Ingress | Supports basic lifecycle management of ingresses, such as creating, updating and deleting | |
| Supports centralized management of ingress rules, including adding, modifying and deleting rules | ||
| Supports viewing the ingress gateway address and the access address of a forwarding policy | ||
| Supports centralized viewing of ingress events | ||
| Network Policy | Supports creating network policies for workloads to control the communication behavior of workloads and protect applications from network attacks | |
| Supports basic lifecycle management of network policies, such as creating and deleting | ||
| Supports modifying the network policy configuration using Yaml or a form | ||
| PVC | Supports creating pvcs from distributed or local storage to persist workload data | |
| Supports basic lifecycle management of PVCs, such as creating, resizing and deleting | ||
| Supports centralized viewing of PVC events | ||
| ConfigMap | Supports basic lifecycle management of configmaps, such as creating, updating and deleting | |
| Secret | Supports three secret types: Opaque, TLS certificate and registry login secret | |
| Supports basic lifecycle management of secrets, such as creating, updating and deleting | ||
| Microservices Application | A microservices application is a collection of resource objects such as workloads, services and service mesh resources | |
| Supports basic lifecycle management of microservices applications, such as creating and deleting | ||
| Supports onboarding microservices applications to the platform for visual governance | ||
| Supports multiple canary release policies for microservices applications. Traffic can be routed to the new and old versions by traffic ratio or request content, which ensures smooth application upgrades | ||
| Provides traffic monitoring of the new and old versions during the canary release process | ||
| Service Topology | Provides a visual application topology that intuitively displays the calls, dependencies and traffic monitoring data between microservices applications | |
| Supports historical and real-time viewing of topology maps | ||
| Supports configuring traffic management rules such as load balancing, connection pool and circuit breaking for microservices applications | ||
| Trace Tracking | Provides the trace tracking feature, which supports querying the call chains between the services in the current namespace by service name or TraceID | |
| Monitors key metrics of the services in a call chain, such as the call status and the call duration, in an all-round way | ||
| Artifact Repository | Repository | Supports two repository types: public and private |
| Supports basic lifecycle management of repositories, such as creating, modifying and deleting | ||
| Supports centralized management of the images in a repository, including uploading, exporting and downloading images, and deleting image tags | ||
| Supports three image upload methods: online upload, file upload and command line upload | ||
| Supports centralized management of the Chart deployment packages in a repository, including uploading and downloading Charts, viewing and deleting Chart versions, and releasing applications based on Charts | ||
| Supports setting the project to which a repository belongs | ||
| Artifact Sync | Supports automatically synchronizing OCI artifacts such as container images and Helm Charts to a repository by connecting to an external registry | |
| Supports basic lifecycle management of synchronization tasks, such as creating, modifying, executing, enabling, disabling and deleting | ||
| Supports two synchronization trigger methods, manual and scheduled, and supports setting filter conditions for the resources to be synchronized and a maximum bandwidth limit | ||
| Supports viewing the execution records of a synchronization task, the synchronization status of each resource and the synchronization logs, and supports stopping a synchronization in progress | ||
| Supports basic lifecycle management of external registries, such as adding, modifying and deleting | ||
| YAML Template Repo | The YAML Template Repo is used to manage YAML templates | |
| Provides example templates of multiple resources for reference, and you can create templates directly based on the examples | ||
| Supports basic lifecycle management of templates, such as creating, modifying and deleting | ||
| Application Market | Provides official Chart deployment packages such as nfs, nginx and nginx-ingress-controller | |
| Supports releasing a Chart deployment package in the application market with one click and deploying it as an application instance | ||
| Container O&M | One-Click Inspection | Provides three inspection categories: basic services, compute, and network, covering key resources and services in the platform management cluster and business clusters |
| Has three built-in inspection levels, Normal, Warning and Fault, as well as a four-level health scoring mechanism (inspection resources, inspection items, clusters and platform), and displays the overall health scores of the clusters and the platform | ||
| Supports providing inspection suggestions for the inspection resources in the Warning and Fault states | ||
| Provides the inspection overview, inspection summary and inspection results, and supports viewing the details of abnormal inspection items and the relevant inspection suggestions | ||
| Supports performing a one-click inspection without login | ||
| Supports custom selection of clusters and inspection items by category for a one-click inspection | ||
| Supports setting up automatic inspection to perform scheduled inspections of the platform | ||
| Supports operations such as canceling a one-click inspection, re-inspecting and exporting a Word inspection report | ||
| Monitoring Panel | The monitoring panel organizes monitoring views by resource monitoring (cluster, node, namespace, pod, network and PVC) and platform monitoring (control plane) | |
| Supports viewing the overall resource usage and performance health status of a cluster | ||
| Supports viewing the resource usage details of a node and the resource distribution of the pods on the node | ||
| Supports viewing the resource usage and quota of pods and workloads by namespace | ||
| Supports viewing the network traffic and bandwidth by cluster, namespace and pod | ||
| Supports viewing the capacity usage and read/write I/O of PVCs | ||
| Supports viewing the health status and performance metrics of the API Server and the etcd cluster | ||
| Supports full-screen display of monitoring views and querying monitoring data by time range | ||
| Container Log | Provides a unified portal for you to centrally view all container logs in a cluster | |
| Supports querying logs by cluster, namespace, workload, pod, container, keyword and time range | ||
| Supports exporting logs | ||
| Supports viewing log contexts, searching contexts by keyword and exporting log contexts | ||
| Event | Supports the collection and persistent storage of Kubernetes events | |
| Supports querying events by namespace, time, resource name, event type, reason and resource type | ||
| Alarm Messages | Supports centralized viewing and management of all alarm messages on the platform | |
| Supports filtering alarm messages by resource name and time period | ||
| Supports marking alarm messages as confirmed/unconfirmed, and filtering by confirmation status | ||
| Alarm | Supports basic lifecycle management of alarms, such as creating, enabling, disabling and deleting | |
| Supports three emergency levels: Emergency, Critical and Alert | ||
| Supports enabling recurring alarm notifications as needed | ||
| Supports monitoring multiple resources with a single alarm, including GPUs as alarm resources | ||
| Supports enabling alarm recovery notifications as needed. After they are enabled, the system receives a recovery notification once any resource in the alarm returns from the alarm state to the normal state | ||
| Endpoint | An endpoint is the way for you to receive alarm messages. Five endpoint types are supported: system, Email, WeCom, DingTalk and Webhook | |
| Supports basic lifecycle management of endpoints, such as creating, modifying and deleting | ||
| Message Template | Alarms support using text templates when sending messages to endpoints | |
| Supports basic lifecycle management of message templates, such as creating, modifying and deleting | ||
| Supported text scenario types: alarm message text and recovery message text | ||
| Supports setting a template as the default. The endpoints for which no message template is configured use the default template of the project | ||
| Current Task | Supports centralized viewing and management of the operations in progress | |
| Supports viewing the details of a current task | ||
| Operation History | Supports centralized viewing of historical tasks | |
| Supports filtering historical tasks by time period, task result and operation source | ||
| Supports viewing the details of a historical task | ||
| Audit Log | Supports viewing three types of logs: Resource Operations, Identity & Authentication, and Kubernetes Audit | |
| Supports querying audit logs, viewing details, and exporting records | ||
| Cluster Management | Cluster | Supports basic lifecycle management of multiple clusters, such as creating, retrying the installation and deleting |
| Supports creating and managing Kubernetes 1.30 and 1.35 clusters | ||
| Supports upgrading a cluster from Kubernetes 1.30 to 1.35. Two upgrade methods are supported, upgrade with service interruption and upgrade without service interruption, and retrying the upgrade after a failure is supported | ||
| Supports Kubernetes HA clusters | ||
| Supports custom deployment of functional components in a cluster, including the microservices governance component, the workload auto-scaling component, ZStone-RBD-CSI, ZCE-iSCSI-CSI and ZCE-NFS-CSI | ||
| Supports integrating Kubernetes clusters of versions 1.24 to 1.30 | ||
| Supports unified construction and management of CPU and GPU heterogeneous clusters, and unified resource planning and scheduling | ||
| Supports node heterogeneity. The nodes in the same cluster can use different operating systems and architectures | ||
| Supports viewing the usage of cluster resources such as CPU, memory and storage in real time | ||
| Supports two cluster network modes, VXLAN and BGP. In BGP mode, pod IP addresses can be accessed directly from outside the cluster | ||
| Supports connecting to a cluster through the web Kubectl terminal to execute kubectl commands | ||
| Supports setting the retention period of the log data and the size of the log PVC in a cluster | ||
| Supports setting the retention period of the monitoring data and the size of the monitoring PVC in a cluster | ||
| Supports monitoring and alarming on the usage of the log PVC, and automatically enables write protection when the threshold is reached, to avoid service exceptions caused by a full PVC | ||
| Supports viewing and exporting pod information in a cluster | ||
| Node Auto-Scaling Group | Supports automatically triggering node auto scaling based on the Pod Pending status, the CPU/memory usage and so on | |
| Can be associated with node selector and node affinity/anti-affinity configurations, to ensure that the scaled-out nodes meet the pod scheduling requirements | ||
| Supports basic lifecycle management of node auto-scaling groups, such as creating, modifying the basic configuration, modifying the node configuration, fault recovery and deleting | ||
| Supports viewing and exporting the scaling logs of a node auto-scaling group | ||
| Node | Supports basic lifecycle management of nodes, such as adding and deleting | |
| Supports disabling or enabling scheduling on multiple nodes, with the option to evict pods when disabling scheduling | ||
| Supports modifying the node role, to set a control plane node as a compute node or cancel this setting | ||
| Supports connecting to a node over SSH through the web terminal | ||
| Supports viewing the CPU/memory utilization, request rate and limit rate of a node in real time, which facilitates timely understanding of the resource allocation of the node | ||
| Supports centralized viewing of the information about the GPUs on a node, including the basic GPU information, the GPU memory usage, the information of the scheduled pods and real-time monitoring data | ||
| Supports exporting the node list to a CSV file, which facilitates statistical analysis | ||
| Supports editing node labels | ||
| GPU Pool | Supports viewing all the GPUs under the current cluster by cluster and the total usage of all the GPUs under the cluster, including the GPU memory utilization, the GPU memory request rate and the GPU utilization | |
| Supports viewing GPU details, including status, manufacturer, model, device address, GPU memory, and resource usage | ||
| Supports visual monitoring of GPUs, including the GPU utilization, GPU memory utilization, power consumption and temperature | ||
| Supports centralized viewing of the information about the pods scheduled on a GPU | ||
| The supported GPU manufacturers include NVIDIA, Huawei, HYGON, Iluvatar and Alibaba | ||
| Supports viewing GPU health status and removing records of GPUs in the Dropout state | ||
| Supports configuring the default GPU scheduling policies for a cluster | ||
| Storageclass | Supports creating storage classes with Yaml, creating local storage classes with a form, and viewing and managing storage classes | |
| Local Storage | Supports creating, expanding, and deleting local storage pools in LVM and Device modes | |
| Supports viewing storage pool capacity, nodes and disks, and associated storage classes | ||
| External Network | Supports basic lifecycle management of external networks, such as creating and deleting | |
| Supports collecting statistics on the IP usage of an external network, which improves the efficiency of IP planning | ||
| Supports two network segment types: service external network and pod external network | ||
| The pod external network supports direct access to pod IP addresses from outside the Kubernetes cluster | ||
| Supports creating and deleting network segments | ||
| Supports managing the IP ranges of a network segment, including adding and deleting | ||
| Supports setting the sharing mode of a network segment, to allow the network segment resources to be used globally or by specified projects | ||
| Project | Supports basic lifecycle management of projects, such as creating, editing and deleting | |
| Supports adding members and namespaces to a project and managing them in a centralized way | ||
| Supports resource isolation and permission control through projects | ||
| User | Supports local users and third-party users | |
| Supports basic lifecycle management of local users, such as creating, enabling, disabling, deleting and resetting the password | ||
| Supports basic lifecycle management of third-party users, such as synchronizing and deleting | ||
| Supports setting a user as an administrator to grant platform permissions | ||
| Supports canceling the administrator role of a user | ||
| Supports adding a user to a project to grant project permissions | ||
| Supports removing a user from a project | ||
| Namespace | Supports basic lifecycle management of namespaces, such as creating and deleting | |
| Supports setting namespace resource quotas to effectively control the resource usage of users/teams | ||
| Supports setting the GPU memory quota and the GPU count quota of a namespace by manufacturer, to effectively control the GPU resource usage of users/teams | ||
| Supports setting the default resource limit of a namespace | ||
| Supports adding a namespace to a project or removing it from a project | ||
| Supports adding labels and annotations to a namespace | ||
| Settings | Email Server | Supports basic lifecycle management of email servers, such as adding, modifying and deleting |
| Supports three encryption types: STARTTLS, SSL/TLS and NONE | ||
| Theme Appearance | Supports customizing the theme appearance of the platform, such as the appearance theme, the platform title and the logo | |
| Third-Party Authentication | Supports seamless access to third-party login authentication systems by adding third-party authentication servers, so that the corresponding accounts can log in to the cloud platform without a password | |
| Supports adding the following third-party authentication server types: OIDC and CAS | ||
| Supports setting synchronization mapping rules for a third-party authentication server, including user mapping rules | ||
| Supports basic lifecycle management of third-party authentication servers, such as adding, modifying and deleting | ||
| Console Access Configuration | Supports changing the console access domain name, protocol, and port | |
| Supports updating and downloading the console HTTPS certificate | ||
| Global Settings | Supports configuring Kubernetes audit log collection and retention, the platform ingress bidirectional bandwidth limit, and artifact repository data volume capacity | |
| AccessKey Management | Provides identity credentials for accessing the platform API, with the full permissions of the creator | |
| Supports basic lifecycle management of AccessKeys, such as generating, enabling, disabling and deleting |
