Skip to content

Commit 4b07a16

Browse files
committed
Update documentation in accordance with vSphere Supervisor
Removed endpoints and related models that are not supported with supervisor clusters Removed DatastoreOperations tag as it's no longer needed Generated the client-sdk using the latest spec Updated README with the deployment instructions for vSphere Supervisor 8.0 Updated the service type to a LoadBalancer from Nodeport in the deploy templates Updated deployment instructions to align with Supervisor
1 parent 3a30c0c commit 4b07a16

File tree

52 files changed

+849
-2070
lines changed

Some content is hidden

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

52 files changed

+849
-2070
lines changed

README.md

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,24 @@
11
# cloud-native-storage-self-service-manager
22

3-
CNS Manager is a diagnostic and self-service tool that helps detect and auto-remediate some of the known issues in storage control plane in vCenter. It also provides certain table stake features, such as svMotion and datastore decomission to complement the Cloud Native Storage solution offered in vCenter.
4-
CNS Manager exposes APIs that can be invoked by authorized users to detect issues.
3+
CNS Manager is a diagnostic and self-service tool that helps detect and auto-remediate some of the known issues in storage control plane in vCenter.
4+
CNS Manager exposes APIs that can be invoked by authorized users to detect issues.
55

6+
This repository provides artifacts for deploying CNS manager in different versions of vSphere Supervisors starting from 8.0, as well as the client sdk to invoke its endpoints.
67

7-
This repository provides artifacts for deploying CNS manager in vanilla Kubernetes cluster, as well as the client sdk to invoke its endpoints.
8-
9-
## Deploying cns-manager
10-
CNS manager needs to be deployed in one of the namespaces running on [Supervisor Management Zones](https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere-supervisor/8-0.html) in the vCenter.
11-
If there are multiple Kubernetes clusters in a vCenter, it's recommended that it be deployed in a dedicated admin-managed cluster, but it's not a must. However, the admin should be responsible to secure the Kubernetes cluster where CNS manager is deployed since it will have credentials to vCenter and the Kubernetes cluster.
8+
## Deploying cns-manager on [vSphere Supervisor 8.0](https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere-supervisor/8-0/vsphere-supervisor-concepts-and-planning/vsphere-iaas-control-plane-concepts/what-is-vsphere-with-tanzu.html)
9+
CNS manager needs to be deployed as a [vSphere pod](https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere-supervisor/8-0/vsphere-supervisor-concepts-and-planning/vsphere-iaas-control-plane-concepts/what-is-vsphere-with-tanzu.html#GUID-276F809D-2015-4FC6-92D8-8539D491815E-en) on one of the [vSphere namespaces](https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere-supervisor/8-0/vsphere-supervisor-concepts-and-planning/vsphere-iaas-control-plane-concepts/what-is-a-vsphere-namespace.html) running on the Supervisor in the vCenter.
10+
If there are multiple Supervisors running on a vCenter, it's recommended that it be deployed in a dedicated admin-managed cluster, but it's not a must. However, the admin should be responsible to secure the Supervisor where CNS manager is deployed since it will have credentials to vCenter and the Kubernetes cluster(s).
1211
Also if you want CNS manager to be highly available, deploy it on a Kubernetes cluster that's highly available itself.
12+
### Networking
13+
https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/vsphere-supervisor/8-0/vsphere-supervisor-concepts-and-planning/supervisor-architecture-and-components/supervisor-networking.html
1314

1415
Note : To deploy CNS manager from this repo, you can clone it on your machine and then set kubeconfig to point to the remote Kubernetes cluster where CNS manager needs to be deployed. Then follow the instructions for deployment.
1516

1617
The deployment is supported with two authentication mechanisms to limit who can access CNS manager APIs:
1718
1. Basic Auth - The CNS manager admin can choose fixed credentials at the time of deployment. This auth mechanism is less secure than OAuth2 to be used in Production. Nevertheless, it can be used for a quick deployment to test the application and in air-gapped environments where the vCenter is not connected to the internet.
1819
See these [instructions](docs/book/deployment/basicauth.md) for basic auth deployment.
1920

20-
2. OAuth2 - With OAuth2, the authentication is delegated to an OIDC provider such as Gitlab, Github,Google etc. It does require creating an OAuth application on the OIDC provider before deploying CNS manager.
21+
2. OAuth2 - With OAuth2, the authentication is delegated to an OIDC provider such as Gitlab, Github, Google etc. It does require creating an OAuth application on the OIDC provider before deploying CNS manager.
2122
See these [instructions](docs/book/deployment/oauth2.md) for OAuth2 deployment.
2223

2324
## Enabling TLS for your deployment
@@ -34,7 +35,7 @@ The following section explains how to register a Kubernetes cluster with CNS man
3435
**1. Generate a kubeconfig with minimal privileges for CNS manager:**
3536
* The provided script `scripts/get-kubeconfig.sh` generates a kubeconfig for CNS manager with minimal privileges required for its functioning. But if you're fine with providing admin kubeconfig for the cluster to be registered, you can skip kubeconfig generation part mentioned below and directly jump to cluster registration part.
3637

37-
Note : The script may not work on all Kubernetes distributions if they don't adhere to the [recommended steps](https://docs.vmware.com/en/VMware-vSphere-Container-Storage-Plug-in/2.0/vmware-vsphere-csp-getting-started/GUID-A1982536-F741-4614-A6F2-ADEE21AA4588.html) for deploying vSphere CSI driver.
38+
Note : The script may not work on all Kubernetes distributions if they don't adhere to the [recommended steps](https://techdocs.broadcom.com/us/en/vmware-cis/vsphere/container-storage-plugin/3-0/getting-started-with-vmware-vsphere-container-storage-plug-in-3-0.html) for deploying vSphere CSI driver.
3839

3940
* The script takes 2 mandatory input parameters. First is the path to the cluster's kubeconfig file and the second is the name of the file where the generated kubeconfig file with minimal privileges should be stored. Here is how you can run the script:
4041
```
@@ -57,13 +58,8 @@ curl -X 'POST' "http://CNS-MANAGER-ENDPOINT/1.0.0/registercluster?csiDriverSecre
5758

5859
**Note**: If a registered cluster later gets decommissioned or deleted from the vCenter, don't forget to deregister it from CNS manager as well. This will ensure a smooth execution of functionalities offered through CNS manager.
5960

60-
## Upgrading cns-manager
61-
See the [upgrade instructions](docs/book/deployment/upgrade.md) if you're upgrading previously deployed cns-manager instance to a newer release.
6261
## Functionalities currently offered through cns-manager
6362

64-
* **Storage vMotion for CNS volumes**
65-
This feature allows migrating volumes from one datastore to another. Read [here](docs/book/features/storage_vmotion.md) for more details about this feature.
66-
6763
* **Orphan volumes detection & deletion**
6864
This feature allows detecting/deleting orphan volumes that are not being used in any of the registered Kubernetes clusters on the vCenter. Read [here](docs/book/features/orphan_volumes.md) for more details about this feature.
6965

client-sdk/go/client/api_cluster_record_keeping.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
Copyright 2024 VMware, Inc.
2+
Copyright 2025 VMware, Inc.
33
44
Licensed under the Apache License, Version 2.0 (the "License");
55
you may not use this file except in compliance with the License.
@@ -17,12 +17,13 @@ package swagger
1717

1818
import (
1919
"context"
20-
"github.com/antihax/optional"
2120
"io/ioutil"
2221
"net/http"
2322
"net/url"
2423
"os"
2524
"strings"
25+
26+
"github.com/antihax/optional"
2627
)
2728

2829
// Linger please

0 commit comments

Comments
 (0)