Kubernetes Platform Services
Kubernetes Platform Services provide preconfigured day two functionality and services, on top of Kubernetes, like monitoring, logging, and external DNS. The versions are tested against a pure upstream Kubernetes build having no specific D2iQ requirements.
New Minor or Major versions of Platform Services releases are based on user requirements. These can occur in any release but are less frequent. Platform Services have their own release numbers that follow a semantic version numbering scheme and includes the version of Kubernetes the were tested on. For example,
kind: ClusterConfiguration apiVersion: konvoy.mesosphere.io/v1beta2 spec: addons: - configRepository: https://github.com/mesosphere/kubernetes-base-addons configVersion: testing-1.19-3.2.0 addonsList: ...
Configuring Konvoy Platform Services
Platform Servicess are configured via the
addons section under
ClusterConfiguration within Konvoy’s
Platform Servicess are configured by referencing various Platform Servicess repositories. Konvoy comes pre-configured with Base Platform Services repository. This repository provides all the Platform Servicess that make Konvoy an enterprise grade distribution, ready for day two operations.
In general, a Platform Services can come in two categories:
ClusterAddon- A Platform Services that is cluster-scoped.
Addon- A Platform Services that is namespace-scoped is commonly refered to as Workload Platform Services.
Konvoy partners and users can create their own Platform Services repositories. For example, a storage partner can create a Platform Services repository to provide their CSI storage provisioner. A user can create a Platform Services repository to meet the requirements that all clusters created, in their organization, run specific services. The Creating Platform Services section covers these details.
Configuring Platform Services in
The following example shows how to configure an additional Platform Services repository in the Konvoy
In the configuration example below, we’ll disable the bundled
awsebscsiprovisioner in order to use an partner provided
awsebscsiprovisioner2. Both these Platform Servicess are of the cluster-scoped
ClusterAddon kind. Additionally the
cockroachdb namespace-scoped Platform Services is enabled.
The example partner repository referenced via
configVersion points to a tagged release within the repository.
... kind: ClusterConfiguration apiVersion: konvoy.mesosphere.io/v1beta2 metadata: name: y-west ... spec: ... addons: - configRepository: https://github.com/mesosphere/kubernetes-base-addons configVersion: testing-1.19-3.2.0 addonsList: - name: awsebscsiprovisioner enabled: false ... - configRepository: https://github.com/mesosphere/docs-addon-repo configVersion: stable-0.1 addonsList: - name: awsebscsiprovisioner2 enabled: true - name: cockroachdb enabled: true ...
The second repository configured, in the example above, is our [sample docs-Platform Services ][sample_repo].
It contains the
cockroachdb Platform Services.
awsebscsiprovisioner2 is a copy of the
awsebscsiprovisioner from the
kubernetes-base-addons repository. This example shows you can turn the storage provisioner in the
kubernetes-base-addons repository off and provide a storage provisioner with another Platform Services repository.
When you run
konvoy up with the above
cluster.yaml configuration you see the following output. All Platform Services requiring persistent storage get installed after
awsebscsiprovisioner2 providing a default
StorageClass. For example, `cockroachdb, elasticsearch, and velero.
STAGE [Deploying Enabled Addons] konvoyconfig [OK] dashboard [OK] reloader [OK] fluentbit [OK] external-dns [OK] opsportal [OK] cert-manager [OK] defaultstorageclass-protection [OK] gatekeeper [OK] awsebscsiprovisioner2 <<< [OK] traefik [OK] prometheus [OK] cockroachdb [OK] dex [OK] velero [OK] prometheusadapter [OK] kube-oidc-proxy [OK] dex-k8s-authenticator [OK] traefik-forward-auth [OK] kommander [OK] elasticsearch-curator [OK] elasticsearch [OK] elasticsearchexporter [OK] kibana [OK] Kubernetes cluster and addons deployed successfully!
For information on related topics or procedures, refer to the following: