For each set of functionality, TKG extensions bundle typically has 1 preset extension readily available, though in the case of Monitoring, both Prometheus and Grafana are used in combination as standard practice.
Note: Other options are available for each function e.g. NGINX, Traefik for Ingress
The namespace, configuration (-data-values.yaml), and extension (-extension.yaml) YAML files for the particular extension are applied.
kapp-controller combines the configuraiton with the YTT templates from the tkg-extensions-templates to generate all resource definitions required for the extension, such as:
Deployments
ConfigMaps
Secrets
The extension workload is then started using standard Kubernetes processes i.e. kubectl apply
Therefore, requests to deploy these extensions are passed from the kube-apiserver to the kapp-controller, which takes the templates from the tkg-extensions-templates and uses them to deploy the extensions.
The kapp CLI can be used to inspect the state of workloads that are deployed by the kapp-controller.
Extensions are configured by creating a Kubernetes secret containing related configuration data
The configuration file for each extension is defined in a file of format <extension>-data-values.yaml - this is used to create a Kubernetes secret named <extension>-data-values
When kapp-controller deploys an extension, it reads the secret configuration to apply it to the extension
Changes to the secret resource will automatically be picked up by the kapp-controller once the secret's data is updated.
A native Kubernetes certificate management controller
Functionalities include:
Add certificates and certificate issuers as resource types in Kubernetes clusters
Simplifies the process of obtaining/renewing/using certificates
Allows generation of certificates internally and connection to external services (e.g. Lets Encrypt) to request certifcates
It's not considered a TKG extension outright, however it is included in the extensions bundle as Contour, Grafana, Prometheus and Harbor all depend on its functionality to work.