Skip to content

Commit cdf56e0

Browse files
Cluster Management (#128)
Signed-off-by: Sourav Roy <souravroy@appscode.com>
1 parent 791e93e commit cdf56e0

81 files changed

Lines changed: 219 additions & 106 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/platform/guides/cluster-management/add-cluster/create-vendor-managed.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,7 @@ section_menu_id: guides
1212

1313

1414
# Create Vendor Managed Clusters
15+
16+
![Create vendor-managed cluster form showing cluster name, region, machine type, and cluster profile selection](../images/add_cluster/create-cluster-form.png)
17+
18+
![Creating cluster progress modal showing live status log](../images/add_cluster/create-cluster-progress.png)

docs/platform/guides/cluster-management/add-cluster/import-vendor-managed.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,28 @@ section_menu_id: guides
2121

2222
### Select Credential
2323

24-
3. Choose a credential with permission to access and import the cluster, then click `Next`. To create one, use the `+Create Credential` button (see [Credentials](../../account-management/kubernetes/credentials.html)).
24+
3. Choose a credential with permission to access and import the cluster, then click `Next`. To create one, use the `+Create Credential` button (see [Credentials](../../account-management/kubernetes/credentials.md)).
25+
26+
![AWS credential form showing Access Key and Secret Key fields](../images/add_cluster/credential-aws.png)
27+
28+
![DigitalOcean credential form showing Token field](../images/add_cluster/credential-digitalocean.png)
29+
30+
![Azure credential form](../images/add_cluster/credential-azure.png)
31+
32+
![GCP credential form showing Service Account JSON field](../images/add_cluster/credential-gcp.png)
33+
34+
![Hetzner credential form showing SSH Key Name and Token fields](../images/add_cluster/credential-hetzner.png)
35+
36+
![KubeVirt credential form showing Kubeconfig YAML field](../images/add_cluster/credential-kubevirt.png)
2537

2638
### Select Cluster
2739

2840
4. Selection depends on the provider:
2941
- `Linode` / `Digital Ocean`: select the cluster directly.
3042
- `AKS` / `EKS` / `GKE`: choose the `Resource Group`, `Region`, or `Project`, then select the cluster.
3143

44+
![EKS Select Cluster screen showing Region dropdown and cluster list table](../images/add_cluster/select-cluster-eks.png)
45+
3246
### Customize Features and Import
3347

3448
5. Click `Import` to bring the cluster into the Platform Console, then explore it in the dashboard.

docs/platform/guides/cluster-management/add-cluster/self-managed/import-public.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,14 @@ section_menu_id: guides
1919

2020
2. In the `Self Managed` section, choose the public cluster option.
2121

22+
![Add Cluster provider selection screen showing Vendor Managed and Self Managed sections with Public option](../../images/add_cluster/add-cluster-select-provider.png)
23+
2224
### Provide Kubeconfig
2325

2426
3. Provide the kubeconfig for your cluster.
2527

28+
![Provide Kubeconfig screen showing YAML editor for public self-managed cluster](../../images/add_cluster/public-cluster-kubeconfig.png)
29+
2630
### Customize Features
2731

2832
4. Proceed to the feature customization step.

docs/platform/guides/cluster-management/cluster-helm-charts.md

Lines changed: 47 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,27 +10,60 @@ menu_name: docsplatform_{{.version}}
1010
section_menu_id: guides
1111
---
1212

13+
# Helm Chart Management
1314

14-
# Manage Helm Charts in Platform Console
15+
The **Helm** group in the Cluster UI sidebar gives you full visibility into your cluster's Helm ecosystem. It has three pages — Releases, HelmRelease, and HelmChart — covering deployed releases, FluxCD-managed releases, and chart sources respectively.
1516

16-
Platform Console's Helm Chart Management lets you manage Helm releases within your Kubernetes clusters — installing new charts, modifying existing releases, and rolling back versions from the UI.
17+
## Open the Helm Section
1718

18-
## Accessing Helm Chart Management
19+
1. Navigate to the [Platform Console](https://console.appscode.com).
20+
2. Click on your imported cluster to open its Cluster Overview page.
21+
3. In the left sidebar, click **Helm** to expand it.
1922

20-
To navigate to the Helm Chart Management page:
23+
---
24+
25+
## Releases
26+
27+
The Releases page lists all Helm v3 releases currently deployed in your cluster — everything installed via `helm install`, regardless of how it got there. This is the primary page to check what is running, what version is deployed, and whether the release is in a healthy state.
28+
29+
Use this page to get a quick overview of all deployed charts, check release status, or install a new chart using the **+ Install Chart** button.
30+
31+
Lists every release with its **Name**, **Namespace**, **Status** (e.g. deployed, failed), **Version**, and **Age**. Use the **Select All** and **All Namespaces** dropdowns to filter the list.
32+
33+
![Helm Releases page showing all deployed Helm releases with name, namespace, status, version, and age columns](images/cluster-helm-charts/helm-releases-deployed.png)
34+
35+
---
36+
37+
## HelmRelease
2138

22-
1. From the [Platform Console](https://console.appscode.com), click on your imported cluster to go to the Cluster Overview page.
23-
2. In the left sidebar, under **Helm**, select **Releases** to access the Helm Chart Management page.
39+
A HelmRelease is a FluxCD resource that declaratively manages a Helm chart installation. The Platform Console tracks every HelmRelease and shows its reconciliation state, so you can see whether a GitOps-driven installation or upgrade succeeded or is still in progress.
2440

25-
## Helm Chart Management Features
41+
Use this page to check FluxCD-managed release health, spot failed reconciliations, or create a new HelmRelease from the UI.
2642

27-
### Install New Charts
43+
Lists every HelmRelease with its **Namespace**, **Age**, **Ready** status, and a **Status** message showing the last Helm operation result. Click **+ Create HelmRelease** to define a new one.
2844

29-
1. **Choose Chart Source:** Select a chart source from publicly available URLs or provide a custom URL.
30-
2. **Select Chart and Version:** Browse and choose the desired chart and version.
31-
3. **Customize Installation:** Provide a custom release name, namespace, and specify a custom values file during installation.
45+
![HelmRelease list page showing FluxCD-managed releases with namespace, age, ready, and status columns](images/cluster-helm-charts/helm-releases-list.png)
46+
47+
---
48+
49+
## HelmChart
50+
51+
A HelmChart is a FluxCD resource that sources a specific chart and version from a HelmRepository. Each HelmRelease references a HelmChart behind the scenes. This page tells you which charts are being pulled, from where, and whether the source is reachable and up to date.
52+
53+
Use this page to verify chart versions in use, check that chart sources are resolving correctly, or create a new HelmChart resource.
54+
55+
Lists every HelmChart with its **Namespace**, **Annotations**, **Age**, **Chart** name, **Version**, **Source Kind**, **Source Name**, **Ready** state, and **Status**. Click **+ Create HelmChart** to add a new chart source.
56+
57+
![HelmChart list page showing chart name, version, source kind, source name, ready, and status columns](images/cluster-helm-charts/helm-charts-list.png)
58+
59+
---
3260

33-
### Interact with Existing Releases
61+
## Quick Reference
3462

35-
- **Modify Releases:** Adjust existing Helm releases based on evolving requirements.
36-
- **Rollback to Previous Versions:** Revert to previous versions of Helm releases if needed.
63+
| Task | How to do it |
64+
|---|---|
65+
| View all deployed releases | Click **Releases** under the Helm group |
66+
| Install a new chart | Click **+ Install Chart** on the Releases page |
67+
| Check FluxCD-managed release health | Click **HelmRelease** under the Helm group |
68+
| View chart sources | Click **HelmChart** under the Helm group |
69+
| Create a new FluxCD release | Click **+ Create HelmRelease** on the HelmRelease page |

docs/platform/guides/cluster-management/cluster-workload.md

Lines changed: 78 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -10,90 +10,105 @@ menu_name: docsplatform_{{.version}}
1010
section_menu_id: guides
1111
---
1212

13-
1413
# Kubernetes Workload Management
1514

16-
The Kubernetes Workload Management section in the Platform Console manages Kubernetes resources.
15+
The **Workloads** group in the Cluster UI sidebar is where you browse and manage everything that runs application containers — Deployments, Pods, Jobs, and the other standard Kubernetes workload types.
16+
17+
## Open the Workloads Section
1718

1819
1. Navigate to the [Platform Console](https://console.appscode.com).
19-
2. Click on your imported cluster to access the Cluster Overview page.
20+
2. Click on your imported cluster to open its Cluster Overview page.
21+
3. In the left sidebar, click **Workloads** to expand it.
22+
23+
Every list page in this group follows the same layout: a 🔍 search box, an **All Namespaces** filter dropdown, and a green **+ Create** button top-right.
24+
25+
---
26+
27+
## Deployments
28+
29+
A Deployment keeps a set number of identical app copies running and handles rolling updates — it's the standard way to run and update a stateless app. Use this page when you need to check rollout status, scale an app up/down, or push a new image version.
30+
31+
Lists every Deployment with its Namespace, Pods (ready count), Images, and Age. Click a row to view or edit it; use **+ Create** to deploy a new one.
32+
33+
![Deployments list page showing the table of deployments with namespace filter and Create button](images/cluster-workload/deployments-list.png)
2034

21-
## Cluster Overview Page
35+
---
2236

23-
The Cluster Overview page provides essential information about your cluster, including a node list, available FeatureSets, and their respective statuses (enabled or disabled).
37+
## Replica Sets
2438

25-
## Left Sidebar Navigation
39+
A Replica Set's only job is to keep a fixed number of Pod copies alive. You rarely create these by hand — a Deployment creates and manages one for you behind the scenes. Check this page when troubleshooting why a Deployment isn't scaling the way you expect.
2640

27-
The left sidebar presents a variety of options for managing Kubernetes workloads:
41+
Lists every Replica Set with its Namespace, Pods, Images, and Age.
2842

29-
- **Kubernetes:**
30-
- Overview
31-
- Nodes
43+
![Replica Sets list page showing namespace, pods, images, and age columns](images/cluster-workload/replica-sets-list.png)
3244

33-
- **Workloads:**
34-
- Deployments
35-
- Replica Sets
36-
- Replication Sets
37-
- Stateful Sets
38-
- Daemon Sets
39-
- Jobs
40-
- Cron Jobs
41-
- Pods
45+
---
4246

43-
- **Helm:**
44-
- Releases
47+
## Replication Controllers
4548

46-
- **Datastore:**
47-
- Postgres
48-
- Elasticsearch
49-
- MongoDB (and others managed by KubeDB)
49+
The older, legacy way to keep a fixed number of Pod copies running — same idea as a Replica Set, kept for backward compatibility. New workloads should use Deployments instead; you'd only see entries here on older setups.
5050

51-
- **Service & Discovery:**
52-
- Services
53-
- Ingresses
54-
- Network Policies
51+
Lists every Replication Controller with its Namespace, Pods, Images, and Age. Click **+ Create ReplicationController** to add one.
5552

56-
- **Config:**
57-
- Config Maps
58-
- Secrets
53+
![Replication Controllers list page with no data available and a Create ReplicationController button](images/cluster-workload/replication-controllers-list.png)
5954

60-
- **Storage:**
61-
- Persistent Volume Claims
62-
- Persistent Volumes
63-
- Storage Classes
55+
---
6456

65-
- **Monitoring:**
66-
- Alertmanager
67-
- PodMonitor
68-
- Prometheus
69-
- ServiceMonitor
70-
- PrometheusRule
57+
## Stateful Sets
7158

72-
- **Security:**
73-
- Service Accounts
74-
- Policy
75-
- Gatekeeper Report
59+
For apps where each Pod needs a stable identity and its own storage — databases, queues, anything that can't just be swapped for an identical copy. Use this when running stateful services that care about pod order or persistent data.
7660

77-
- **Admin:**
78-
- Namespaces
79-
- Resource Quotas
80-
- Cluster Roles
81-
- Roles
82-
- CSI Drivers
61+
Lists every Stateful Set with its Namespace, Pods, Images, and Age.
8362

84-
You can customize the left sidebar by clicking the ⚙️ icon on the navbar, navigating to the Cluster Settings page, and selecting the `Sidebar` tab. Refer to the [Sidebar Management Documentation](cluster-sidebar.md) for more details.
63+
![Stateful Sets list page showing namespace, pods, images, and age columns](images/cluster-workload/stateful-sets-list.png)
64+
65+
---
8566

86-
## Resource Management
67+
## Daemon Sets
8768

88-
Select any resource from the left sidebar to list the resources. From there, you can go to the resource details page. The available options for each resource include:
69+
Runs one copy of a Pod on every node automatically — typically used for cluster-wide infrastructure like log collectors or monitoring agents that need to run everywhere. Check this page to confirm a node-wide agent has rolled out to all nodes.
70+
71+
Lists every Daemon Set with its Namespace, Pods, Dsired, Current-Scheduled, Up-to-date, Node Selector, Images, and Age — the Desired/Current/Up-to-date columns show rollout progress at a glance.
72+
73+
![Daemon Sets list page showing desired, current-scheduled, and up-to-date columns](images/cluster-workload/daemon-sets-list.png)
74+
75+
---
8976

90-
- Basic Overview
91-
- Resource Components
92-
- Related Resources
93-
- Events
94-
- Graph of Connected Resources
95-
- Resource Manifest
77+
## Jobs
78+
79+
A Job runs a task once until it completes — a backup, a migration script, a one-off batch process — then stops, unlike a Deployment which runs forever. Use this page to check whether a one-off task finished and how long it took.
80+
81+
Lists every Job with its Namespace, Annotations, Completions, Duration, Images, and Age.
82+
83+
![Jobs list page showing completions, duration, images, and age columns](images/cluster-workload/jobs-list.png)
84+
85+
---
86+
87+
## Cron Jobs
88+
89+
A Cron Job runs a Job on a repeating schedule — like a nightly backup or a recurring cleanup task — so you don't have to trigger it manually each time. Use the **Suspend** state here to pause a recurring task without deleting it.
90+
91+
Lists every Cron Job with its Namespace, Annotations, Schedule, Suspend, Active, Last Schedule, Images, and Age — the Schedule column shows the cron expression.
92+
93+
![Cron Jobs list page showing schedule, suspend, active, and last schedule columns](images/cluster-workload/cron-jobs-list.png)
94+
95+
---
96+
97+
## Pods
98+
99+
A Pod is the actual running container(s) — the smallest unit in Kubernetes. Every Deployment, StatefulSet, Job, etc. above ultimately creates Pods to do the real work. This is the page to check when you need to see real-time container health or debug a crash.
100+
101+
Lists every Pod with its Namespace, Ready, Status, Restarts, IP, Images, and Age — the only Workloads item with these extra live-state columns, useful for spotting crashing or restarting containers.
102+
103+
![Pods list page showing Ready, Status, Restarts, and IP columns](images/cluster-workload/pods-list.png)
104+
105+
---
96106

97-
The `Datastore` section is dedicated to KubeDB, an AppsCode product, for managing various types of databases. You can create new databases, explore overviews, components, connected resources, and manifests for each database.
107+
## Quick Reference
98108

99-
You can also create new resources directly from any resource list page by clicking the `➕ Create` button, filling out the form, and submitting to create the resource.
109+
| Task | How to do it |
110+
|---|---|
111+
| Open the Workloads view | Click your cluster on the Platform Console → click **Workloads** in the left sidebar |
112+
| List a workload type | Click its name under the Workloads group (e.g. Deployments, Pods) |
113+
| Filter by namespace | Use the **All Namespaces** dropdown on any list page |
114+
| Create a new workload | Click **+ Create** on the resource's list page |

docs/platform/guides/cluster-management/constraints-violations.md

Lines changed: 0 additions & 14 deletions
This file was deleted.

0 commit comments

Comments
 (0)