Common Setup - step-by-step#
The following steps create a deployment of KubeStellar Core
-
You may want to
set -e
in 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
vcluster
running OCM (Open Cluster Management) in KubeFlex. Note that-p ocm
runs 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
wds1
in KubeFlex. Similarly to before,-p kubestellar
runs a post-create hook on the k8s control plane that starts an instance of a KubeStellar controller manager which connects to thewds1
front-end and theits1
OCM 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-manager
in thewds1-system
namespace and the statefulsetvcluster
in theits1-system
namespace, 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