Files

Backstage kubernetes internal developer platform

For the second part of our meetup demo session we want to briefly explore the backstage internal developer platform.

An Internal Developer Platform (IDP) is the sum of all the tech and tools that a platform engineering team binds together to pave golden paths for developers. IDPs lower cognitive load across the engineering organization and enable developer self-service, without abstracting away context from developers or making the underlying tech inaccessible.

Install kubernetes

We want to deploy backstage as a container onto our cluster so the first thing we need to do is ensure we have a cluster available. We can set one up on our machine with a one liner.

curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--write-kubeconfig-mode 0644" sh -s - && cp /etc/rancher/k3s/k3s.yaml ~/.kube/config && chown $USER:$USER ~/.kube/config

Before we proceed let's test our cluster is running successfully by checking the node state with kubectl.

kubectl get nodes

We should see a single node in the Ready state after running the following:

NAME           STATUS   ROLES                  AGE     VERSION
james-laptop   Ready    control-plane,master   3m46s   v1.25.6+k3s1

Install backstage

Once our cluster is running we can deploy backstage with helm.

# Clone chart source
git clone https://github.com/backstage/charts.git

# Ensure namespace exists
kubectl create namespace backstage

# Obtain any dependant charts
cd charts/charts/backstage && helm dependency update

# Deploy backstage via helm chart
helm upgrade --install --namespace backstage backstage .

After a short wait for deployment we can check the health with kubectl and should see the pod running successfully

kubectl get pods --namespace backstage

If our pod is running successfully we can then use kubectl port forward to access the deployed pod temporarily in our browser.

kubectl port-forward service/backstage --namespace backstage 7007