KOBIL Shift-Operator Demo Deployment
KOBIL Shift-Operator Demo Deployment
Scope here is: Providing deployment best pratices to "shift-operator" deployed.
Editing the KOBIL Shift-Operator metaconfiguration file "values.yaml"
Editing the Shift-Operator "values.yaml" - major editing has to be done in the following sequence:
- add the
image pull secrets
to the target namespace where KOBIL Shift-Operator and Shift will be deployed to. - set the credentials for the Chart repository. This is required as the KOBIL Shift-Operator will download KOBIL Shift sub-services Charts during KOBIL Shift deployment processing.
Create imagePullSecret
Ensure to have the imagePullSecret created first in the namespace before running the "helm install" for the KOBIL Shift Operator (see below section for imagePullSecret). Sample command to create the imagePullSecret is:
kubectl create secret -n <shift_namespace> docker-registry/registry-imagepull \
--docker-server=http://nexus.customer.domain.io \
--docker-username=your_user_token_name \
--docker-password=your_password
# verify secret is created
kubectl get secrets -n <shift_namespace> | grep registry
The image pull secrets covers the authorization to download the required images to the target namespace where the Shift-Operator is deployed to. In case using a local repository the "docker-server" is most likely not the internet facing KOBIL Image Repo but the local network accessible (custom) Image Repo service.
Part of "values.yaml" for KOBIL Shift-Operator
global:
# -- Image pull secrets added to pod spec generated by this chart.
imagePullSecrets:
# this is the preallocated secret for private KOBIL Image repository or your local repository access
- name: registry-imagepull
# -- Docker registry for KOBIL provided docker images
# this may cover local (proxy'd) image repo in customer environment
# default is KOBIL Image repository - change this to your local proxied image registry
registry: nexus.customer.domain.io
# -- Docker registry for public docker images
# this may cover local (proxy'd) image repo / per default direct load from internet
# here you may use local proxied image registry
registryPublic: nexus.customer.domain.io
Adding KOBIL Chart repository access credentials
To add the private KOBIL Chart repository access credentials, update the metaconfiguration editing the parameter "helmRepo". The KOBIL Shift-Operator will download KOBIL Shift (sub-services) Charts during processing. In case you are using locally proxied Chart- and Image-Repos - you may adopt this by the key 'global.registry' and key 'helmRepo.url' (for custom chart repo).
Add the KOBIL Helm Repo credentials
Part of "values.yaml" for KOBIL Shift-Operator
helmRepo:
url: https://nexus.charts.domain.io # modifiy here to local proxied chart repo
username: "kobil-shift" # add here KOBIL Chart repo access credentials
password: "1234aBcDe4321" # add here KOBIL Chart repo access credentials
Find here sample KOBIL Shift Operator 0.22.0 configuration file shift-operator-0220-values.zip
Deploying KOBIL Shift-Operator by "helm install" command
Deployment for KOBIL Shift-Operator is done via helm install
helm install <release_name> -f metaconfiguration-file -n <shift_namespace> <repository-name> \
--version <version_number>
Samples:
# set version explicitly
helm install shift-operator -f ./shift-operator-values.yaml -n kobilshift kobil/shift-operator \
--version 0.12.0
# use the most current shift-operator chart for registered repository "kobil" when omitting the version
helm install shift-operator -f ./values.yaml kobil/shift-operator 2\>&1 | tee shift-operator.install.out
Verify the KOBIL Shift-Operator deployment
Once KOBIL Shift-Operator is deployed - find / check for the following:
# find deployments
kubectl get deployments -n <shift-namespace>
kubectl get crd | grep -i kobil # you should find at least servicegroups.shift.kobil.com
# find sub-services deployed by Shift-Operator
# once KOBIL Shift is deployed later listing the installed releases
helm list