Skip to main content

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