Installing the Kubernetes Resources Frontend Plugin#
This guide will help you install and set up the Kubernetes Resources frontend plugin in your Backstage instance.
Prerequisites#
Before installing the plugin, ensure you have:
- A working Backstage instance
- The Kubernetes backend deployment installed in your clusters
- Access to Kubernetes clusters
- Proper proxy configuration
Installation Steps#
1. Add the Package#
Install the plugin package using yarn:
2. Add to Entity Page#
Modify your entity page configuration in packages/app/src/components/catalog/EntityPage.tsx
:
import {
KubernetesResourcesPage,
KubernetesResourceGraph,
isKubernetesResourcesAvailable,
} from '@terasky/backstage-plugin-kubernetes-resources-frontend';
const serviceEntityPage = (
<EntityLayout>
<EntityLayout.Route
path="/kubernetes-resource-page"
if={isKubernetesResourcesAvailable}
title="Kubernetes Resources"
>
<KubernetesResourcesPage />
</EntityLayout.Route>
<EntityLayout.Route
path="/kubernetes-resource-graph"
if={isKubernetesResourcesAvailable}
title="Resource Graph"
>
<KubernetesResourceGraph />
</EntityLayout.Route>
</EntityLayout>
);
3. Configure Proxy Settings#
Add proxy configuration to your app-config.yaml
:
proxy:
'/kubernetes-resources/<CLUSTER NAME>':
target: 'http://<THE INGRESS URL OF THE DEPLOYED APP>'
changeOrigin: true
headers:
Authorization: 'Bearer <SAME TOKEN AS IS USED IN THE K8S PLUGIN CONFIGURATION>'
4. Deploy Backend Component#
Deploy the Kubernetes dependency tracker to your clusters:
export INGRESS_HOST_NAME="k8s-dependency-tracker.example.com"
wget https://github.com/TeraSky-OSS/kubernetes-dependency-tracker/releases/download/0.1.0/kubernetes-manifest.yaml
sed -i "s/REPLACE_ME/${INGRESS_HOST_NAME}/g" kubernetes-manifest.yaml
kubectl apply -f kubernetes-manifest.yaml
5. Configure Entity Annotations#
Add required annotations to your catalog entities:
annotations:
terasky.backstage.io/kubernetes-resource-name: 'resource-name'
terasky.backstage.io/kubernetes-resource-kind: 'ResourceKind'
terasky.backstage.io/kubernetes-resource-api-version: 'group/version'
terasky.backstage.io/kubernetes-resource-namespace: 'namespace' # Optional
backstage.io/managed-by-origin-location: 'cluster-name'
Verification#
After installation, verify that:
- The plugin appears in your package.json dependencies
- The Kubernetes resources pages are accessible
- Resource graphs are rendering correctly
- Events and YAML views are working
- Proxy configuration is functioning
Troubleshooting#
Common issues and solutions:
- Resources Not Loading
- Check proxy configuration
- Verify backend deployment
- Ensure cluster access
-
Check entity annotations
-
Graph Not Rendering
- Verify browser console for errors
- Check resource permissions
- Ensure backend connectivity
-
Review proxy settings
-
Permission Issues
- Configure permission framework
- Check token permissions
- Verify role bindings
- Review access controls
For configuration options and customization, proceed to the Configuration Guide.