Common Setup - step-by-step#
The following steps create a deployment of KubeStellar Core
-
You may want to
set -ein your shell so that any failures in the setup or usage scenarios are not lost. -
If you ran through these scenarios previously then you will need to do a bit of cleanup first. See how it is done in the cleanup script for our E2E tests (in
test/e2e/common/cleanup.sh). -
Set environment variables to hold KubeStellar and OCM-transport-plugin desired versions:
-
Create a Kind hosting cluster with nginx ingress controller and KubeFlex controller-manager installed:
If you are installing KubeStellar on an existing Kubernetes or OpenShift cluster, just use the commandkflex init. -
Update the post-create-hooks in KubeFlex to install kubestellar with the desired images:
-
Create an inventory & mailbox space of type
vclusterrunning OCM (Open Cluster Management) in KubeFlex. Note that-p ocmruns a post-create hook on the vcluster control plane which installs OCM on it. This step includes the installation of the status add-on controller. See here for more details on the add-on. -
Create a Workload Description Space
wds1in KubeFlex. Similarly to before,-p kubestellarruns a post-create hook on the k8s control plane that starts an instance of a KubeStellar controller manager which connects to thewds1front-end and theits1OCM control plane back-end. Additionally the OCM based transport controller will be deployed. -
(optional) Check relevant deployments and statefulsets running in the hosting cluster. Expect to see the
The output should look something like the following:kubestellar-controller-managerin thewds1-systemnamespace and the statefulsetvclusterin theits1-systemnamespace, both fully ready.NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE ingress-nginx deployment.apps/ingress-nginx-controller 1/1 1 1 22h kube-system deployment.apps/coredns 2/2 2 2 22h kubeflex-system deployment.apps/kubeflex-controller-manager 1/1 1 1 22h local-path-storage deployment.apps/local-path-provisioner 1/1 1 1 22h wds1-system deployment.apps/kube-apiserver 1/1 1 1 22m wds1-system deployment.apps/kube-controller-manager 1/1 1 1 22m wds1-system deployment.apps/kubestellar-controller-manager 1/1 1 1 21m wds1-system deployment.apps/transport-controller 1/1 1 1 21m NAMESPACE NAME READY AGE its1-system statefulset.apps/vcluster 1/1 11h kubeflex-system statefulset.apps/postgres-postgresql 1/1 22h