Kubevious Add-on¶
This add-on installs Kubevious open source Kubernetes dashboard on Amazon EKS.
Kubevious provides logical grouping of application resources eliminating the need to dig through selectors and labels. It also provides the ability identify potential misconfigurations using both standard and user created rules that monitor the cluster
Usage¶
import 'source-map-support/register';
import * as cdk from 'aws-cdk-lib';
import * as blueprints from '@aws-quickstart/eks-blueprints';
const app = new cdk.App();
const addOn = new blueprints.addons.KubeviousAddOn();
const blueprint = blueprints.EksBlueprint.builder()
.version("auto")
.addOns(addOn)
.build(app, 'my-stack-name');
Configuration Options¶
version
: Version fo the Helm Chart to be used to install KubeviousingressEnabled
: Indicates whether to expose Kubevious using an ingress gateway. Set to false by defaultkubeviousServiceType
: Type of service used to expose Kubevious backend. Set to 'ClusterIP' by defaultvalues
: Arbitrary values to pass to the chart. Refer to the Kubevious Helm Chart documentation for additional details
Validation¶
To validate that Kubevious is installed properly in the cluster, check that the Kubevious deployments, services and stateful sets are running.
kubectl get all -n kubevious
kubevious
namespace
Accessing the Kubevious dashboard¶
To access the application, set up port-forwarding as follows:
kubectl port-forward $(kubectl get pods -n kubevious -l "app.kubernetes.io/component=kubevious-ui" -o jsonpath="{.items[0].metadata.name}") 8080:80 -n kubevious
Alternatively, Kubevious can be exposed by enabling the ingress by setting the ingressEnabled
configuration option to true.
MySQL root password¶
Kubevious internally deploys and uses MySQL to persist data. The Kubevious add-on secures access to the database by generating a random password for the MySQL root user. While it is not usually necessary to access the Kubevious MySQL database externally, it is possible to retrieve the generated value by executing the command below:
echo $(kubectl get secret kubevious-mysql-secret-root -o jsonpath='{.data.MYSQL_ROOT_PASSWORD}' -n kubevious) | base64 --decode
Persistent Volume usage¶
Kubevious automatically creates a Persistent Volume (PV) to store the MySQL database data. However, per the Kubevious documentation, the PV is not removed when Kubevious is uninstalled and must be removed manually:
kubectl delete pvc data-kubevious-mysql-0 -n kubevious
Functionality¶
- Installs Kubevious in the cluster
- Sets up all AIM necessary roles to integrate Kubevious in AWS EKS
- Supports standard helm configuration options.