Introduction to Sveltos Dashboard
The Sveltos Dashboard is not part of the generic Sveltos installation. It is a manifest file that will get deployed on top. If you have not installed Sveltos, check out the documentation here.
To deploy the Sveltos Dashboard, run the below command using the kubectl
utility.
$ kubectl apply -f https://raw.githubusercontent.com/projectsveltos/sveltos/main/manifest/dashboard-manifest.yaml
Warning
v0.38.4 is the first Sveltos release that includes the dashboard and it is compatible with Kubernetes v1.28.0 and higher.
To access the dashboard, expose the dashboard
service in the projectsveltos
namespace. The deployment, by default, is configured as a ClusterIP service. To expose the service externally, we can edit it to either a LoadBalancer service or use an Ingress/Gateway API.
Authentication
To authenticate with the Sveltos Dashboard, we will utilise a serviceAccount
, a ClusterRoleBinding
/RoleBinding
and a token
.
Let's create a service account
in the desired namespace.
Let's provide the service account permissions to access the managed clusters in the management cluster.
$ kubectl create clusterrolebinding <binding_name> --clusterrole <role_name> --serviceaccount <namespace>:<service_account>
Command Details:
- binding_name: It is a descriptive name for the rolebinding.
- role_name: It is one of the default cluster roles (or a custom cluster role) specifying permissions (i.e, which managed clusters this serviceAccount can see)
- namespace: It is the service account's namespace.
- service_account: It is the service account that the permissions are being associated with.
Platform Administrator Example
$ kubectl create sa platform-admin
$ kubectl create clusterrolebinding platform-admin-access --clusterrole cluster-admin --serviceaccount default:platform-admin
Create a login token for the service account with the name platform-admin
in the default
namespace.
Note
The token created above will expire after 24 hours.
Copy the token generated, login to the Sveltos Dashboard and submit it.