Manage service
The catalog manages service-operators on a shoot clusters with catalogs.catalog.sws.osc.t-systems.com
CRD.
This CRD has cluster scope and only one relation between the CR and the CRD can exist on a shoot cluster with hardcoded name catalog
.
CR with different name isn't possible to create.
Service Operation
Installation
You can install a required service-operator by creating or editing of catalog
CR on your shoot cluster, if you set the attribute enabled of a particular service-operator to true.
For more details, see the example below and workflow: Enabling a service in the Catalog
CR.
Example:
apiVersion: catalog.sws.osc.t-systems.com/v1alpha1
kind: Catalog
metadata:
# name has to be always catalog
name: catalog
spec:
kafka:
# kafka-service-operator won't be installed. It will be uninstalled, if it is installed
enabled: false
# releaseChannel can be use for installation different version of services.
# e.g.:
# - last stable release (stable)
# - release candidate (beta channel)
# - current development version (alpha),
# releaseChannel is not required to be set. If it isn't defined, it is set to stable
releaseChannel: stable
# if you don't want to use latest version in channel, you can set useDeprecatedVersion to true for use of previous version.
useDeprecatedVersion: false
# nodeSelector specify nodes labels where pods of service will run.
# it serve for set specific nodes where service pod can run.
# kubectl get nodes --show-labels (get labels of nodes)
nodeSelector:
# this is default node selector, it cannot be changed.
kubernetes.io/os: linux
kyma:
# kyma-service-operator will be installed.
enabled: true
# releaseChannel is stable, if it isn't defiend
postgreSQL:
enabled: false
releaseChannel: beta
kyverno:
enabled: false
releaseChannel: stable
scone:
enabled: false
Uninstallation
The service can be uninstalled by setting the field enabled to false in path spec.[service].enabled
.
For more details see workflow: Disabling a service in the Catalog
CR.
Note: Currently the catalog does not check running service instances. You should be sure you really want to uninstall a service operator, since running instances will also be deleted.
Delete
CR catalog
cannot be deleted, if any service is installed. You have to uninstall all services before deleting catalog
CR.
Please see workflow: Deleting Catalog
CR
Upgrade
The service cannot be upgraded directly; the upgrade of the service to newer version is automatizated and it will cycle few hours after release.
You can upgrade to the latest version by setting the value of the field spec.[service].useDeprecatedVersion
form true to false only.
You can downgrade to the previous version by setting the value of the field spec.[service].useDeprecatedVersion
to true.
Change of spec.[operator].releaseChannel
field will upgrade the service to required version.
Warning: \ Functionality of service can be affected during upgrade.
Status
Status contains the current state of catalog
CR. More information you can find below:
status:
# lastDeployedSpec contains last successfully deployed specification.
# It has same structure as specification.
# This state is changed after successful updating or creating phase.
lastDeployedSpec:
kafka:
quota: {}
# enabled set to true, represent that service was successfully installed.
# this has to be gone (enabled: false) for each service, if you want to delete catalog CR.
enabled: true
# release channel which was use for last deploy of service.
releaseChannel: stable
# if it is set to true, previous version of service is deployed.
useDeprecatedVersion: false
# nodeSelector contains latest applied nodes labels where pods of service will run.
nodeSelector:
kubernetes.io/os: linux
kyma:
quota: {}
releaseChannel: stable
kyverno:
quota: {}
releaseChannel: stable
postgreSQL:
quota: {}
releaseChannel: stable
scone:
quota: {}
releaseChannel: stable
# previous successful phase
lastSuccessPhase: Creating
# processed generation of specification
observedGeneration: 1
# current phase
# - "" (empty) it is default phase after creating of new CR
# - Creating # can do first installation of services
# - Running # desired state of CR
# - Deleting # deleting process of CR is running
# - Updating # updating process of CR is running (change of release channel, upgrade of version, install/uninstall of services)
# - Error # previous phase failed
phase: Running
WebUI
Catalog
CR can be managed with busola dashboard page.
The CR should be visible on the left menu as an item Catalog, within OSC Category.