This document explains how to add KubeStellar's 'workspaces' as Argo CD's 'clusters'.
Add KubeStellar's workspaces to Argo CD as clusters#
As of today, the 'workspaces', aka 'logical clusters' used by KubeStellar are not identical with ordinary Kubernetes clusters. Thus, in order to add them as Argo CD's 'clusters', there are a few more steps to take.
For KubeStellar's Inventory Management Workspace (IMW) and Workload Management Workspace (WMW). The steps are similar. Let's take WMW as an example:
- Create `kube-system` namespace in the workspace.
- Make sure necessary apibindings exist in the workspace. For WMW, we need one for Kubernetes and one for KubeStellar's edge API.
- Exclude `ClusterWorkspace` from discovery and sync.
Restart the Argo CD server.
- Make sure the current context uses WMW, then identify the admin.kubeconfig.
The command and output should be similar to
### Create Argo CD Applications Once KubeStellar's workspaces are added, Argo CD Applications can be created as normal. There are a few examples listed [here](https://github.com/edge-experiments/gitops-source/tree/main/kubestellar), and the commands to use the examples are listed as follows. #### Create Argo CD Applications against KubeStellar's IMW Create two Locations. The command and output should be similar to
$ argocd cluster add --name wmw --kubeconfig ./admin.kubeconfig workspace.kcp.io/current WARNING: This will create a service account `argocd-manager` on the cluster referenced by context `workspace.kcp.io/current` with full cluster level privileges. Do you want to continue [y/N]? y INFO ServiceAccount "argocd-manager" already exists in namespace "kube-system" INFO ClusterRole "argocd-manager-role" updated INFO ClusterRoleBinding "argocd-manager-role-binding" updated Cluster 'https://172.31.31.125:6443/clusters/root:my-org:wmw-turbo' addedCreate two SyncTargets. The command and output should be similar to#### Create Argo CD Application against KubeStellar's WMW Create a Namespace. The command and output should be similar toCreate a Deployment for 'cpumemload'. The command and output should be similar toCreate an EdgePlacement. The command and output should be similar to
ArgoCD Scale Experiment - KubeStellar Community Demo Day#
GitOpsCon 2023 - A Quantitative Study on Argo Scalability - Andrew Anderson & Jun Duan, IBM#
ArgoCD and KubeStellar in the news#