Platform9 Managed Add-ons Overview
Introduction
This guide covers the various fully managed Addon features that enhance and augment Kubernetes' capabilities. Currently, when creating a PMK cluster, the following managed addons are deployed and enabled by default during the cluster creation.
- CoreDNS
- MetalLB (BareOS)
- Metrics-server
- Kubernetes Dashboard
- Cluster DNS Autoscaler (including AWS)
- Monitoring, including Prometheus, Alertmanager and Grafana
- Network Operator
- Kubevirt
Platform9 fully supports each addon as core features of the Platform9 Managed Kubernetes product. We take full responsibility for the installation, updating, upgrading, and security patching of these addons. Additionally, addon management is included in our SLA agreement for our paid clients. For help with deployment, configuration or operating an addon, please contact the Platform9 Support team.
Platform9 dynamically manages these Kubernetes Native Applications as cluster addons while sustaining each application's lifespan and setup. Platform9 currently supports the following Kubernetes Applications as Managed Add-ons. The table below defines which addon is compatible with each platform.
Addons | BareOS | AWS | Notes |
---|---|---|---|
CoreDNS | ✔ | ✔ | |
MetalLB | ✔ | ||
Metrics-server | ✔ | ✔ | |
Kubernetes Dashboard | ✔ | ✔ | |
AWS Auto-scaler | ✔ | ||
Monitoring | ✔ | ✔ | |
KubeVirt | ✔ | - | |
DNS Auto-scaler | ✔ | ✔ | The DNS Auto-scaler plugin does not have a specific UI in v5.4, but it is supported. |
Currently, the Addon deployment in the interface is static, so there is no way to incorporate a new Addon via the UI. As updates to the UI are implemented, additional addons will be included. Existing addon configurations are done through the UI, but certain peripheral cases may require using the API if needed. Questions about this can be directed to our support team.
API Guide
Syntax and Example
The following is a list of REST APIs for ClusterAddon objects.
export TOKEN="X-Auth-Token <keystone token>"
export HEADER="Content-Type application/json"
export ACCEPT="Accept application/json"
export HEADER_MERGE="Content-Type application/merge-patch+json"
export NAME="$CLSUUID-<type of addon>"
To get the status of all the deployed addons on the cluster, use this syntax:
curl -X GET -H "$TOKEN" $DU_FQDN/qbert/v4/$PROJECT_ID/sunpike/apis/sunpike.platform9.com/v1alpha2/namespaces/default/clusteraddons
To create a new addon on the cluster, use this syntax:
curl -X POST -H "$TOKEN" -H "$HEADER" -H "$ACCEPT" -d "@file.json" $DU_FQDN/qbert/v4/$PROJECT_ID/sunpike/apis/sunpike.platform9.com/v1alpha2/namespaces/default/clusteraddons
To patch an addon to perform addition/update, use this syntax:
curl -X PATCH -H "$TOKEN" -H "$HEADER_MERGE" -H "$ACCEPT" -d "@file.json" $DU_FQDN/qbert/v4/$PROJECT_ID/sunpike/apis/sunpike.platform9.com/v1alpha2/namespaces/default/clusteraddons/$NAME
The "file.json" is in reference to the JSON file that will need to be created, which will have the request body of the respective cluster addon that needs to be created/patched. YAML specification of each addon can be found on the individual addon's page.
To delete any cluster addon deployed on the cluster, use this syntax:
curl -X DELETE -H "$TOKEN" $DU_FQDN/qbert/v4/$PROJECT_ID/sunpike/apis/sunpike.platform9.com/v1alpha2/namespaces/default/clusteraddons/$NAME
For further information about API references, see the Qbert v4 Rest API documentation page.