Home / Docs / Release 0.6.2 / Install Keptn / Upgrade Keptn
To download and install the Keptn CLI for version 0.6.2, please refer to the Install Keptn CLI section.
To upgrade your Keptn installation from 0.6.1 to 0.6.2, you can deploy a Kubernetes Job that will take care of updating all components to the 0.6.2 release. Please verify that you are connected to the correct Kubernetes cluster before deploying the upgrading job with the next command:
kubectl -n default delete job upgrader
kubectl apply -f https://raw.githubusercontent.com/keptn/keptn/release-0.6.2/upgrader/upgrade-061-062/upgrade-job.yaml
kubectl -n default get job
NAME COMPLETIONS DURATION AGE
upgrader 1/1 17s 20h
When the job is completed, your Keptn version has been updated to 0.6.2.
Verifying that the upgrade worked
To verify that the upgrade process worked, please check the images and their tags using kubectl
as described below.
Before the upgrade:
kubectl -n keptn get deployments -owide
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
api 1/1 1 1 4h39m api keptn/api:0.6.1 run=api
bridge 1/1 1 1 4h39m bridge keptn/bridge2:0.6.1 run=bridge
configuration-service 1/1 1 1 4h39m configuration-service keptn/configuration-service:0.6.1 run=configuration-service
eventbroker-go 1/1 1 1 4h39m eventbroker-go keptn/eventbroker-go:0.6.1 run=eventbroker-go
gatekeeper-service 1/1 1 1 4h39m gatekeeper-service keptn/gatekeeper-service:0.6.1 run=gatekeeper-service
gatekeeper-service-evaluation-done-distributor 1/1 1 1 4h39m distributor keptn/distributor:0.6.1 run=distributor
helm-service 1/1 1 1 4h39m helm-service keptn/helm-service:0.6.1 run=helm-service
helm-service-configuration-change-distributor 1/1 1 1 4h39m distributor keptn/distributor:0.6.1 run=distributor
helm-service-service-create-distributor 1/1 1 1 4h39m distributor keptn/distributor:0.6.1 run=distributor
jmeter-service 1/1 1 1 4h39m jmeter-service keptn/jmeter-service:0.6.1 run=jmeter-service
jmeter-service-deployment-distributor 1/1 1 1 4h39m distributor keptn/distributor:0.6.1 run=distributor
lighthouse-service 1/1 1 1 4h39m lighthouse-service keptn/lighthouse-service:0.6.1 run=lighthouse-service
lighthouse-service-distributor 1/1 1 1 72s distributor keptn/distributor:0.6.1 run=distributor
nats-operator 1/1 1 1 4h40m nats-operator connecteverything/nats-operator:0.6.0 name=nats-operator
prometheus-service 1/1 1 1 41m prometheus-service keptn/prometheus-service:0.3.1 run=prometheus-service
prometheus-service-monitoring-configure-distributor 1/1 1 1 41m distributor keptn/distributor:0.5.0 run=distributor
prometheus-sli-service 1/1 1 1 38m prometheus-sli-service keptn/prometheus-sli-service:0.2.1 run=prometheus-sli-service
prometheus-sli-service-monitoring-configure-distributor 1/1 1 1 38m distributor keptn/distributor:latest run=distributor
remediation-service 1/1 1 1 4h39m remediation-service keptn/remediation-service:0.6.1 run=remediation-service
remediation-service-problem-distributor 1/1 1 1 4h39m distributor keptn/distributor:0.6.1 run=distributor
shipyard-service 1/1 1 1 4h39m shipyard-service keptn/shipyard-service:0.6.1 run=shipyard-service
shipyard-service-create-project-distributor 1/1 1 1 4h39m distributor keptn/distributor:0.6.1 run=distributor
shipyard-service-delete-project-distributor 1/1 1 1 4h39m distributor keptn/distributor:0.6.1 run=distributor
wait-service 1/1 1 1 4h39m wait-service keptn/wait-service:0.6.1 run=wait-service
wait-service-deployment-distributor 1/1 1 1 4h39m distributor keptn/distributor:0.6.1 run=distributor
kubectl -n keptn-datastore get deployments -owide
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
mongodb 1/1 1 1 2m41s mongodb centos/mongodb-36-centos7:1 name=mongodb
mongodb-datastore 1/1 1 1 4h40m mongodb-datastore keptn/mongodb-datastore:0.6.1 run=mongodb-datastore
mongodb-datastore-distributor 1/1 1 1 4h40m distributor keptn/distributor:0.6.1 run=distributor
After the upgrade
kubectl -n keptn get deployments -owide
Full version of Keptn:
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
api-gateway-nginx 1/1 1 1 3m6s api-gateway-nginx nginx:1.17.9 run=api-gateway-nginx
api-service 1/1 1 1 3m6s api-service keptn/api:0.6.2 run=api-service
bridge 1/1 1 1 9m38s bridge keptn/bridge2:0.6.2 run=bridge
configuration-service 1/1 1 1 9m37s configuration-service keptn/configuration-service:0.6.2 run=configuration-service
eventbroker-go 1/1 1 1 9m38s eventbroker-go keptn/eventbroker-go:0.6.2 run=eventbroker-go
gatekeeper-service 1/1 1 1 9m12s gatekeeper-service keptn/gatekeeper-service:0.6.2 run=gatekeeper-service
gatekeeper-service-evaluation-done-distributor 1/1 1 1 9m12s distributor keptn/distributor:0.6.2 run=distributor
helm-service 1/1 1 1 9m38s helm-service keptn/helm-service:0.6.2 run=helm-service
helm-service-configuration-change-distributor 1/1 1 1 9m12s distributor keptn/distributor:0.6.2 run=distributor
helm-service-service-create-distributor 1/1 1 1 9m37s distributor keptn/distributor:0.6.2 run=distributor
jmeter-service 1/1 1 1 9m12s jmeter-service keptn/jmeter-service:0.6.2 run=jmeter-service
jmeter-service-deployment-distributor 1/1 1 1 9m11s distributor keptn/distributor:0.6.2 run=distributor
lighthouse-service 1/1 1 1 9m11s lighthouse-service keptn/lighthouse-service:0.6.2 run=lighthouse-service
lighthouse-service-distributor 1/1 1 1 9m11s distributor keptn/distributor:0.6.2 run=distributor
nats-operator 1/1 1 1 10m nats-operator connecteverything/nats-operator:0.6.0 name=nats-operator
remediation-service 1/1 1 1 9m10s remediation-service keptn/remediation-service:0.6.2 run=remediation-service
remediation-service-problem-distributor 1/1 1 1 9m10s distributor keptn/distributor:0.6.2 run=distributor
shipyard-service 1/1 1 1 9m37s shipyard-service keptn/shipyard-service:0.6.2 run=shipyard-service
shipyard-service-create-project-distributor 1/1 1 1 9m37s distributor keptn/distributor:0.6.2 run=distributor
shipyard-service-delete-project-distributor 1/1 1 1 9m37s distributor keptn/distributor:0.6.2 run=distributor
wait-service 1/1 1 1 9m10s wait-service keptn/wait-service:0.6.2 run=wait-service
wait-service-deployment-distributor 1/1 1 1 9m10s distributor keptn/distributor:0.6.2 run=distributor
Quality Gates only version of Keptn:
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
api-gateway-nginx 1/1 1 1 23h api-gateway-nginx nginx:1.17.9 run=api-gateway-nginx
api-service 1/1 1 1 23h api-service keptn/api:0.6.2 run=api-service
bridge 1/1 1 1 23h bridge keptn/bridge2:0.6.2 run=bridge
configuration-service 1/1 1 1 23h configuration-service keptn/configuration-service:0.6.2 run=configuration-service
eventbroker-go 1/1 1 1 23h eventbroker-go keptn/eventbroker-go:0.6.2 run=eventbroker-go
helm-service 1/1 1 1 23h helm-service keptn/helm-service:0.6.2 run=helm-service
helm-service-service-create-distributor 1/1 1 1 23h distributor keptn/distributor:0.6.2 run=distributor
lighthouse-service 1/1 1 1 23h lighthouse-service keptn/lighthouse-service:0.6.2 run=lighthouse-service
lighthouse-service-distributor 1/1 1 1 23h distributor keptn/distributor:0.6.2 run=distributor
nats-operator 1/1 1 1 23h nats-operator connecteverything/nats-operator:0.6.0 name=nats-operator
shipyard-service 1/1 1 1 23h shipyard-service keptn/shipyard-service:0.6.2 run=shipyard-service
shipyard-service-create-project-distributor 1/1 1 1 23h distributor keptn/distributor:0.6.2 run=distributor
shipyard-service-delete-project-distributor 1/1 1 1 23h distributor keptn/distributor:0.6.2 run=distributor
kubectl -n keptn-datastore get deployments -owide
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
mongodb 1/1 1 1 10m mongodb centos/mongodb-36-centos7:1 name=mongodb
mongodb-datastore 1/1 1 1 10m mongodb-datastore keptn/mongodb-datastore:0.6.1 run=mongodb-datastore
mongodb-datastore-distributor 1/1 1 1 10m distributor keptn/distributor:0.6.1 run=distributor
Inspecting the upgrader logs
To see the log of the upgrader, execute:
kubectl -n default logs job/upgrader
[keptn|DEBUG] [2020-04-29 11:40:40] Upgrading from Keptn 0.6.1 to 0.6.2
HTTP/1.1 200 OK
Cache-Control: max-age=300
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
Content-Type: text/plain; charset=utf-8
ETag: W/"a817203eb7991e9b61d143a173f0f380edcd1fe3fecce9aaae7389728d42d503"
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
Via: 1.1 varnish (Varnish/6.0)
X-GitHub-Request-Id: 964C:369C:96CB0:C05FA:5EA967B8
Content-Length: 1008
Accept-Ranges: bytes
Date: Wed, 29 Apr 2020 11:40:40 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-mdw17337-MDW
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1588160441.776654,VS0,VE183
Vary: Authorization,Accept-Encoding
Access-Control-Allow-Origin: *
X-Fastly-Request-ID: e0c4cb1362edbbeb8bb7ffbd55e50418a01c6c28
Expires: Wed, 29 Apr 2020 11:45:40 GMT
Source-Age: 0
HTTP/1.1 200 OK
Cache-Control: max-age=300
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
Content-Type: text/plain; charset=utf-8
ETag: W/"77f0748fec6e1b541317b92402d52fb4db2cfed2369f348b52320a6bb13719e3"
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
Via: 1.1 varnish (Varnish/6.0)
X-GitHub-Request-Id: 16C6:0D43:90CF5:B9F34:5EA967B5
Content-Length: 904
Accept-Ranges: bytes
Date: Wed, 29 Apr 2020 11:40:41 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-mdw17333-MDW
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1588160441.042223,VS0,VE95
Vary: Authorization,Accept-Encoding
Access-Control-Allow-Origin: *
X-Fastly-Request-ID: a42f1ed936f729fecfcebdfe1ab38a2df9de4663
Expires: Wed, 29 Apr 2020 11:45:41 GMT
Source-Age: 0
HTTP/1.1 200 OK
Cache-Control: max-age=300
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
Content-Type: text/plain; charset=utf-8
ETag: W/"7d9edebef9621c1fa618ecc77df265aabf2a1fc1957fa5244b4bb1b4f71c0a96"
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
Via: 1.1 varnish (Varnish/6.0)
X-GitHub-Request-Id: D612:0D43:90CFB:B9F62:5EA967B9
Content-Length: 18013
Accept-Ranges: bytes
Date: Wed, 29 Apr 2020 11:40:41 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-pwk4977-PWK
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1588160441.236350,VS0,VE588
Vary: Authorization,Accept-Encoding
Access-Control-Allow-Origin: *
X-Fastly-Request-ID: a59e0d3b5833318503811f12cec31cf8b626b3a5
Expires: Wed, 29 Apr 2020 11:45:41 GMT
Source-Age: 0
HTTP/1.1 200 OK
Cache-Control: max-age=300
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
Content-Type: text/plain; charset=utf-8
ETag: W/"64e8ef598d0f1272774d55539c1c9e39e8bbf0c665ccb5125dba54fe55226206"
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
Via: 1.1 varnish (Varnish/6.0)
X-GitHub-Request-Id: FF32:4894:9E22E:C999F:5EA967B9
Content-Length: 2060
Accept-Ranges: bytes
Date: Wed, 29 Apr 2020 11:40:42 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-mdw17382-MDW
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1588160442.899229,VS0,VE182
Vary: Authorization,Accept-Encoding
Access-Control-Allow-Origin: *
X-Fastly-Request-ID: d81c48694b33d5dec8183a734e7aaa05d454f1ca
Expires: Wed, 29 Apr 2020 11:45:42 GMT
Source-Age: 0
HTTP/1.1 200 OK
Cache-Control: max-age=300
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
Content-Type: text/plain; charset=utf-8
ETag: W/"739bb6ce977407266fe6859f8315945634fb8637b014906f8d7eab707944563b"
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
Via: 1.1 varnish (Varnish/6.0)
X-GitHub-Request-Id: 8F82:1DD2:98733:C3358:5EA967BA
Content-Length: 4381
Accept-Ranges: bytes
Date: Wed, 29 Apr 2020 11:40:42 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-pwk4947-PWK
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1588160442.177454,VS0,VE482
Vary: Authorization,Accept-Encoding
Access-Control-Allow-Origin: *
X-Fastly-Request-ID: f11ddeca5f000dd7b5d228edd95b6ce1eb378acc
Expires: Wed, 29 Apr 2020 11:45:42 GMT
Source-Age: 0
HTTP/1.1 200 OK
Cache-Control: max-age=300
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
Content-Type: text/plain; charset=utf-8
ETag: W/"565ee73e3f155e499a9e68d89acd0981a051a9a07afcf423bd8c2c7fc2ab8b2a"
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
Via: 1.1 varnish (Varnish/6.0)
X-GitHub-Request-Id: AD94:4EC0:1DB4F:2529B:5EA967BA
Content-Length: 3876
Accept-Ranges: bytes
Date: Wed, 29 Apr 2020 11:40:42 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-mdw17375-MDW
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1588160443.732970,VS0,VE101
Vary: Authorization,Accept-Encoding
Access-Control-Allow-Origin: *
X-Fastly-Request-ID: abfca144d95a308587148d009e3c466a42806f49
Expires: Wed, 29 Apr 2020 11:45:42 GMT
Source-Age: 0
HTTP/1.1 200 OK
Cache-Control: max-age=300
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
Content-Type: text/plain; charset=utf-8
ETag: W/"6c4d9db74de5ac2df990abe19a895836e128b0488dfa9c221e14b2fd3c804589"
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
Via: 1.1 varnish (Varnish/6.0)
X-GitHub-Request-Id: 229E:5B8B:933BA:BC864:5EA967B9
Content-Length: 533
Accept-Ranges: bytes
Date: Wed, 29 Apr 2020 11:40:43 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-mdw17379-MDW
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1588160443.908553,VS0,VE172
Vary: Authorization,Accept-Encoding
Access-Control-Allow-Origin: *
X-Fastly-Request-ID: 16a56fd2e3c230450502aaf18f8c0c76a0831dca
Expires: Wed, 29 Apr 2020 11:45:43 GMT
Source-Age: 0
HTTP/1.1 200 OK
Cache-Control: max-age=300
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
Content-Type: text/plain; charset=utf-8
ETag: W/"466ac509d5792ebc60035c573b98627b30ff730f9616bca60d96e050e49ffb42"
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
Via: 1.1 varnish (Varnish/6.0)
X-GitHub-Request-Id: A3EE:1DD1:49C1A:60233:5EA967B9
Content-Length: 579
Accept-Ranges: bytes
Date: Wed, 29 Apr 2020 11:40:43 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-mdw17376-MDW
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1588160443.155960,VS0,VE87
Vary: Authorization,Accept-Encoding
Access-Control-Allow-Origin: *
X-Fastly-Request-ID: f4f04812d631d76bbfd21b018709e72ad2964501
Expires: Wed, 29 Apr 2020 11:45:43 GMT
Source-Age: 0
HTTP/1.1 200 OK
Cache-Control: max-age=300
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
Content-Type: text/plain; charset=utf-8
ETag: W/"aa38d7820269287dde8a4b543aca9d44685d5b5885d1d368dad12d23fa428baf"
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
Via: 1.1 varnish (Varnish/6.0)
X-GitHub-Request-Id: 8A54:416B:4D9C4:65343:5EA967B8
Content-Length: 967
Accept-Ranges: bytes
Date: Wed, 29 Apr 2020 11:40:43 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-mdw17382-MDW
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1588160443.321985,VS0,VE107
Vary: Authorization,Accept-Encoding
Access-Control-Allow-Origin: *
X-Fastly-Request-ID: b6efbe76c22b376e59d09606da50df5836629b4c
Expires: Wed, 29 Apr 2020 11:45:43 GMT
Source-Age: 0
HTTP/1.1 200 OK
Cache-Control: max-age=300
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
Content-Type: text/plain; charset=utf-8
ETag: W/"90ccf47f72e9bb8a747cd91094f751e10c113eecd9e83890fe713399d6cdd475"
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
Via: 1.1 varnish (Varnish/6.0)
X-GitHub-Request-Id: 1696:147C:1DBAE:24E56:5EA967BA
Content-Length: 854
Accept-Ranges: bytes
Date: Wed, 29 Apr 2020 11:40:43 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-pwk4959-PWK
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1588160444.506694,VS0,VE87
Vary: Authorization,Accept-Encoding
Access-Control-Allow-Origin: *
X-Fastly-Request-ID: 1da9f13b299021d793898c561f6ae46a112d2c6a
Expires: Wed, 29 Apr 2020 11:45:43 GMT
Source-Age: 0
[keptn|DEBUG] [2020-04-29 11:40:43] Check if Keptn 0.6.1 is currently installed
[keptn|DEBUG] [2020-04-29 11:40:43] Updating Keptn core.
configmap/api-nginx-config created
deployment.apps/api-gateway-nginx created
service/api-gateway-nginx created
deployment.apps/api-service created
service/api-service created
deployment.apps/bridge configured
service/bridge unchanged
deployment.apps/eventbroker-go configured
service/event-broker unchanged
deployment.apps/helm-service configured
service/helm-service unchanged
deployment.apps/helm-service-service-create-distributor configured
deployment.apps/shipyard-service configured
service/shipyard-service unchanged
deployment.apps/shipyard-service-create-project-distributor configured
deployment.apps/shipyard-service-delete-project-distributor configured
persistentvolumeclaim/configuration-volume configured
deployment.apps/configuration-service configured
service/configuration-service unchanged
deployment.apps/lighthouse-service configured
service/lighthouse-service unchanged
deployment.apps/lighthouse-service-distributor configured
deployment.extensions "api" deleted
service "api" deleted
Error from server (NotFound): namespaces "openshift" not found
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
gatekeeper-service ClusterIP 10.72.4.71 <none> 8080/TCP 6m9s
[keptn|DEBUG] [2020-04-29 11:40:47] Full installation detected. Upgrading CD and CO services
deployment.apps/gatekeeper-service configured
service/gatekeeper-service unchanged
deployment.apps/gatekeeper-service-evaluation-done-distributor configured
deployment.apps/helm-service-configuration-change-distributor configured
deployment.apps/jmeter-service configured
service/jmeter-service unchanged
deployment.apps/jmeter-service-deployment-distributor configured
deployment.apps/wait-service configured
service/wait-service unchanged
deployment.apps/wait-service-deployment-distributor configured
deployment.apps/remediation-service configured
service/remediation-service unchanged
deployment.apps/remediation-service-problem-distributor configured
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 533 100 533 0 0 6126 0 --:--:-- --:--:-- --:--:-- 6126
virtualservice.networking.istio.io/api configured
destinationrule.networking.istio.io/api-gateway-nginx created
Error from server (NotFound): services "dynatrace-service" not found
Error from server (NotFound): services "dynatrace-sli-service" not found
Error from server (NotFound): services "prometheus-service" not found
Error from server (NotFound): services "prometheus-sli-service" not found
Error from server (NotFound): services "servicenow-service" not found
Note: The messages at the end of the log output, such as Error from server (NotFound): services "dynatrace-service" not found
does not mean that the upgrade has not been successful.
This message simply means that the respective service, e.g. the dynatrace-service has not been installed in your cluster in the previous Keptn version.
If the service has indeed been deployed previously, it will be updated to the latest compatible version.
Upgrade didn’t work, what to do next?
Please create a new bug report and provide us more information (log output, etc…), e.g.:
kubectl -n default logs job/upgrader
kubectl get pods -n keptn
kubectl -n keptn get deployments -owide
kubectl get pods -n keptn-datastore
kubectl -n keptn-datastore get deployments -owide
To download and install the Keptn CLI for version 0.6.1, please refer to the Install Keptn CLI section.
To upgrade your Keptn installation from 0.6.0 to 0.6.1, you can deploy a Kubernetes Job that will take care of updating all components to the 0.6.1 release. Please verify that you are connected to the correct Kubernetes cluster before deploying the upgrading job with the next command:
kubectl -n default delete job upgrader
kubectl apply -f https://raw.githubusercontent.com/keptn/keptn/0.6.1/upgrade-060-061/upgrade-job.yaml
kubectl -n default get job
NAME COMPLETIONS DURATION AGE
upgrader 1/1 17s 20h
When the job is completed, your Keptn version has been updated to 0.6.1.
Verifying that the upgrade worked
To verify that the upgrade process worked, please check the images and their tags using kubectl
as described below.
Before the upgrade:
kubectl -n keptn get deployments -owide
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
api 1/1 1 1 4h25m api keptn/api:0.6.0 run=api
bridge 1/1 1 1 4h25m bridge keptn/bridge2:20200308.0859 run=bridge
configuration-service 1/1 1 1 4h25m configuration-service keptn/configuration-service:20200308.0859 run=configuration-service
eventbroker-go 1/1 1 1 4h25m eventbroker-go keptn/eventbroker-go:0.6.0 run=eventbroker-go
gatekeeper-service 1/1 1 1 4h24m gatekeeper-service keptn/gatekeeper-service:0.6.0 run=gatekeeper-service
gatekeeper-service-evaluation-done-distributor 1/1 1 1 4h24m distributor keptn/distributor:0.6.0 run=distributor
helm-service 1/1 1 1 4h25m helm-service keptn/helm-service:0.6.0 run=helm-service
helm-service-configuration-change-distributor 1/1 1 1 4h24m distributor keptn/distributor:0.6.0 run=distributor
helm-service-service-create-distributor 1/1 1 1 4h25m distributor keptn/distributor:0.6.0 run=distributor
jmeter-service 1/1 1 1 4h24m jmeter-service keptn/jmeter-service:0.6.0 run=jmeter-service
jmeter-service-deployment-distributor 1/1 1 1 4h24m distributor keptn/distributor:0.6.0 run=distributor
lighthouse-service 1/1 1 1 4h24m lighthouse-service keptn/lighthouse-service:0.6.0 run=lighthouse-service
lighthouse-service-get-sli-done-distributor 1/1 1 1 4h24m distributor keptn/distributor:0.6.0 run=distributor
lighthouse-service-start-evaluation-distributor 1/1 1 1 4h24m distributor keptn/distributor:0.6.0 run=distributor
lighthouse-service-tests-finished-distributor 1/1 1 1 4h24m distributor keptn/distributor:0.6.0 run=distributor
nats-operator 1/1 1 1 4h25m nats-operator connecteverything/nats-operator:0.6.0 name=nats-operator
prometheus-service 1/1 1 1 27m prometheus-service keptn/prometheus-service:0.3.1 run=prometheus-service
prometheus-service-monitoring-configure-distributor 1/1 1 1 27m distributor keptn/distributor:0.5.0 run=distributor
prometheus-sli-service 1/1 1 1 24m prometheus-sli-service keptn/prometheus-sli-service:0.2.0 run=prometheus-sli-service
prometheus-sli-service-monitoring-configure-distributor 1/1 1 1 24m distributor keptn/distributor:0.5.0 run=distributor
remediation-service 1/1 1 1 4h24m remediation-service keptn/remediation-service:0.6.0 run=remediation-service
remediation-service-problem-distributor 1/1 1 1 4h24m distributor keptn/distributor:0.6.0 run=distributor
shipyard-service 1/1 1 1 4h25m shipyard-service keptn/shipyard-service:0.6.0 run=shipyard-service
shipyard-service-create-project-distributor 1/1 1 1 4h25m distributor keptn/distributor:0.6.0 run=distributor
shipyard-service-delete-project-distributor 1/1 1 1 4h25m distributor keptn/distributor:0.6.0 run=distributor
wait-service 1/1 1 1 4h24m wait-service keptn/wait-service:0.6.0 run=wait-service
wait-service-deployment-distributor 1/1 1 1 4h24m distributor keptn/distributor:0.6.0 run=distributor
kubectl -n keptn-datastore get deployments -owide
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
mongodb 1/1 1 1 4h25m mongodb centos/mongodb-36-centos7:1 name=mongodb
mongodb-datastore 1/1 1 1 4h25m mongodb-datastore keptn/mongodb-datastore:20200308.0859 run=mongodb-datastore
mongodb-datastore-distributor 1/1 1 1 4h25m distributor keptn/distributor:0.6.0 run=distributor
After the upgrade
kubectl -n keptn get deployments -owide
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
api 1/1 1 1 4h39m api keptn/api:0.6.1 run=api
bridge 1/1 1 1 4h39m bridge keptn/bridge2:0.6.1 run=bridge
configuration-service 1/1 1 1 4h39m configuration-service keptn/configuration-service:0.6.1 run=configuration-service
eventbroker-go 1/1 1 1 4h39m eventbroker-go keptn/eventbroker-go:0.6.1 run=eventbroker-go
gatekeeper-service 1/1 1 1 4h39m gatekeeper-service keptn/gatekeeper-service:0.6.1 run=gatekeeper-service
gatekeeper-service-evaluation-done-distributor 1/1 1 1 4h39m distributor keptn/distributor:0.6.1 run=distributor
helm-service 1/1 1 1 4h39m helm-service keptn/helm-service:0.6.1 run=helm-service
helm-service-configuration-change-distributor 1/1 1 1 4h39m distributor keptn/distributor:0.6.1 run=distributor
helm-service-service-create-distributor 1/1 1 1 4h39m distributor keptn/distributor:0.6.1 run=distributor
jmeter-service 1/1 1 1 4h39m jmeter-service keptn/jmeter-service:0.6.1 run=jmeter-service
jmeter-service-deployment-distributor 1/1 1 1 4h39m distributor keptn/distributor:0.6.1 run=distributor
lighthouse-service 1/1 1 1 4h39m lighthouse-service keptn/lighthouse-service:0.6.1 run=lighthouse-service
lighthouse-service-distributor 1/1 1 1 72s distributor keptn/distributor:0.6.1 run=distributor
nats-operator 1/1 1 1 4h40m nats-operator connecteverything/nats-operator:0.6.0 name=nats-operator
prometheus-service 1/1 1 1 41m prometheus-service keptn/prometheus-service:0.3.1 run=prometheus-service
prometheus-service-monitoring-configure-distributor 1/1 1 1 41m distributor keptn/distributor:0.5.0 run=distributor
prometheus-sli-service 1/1 1 1 38m prometheus-sli-service keptn/prometheus-sli-service:0.2.1 run=prometheus-sli-service
prometheus-sli-service-monitoring-configure-distributor 1/1 1 1 38m distributor keptn/distributor:latest run=distributor
remediation-service 1/1 1 1 4h39m remediation-service keptn/remediation-service:0.6.1 run=remediation-service
remediation-service-problem-distributor 1/1 1 1 4h39m distributor keptn/distributor:0.6.1 run=distributor
shipyard-service 1/1 1 1 4h39m shipyard-service keptn/shipyard-service:0.6.1 run=shipyard-service
shipyard-service-create-project-distributor 1/1 1 1 4h39m distributor keptn/distributor:0.6.1 run=distributor
shipyard-service-delete-project-distributor 1/1 1 1 4h39m distributor keptn/distributor:0.6.1 run=distributor
wait-service 1/1 1 1 4h39m wait-service keptn/wait-service:0.6.1 run=wait-service
wait-service-deployment-distributor 1/1 1 1 4h39m distributor keptn/distributor:0.6.1 run=distributor
kubectl -n keptn-datastore get deployments -owide
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
mongodb 1/1 1 1 2m41s mongodb centos/mongodb-36-centos7:1 name=mongodb
mongodb-datastore 1/1 1 1 4h40m mongodb-datastore keptn/mongodb-datastore:0.6.1 run=mongodb-datastore
mongodb-datastore-distributor 1/1 1 1 4h40m distributor keptn/distributor:0.6.1 run=distributor
Inspecting the upgrader logs
To see the log of the upgrader, execute:
kubectl -n default logs job/upgrader
The expected log output should look as follows:
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
ETag: W/"62410fda329f5beff601663f21cf70e7ef22ba0d72201a71e4583742d5a894ce"
Cache-Control: max-age=300
X-Geo-Block-List:
Via: 1.1 varnish (Varnish/6.0)
X-GitHub-Request-Id: EA38:03B6:2FB4D:40878:5E68D9A4
Content-Length: 185
Accept-Ranges: bytes
Date: Wed, 11 Mar 2020 12:29:27 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-mdw17332-MDW
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1583929768.602904,VS0,VE141
Vary: Authorization,Accept-Encoding
Access-Control-Allow-Origin: *
X-Fastly-Request-ID: 9dd59ca82cfb8b58daeccf1c941cda68f0c41559
Expires: Wed, 11 Mar 2020 12:34:27 GMT
Source-Age: 0
HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
ETag: W/"bd599b4f1a452ac2f017b03fefbc1f290c0ee9d8c698fd47462521a0f4d514bc"
Cache-Control: max-age=300
X-Geo-Block-List:
Via: 1.1 varnish (Varnish/6.0)
X-GitHub-Request-Id: 14EA:2261:5CD15:7C5E6:5E68D9A7
Content-Length: 931
Accept-Ranges: bytes
Date: Wed, 11 Mar 2020 12:29:27 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-mdw17354-MDW
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1583929768.815580,VS0,VE119
Vary: Authorization,Accept-Encoding
Access-Control-Allow-Origin: *
X-Fastly-Request-ID: 5a6a439ec8e8dd3baa8eb976e3ec4c7311afb3a6
Expires: Wed, 11 Mar 2020 12:34:27 GMT
Source-Age: 0
HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
ETag: W/"73130e0bcf52bb8b5de6a31d5b71398b6872b796bd967581e330d5dfa963eb4c"
Cache-Control: max-age=300
X-Geo-Block-List:
Via: 1.1 varnish (Varnish/6.0)
X-GitHub-Request-Id: BAA4:61F0:329AB:43B6A:5E68D9A6
Content-Length: 185
Accept-Ranges: bytes
Date: Wed, 11 Mar 2020 12:29:28 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-mdw17347-MDW
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1583929768.007367,VS0,VE122
Vary: Authorization,Accept-Encoding
Access-Control-Allow-Origin: *
X-Fastly-Request-ID: db1cbe1861e8c02f6915c6cf08276cf3583b3543
Expires: Wed, 11 Mar 2020 12:34:28 GMT
Source-Age: 0
HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
ETag: W/"cf93aec85784b32ea6db38007e73173e45cc358e1c6fea212655965d3c55a926"
Cache-Control: max-age=300
X-Geo-Block-List:
Via: 1.1 varnish (Varnish/6.0)
X-GitHub-Request-Id: 7F68:7400:66E52:87C3C:5E68D9A8
Content-Length: 9180
Accept-Ranges: bytes
Date: Wed, 11 Mar 2020 12:29:28 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-mdw17346-MDW
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1583929768.229165,VS0,VE109
Vary: Authorization,Accept-Encoding
Access-Control-Allow-Origin: *
X-Fastly-Request-ID: 4dbedcfa191cbe06b8db7314ef1f6cac911dcabc
Expires: Wed, 11 Mar 2020 12:34:28 GMT
Source-Age: 0
HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
ETag: W/"92d5830bbf6cdb6063dbd6b21e338603a2eb9b17c7b08a9a8888bc54875abf8f"
Cache-Control: max-age=300
X-Geo-Block-List:
Via: 1.1 varnish (Varnish/6.0)
X-GitHub-Request-Id: E6C6:26D5:A1F2:EBC2:5E68D9A7
Content-Length: 2060
Accept-Ranges: bytes
Date: Wed, 11 Mar 2020 12:29:28 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-mdw17338-MDW
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1583929768.410886,VS0,VE150
Vary: Authorization,Accept-Encoding
Access-Control-Allow-Origin: *
X-Fastly-Request-ID: c40bed9f09e89a884ccfb50b7a06e01992fdfe29
Expires: Wed, 11 Mar 2020 12:34:28 GMT
Source-Age: 0
HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
ETag: W/"c03cd2606cf51c583f102cd41e5fcf78886ab8df91a4f159833d8b7c0cc02b60"
Cache-Control: max-age=300
X-Geo-Block-List:
Via: 1.1 varnish (Varnish/6.0)
X-GitHub-Request-Id: 4CF2:1FEB:5D0AD:7C5E8:5E68D9A7
Content-Length: 4381
Accept-Ranges: bytes
Date: Wed, 11 Mar 2020 12:29:28 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-mdw17345-MDW
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1583929769.632244,VS0,VE100
Vary: Authorization,Accept-Encoding
Access-Control-Allow-Origin: *
X-Fastly-Request-ID: 592cdff071a491a9b6dc3f432e711a19273d45ea
Expires: Wed, 11 Mar 2020 12:34:28 GMT
Source-Age: 0
HTTP/1.1 200 OK
Content-Type: text/plain; charset=utf-8
Content-Security-Policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
Strict-Transport-Security: max-age=31536000
X-Content-Type-Options: nosniff
X-Frame-Options: deny
X-XSS-Protection: 1; mode=block
ETag: W/"87e9df799f257992b7526b47c65481c0601847caa5c31fba9308f84a8a8e59e6"
Cache-Control: max-age=300
X-Geo-Block-List:
Via: 1.1 varnish (Varnish/6.0)
X-GitHub-Request-Id: C12E:6C2D:66F73:88323:5E68D9A7
Content-Length: 3876
Accept-Ranges: bytes
Date: Wed, 11 Mar 2020 12:29:28 GMT
Via: 1.1 varnish
Connection: keep-alive
X-Served-By: cache-mdw17343-MDW
X-Cache: MISS, MISS
X-Cache-Hits: 0, 0
X-Timer: S1583929769.802585,VS0,VE84
Vary: Authorization,Accept-Encoding
Access-Control-Allow-Origin: *
X-Fastly-Request-ID: ffb1f45f5f9b495b53c9737294bdcceaab6b18bc
Expires: Wed, 11 Mar 2020 12:34:28 GMT
Source-Age: 0
[keptn|DEBUG] [2020-03-11 12:29:28] Check if Keptn 0.6.0 is currently installed
[keptn|DEBUG] [2020-03-11 12:29:29] Exporting events from previous Keptn installation.
2020-03-11T12:29:29.345+0000 connected to: localhost
2020-03-11T12:29:29.369+0000 exported 208 records
[keptn|DEBUG] [2020-03-11 12:29:29] Updating MongoDB.
deployment.extensions "mongodb" deleted
persistentvolumeclaim/mongodata configured
deployment.apps/mongodb created
service/mongodb configured
Waiting for deployment "mongodb" rollout to finish: 0 of 1 updated replicas are available...
deployment "mongodb" successfully rolled out
[keptn|DEBUG] [2020-03-11 12:29:34] Deployment mongodb in keptn-datastore namespace available.
deployment "mongodb" successfully rolled out
[keptn|DEBUG] [2020-03-11 12:29:34] Deployment mongodb-datastore in keptn-datastore namespace available.
deployment "mongodb" successfully rolled out
[keptn|DEBUG] [2020-03-11 12:29:34] Deployment mongodb-datastore-distributor in keptn-datastore namespace available.
[keptn|DEBUG] [2020-03-11 12:29:34] Importing events from previous installation to updated MongoDB.
2020-03-11T12:29:37.691+0000 [........................] keptn.events 0B/110KB (0.0%)
2020-03-11T12:29:37.742+0000 connected to: localhost
2020-03-11T12:29:37.768+0000 [########################] keptn.events 110KB/110KB (100.0%)
2020-03-11T12:29:37.768+0000 imported 208 documents
[keptn|DEBUG] [2020-03-11 12:29:37] Updating mongodb-datastore.
deployment.extensions/mongodb-datastore image updated
deployment.extensions/mongodb-datastore-distributor image updated
[keptn|DEBUG] [2020-03-11 12:29:37] Updating Keptn core.
deployment.apps/api configured
service/api unchanged
deployment.apps/bridge configured
service/bridge unchanged
deployment.apps/eventbroker-go configured
service/event-broker unchanged
deployment.apps/helm-service configured
service/helm-service unchanged
deployment.apps/helm-service-service-create-distributor configured
deployment.apps/shipyard-service configured
service/shipyard-service unchanged
deployment.apps/shipyard-service-create-project-distributor configured
deployment.apps/shipyard-service-delete-project-distributor configured
persistentvolumeclaim/configuration-volume configured
deployment.apps/configuration-service configured
service/configuration-service unchanged
deployment.apps/lighthouse-service configured
service/lighthouse-service unchanged
deployment.apps/lighthouse-service-distributor created
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
gatekeeper-service ClusterIP 10.48.2.161 <none> 8080/TCP 7d20h
[keptn|DEBUG] [2020-03-11 12:29:40] Full installation detected. Upgrading CD and CO services
deployment.apps/gatekeeper-service configured
service/gatekeeper-service unchanged
deployment.apps/gatekeeper-service-evaluation-done-distributor configured
deployment.apps/helm-service-configuration-change-distributor configured
deployment.apps/jmeter-service configured
service/jmeter-service unchanged
deployment.apps/jmeter-service-deployment-distributor configured
deployment.apps/wait-service configured
service/wait-service unchanged
deployment.apps/wait-service-deployment-distributor configured
deployment.apps/remediation-service configured
service/remediation-service unchanged
deployment.apps/remediation-service-problem-distributor configured
Error from server (NotFound): services "dynatrace-service" not found
Error from server (NotFound): services "dynatrace-sli-service" not found
Error from server (NotFound): services "prometheus-service" not found
Error from server (NotFound): services "prometheus-sli-service" not found
Error from server (NotFound): services "servicenow-service" not found
Note: The messages at the end of the log output, such as Error from server (NotFound): services "dynatrace-service" not found
does not mean that the upgrade has not been successful.
This message simply means that the respective service, e.g. the dynatrace-service has not been installed in your cluster in the previous Keptn version.
If the service has indeed been deployed previously, it will be updated to the latest compatible version.
Upgrade didn’t work, what to do next?
Please create a new bug report and provide us more information (log output, etc…), e.g.:
kubectl -n default logs job/upgrader
kubectl get pods -n keptn
kubectl -n keptn get deployments -owide
kubectl get pods -n keptn-datastore
kubectl -n keptn-datastore get deployments -owide
When we introduced the new lighthouse-service with custom SLIs in 0.6.0.beta we got a lot of feedback. We value this feedback, and we wanted to thank all our beta testers for their extensive testing and feedback provided by providing an upgrade guide from 0.6.0.beta(2) to 0.6.0.
For Keptn 0.6.0.beta(2), custom SLIs were configured by creating a Kubernetes ConfigMap for Prometheus that looked like this:
apiVersion: v1
data:
custom-queries: |
cpu_usage: avg(rate(container_cpu_usage_seconds_total{namespace="$PROJECT-$STAGE",pod_name=~"$SERVICE-primary-.*"}[5m]))
response_time_p95: histogram_quantile(0.95, sum by(le) (rate(http_response_time_milliseconds_bucket{handler="ItemsController.addToCart",job="$SERVICE-$PROJECT-$STAGE"}[$DURATION_SECONDS])))
kind: ConfigMap
metadata:
name: prometheus-sli-config-sockshop
namespace: keptn
With Keptn 0.6.0, custom SLIs need to be added for the project/service/stage by using keptn add-resource. With this change in mind, we also had to slightly adapt the format of the file. Above file would now look as follows:
---
spec_version: '1.0'
indicators:
cpu_usage: avg(rate(container_cpu_usage_seconds_total{namespace="$PROJECT-$STAGE",pod_name=~"$SERVICE-primary-.*"}[5m]))
response_time_p95: histogram_quantile(0.95, sum by(le) (rate(http_response_time_milliseconds_bucket{handler="ItemsController.addToCart",job="$SERVICE-$PROJECT-$STAGE"}[$DURATION_SECONDS])))
To migrate from the old format to the new format, you can:
kubectl get configmap -n keptn prometheus-sli-config-sockshop -oyaml
custom-queries: |
section (without custom-queries: |
)Create a new file called sli.yaml
with the following content:
---
spec_version: '1.0'
indicators:
# paste-content-here
The newly created file needs to be added to as follows:
keptn add-resource --project=sockshop --stage=staging --service=carts --resource=sli.yaml --resourceUri=prometheus/sli.yaml
keptn add-resource --project=sockshop --stage=staging --service=carts --resource=sli.yaml --resourceUri=dynatrace/sli.yaml
If you want to stay compatible, you need to perform the following steps:
Delete the existing gateways that are relevant for Keptn namespace using:
kubectl delete gateway keptn-gateway -n keptn
Apply the new public-gateway in namespace istio-system using:
kubectl apply -f https://raw.githubusercontent.com/keptn/keptn/release-0.6.0/installer/manifests/istio/public-gateway.yaml
Edit the VirtualService for the Keptn api service such that it uses public-gateway.istio-system
instead of keptn-gateway
:
kubectl get vs/api -n keptn -o yaml | sed 's/keptn-gateway/public-gateway.istio-system/g' | kubectl replace -f -
Verify that you can still access the API via a browser.
Adapt all VirtualServices of onboarded services to use the public-gateway.istio-system
(e.g., by sending a new-artifact
event for all those services which will be handled by the updated helm-service, or by manually editing the virtual services)
(Optional) Delete all generated gateways (in all namespaces of the project-stages) using: kubectl delete gateways -n $project-$stage
for every $project and $stage)
Please verify that you are connected to the correct Kubernetes cluster before performing this operation.
Update services in keptn-datastore namespace
kubectl -n keptn-datastore set image deployment/mongodb-datastore mongodb-datastore=keptn/mongodb-datastore:0.6.0 --record
kubectl -n keptn-datastore set image deployment/mongodb-datastore-distributor distributor=keptn/distributor:0.6.0 --record
Update services in keptn namespace
kubectl apply -f https://raw.githubusercontent.com/keptn/keptn/release-0.6.0/installer/manifests/keptn/core.yaml
kubectl apply -f https://raw.githubusercontent.com/keptn/keptn/release-0.6.0/installer/manifests/keptn/continuous-deployment.yaml
kubectl apply -f https://raw.githubusercontent.com/keptn/keptn/release-0.6.0/installer/manifests/keptn/quality-gates.yaml
kubectl apply -f https://raw.githubusercontent.com/keptn/keptn/release-0.6.0/installer/manifests/keptn/continuous-operations.yaml
Update keptn-contrib services
Please verify that you are connected to the correct Kubernetes cluster before performing this operation.
Also, only update the services if you have them installed:
kubectl apply -f https://raw.githubusercontent.com/keptn-contrib/dynatrace-service/release-0.6.0/deploy/manifests/dynatrace-service/dynatrace-service.yaml
kubectl apply -f https://raw.githubusercontent.com/keptn-contrib/dynatrace-sli-service/release-0.3.0/deploy/service.yaml
kubectl apply -f https://raw.githubusercontent.com/keptn-contrib/prometheus-service/release-0.3.1/deploy/service.yaml
kubectl apply -f https://raw.githubusercontent.com/keptn-contrib/prometheus-sli-service/release-0.2.0/deploy/service.yaml
kubectl -n keptn set image deployment/notification-service notification-service=keptncontrib/notification-service:0.3.0 --record
For full details on what has changed from Keptn 0.5.x to Keptn 0.6.0 please refer to the release notes within the Keptn repository.
Unfortunatley, there are multiple breaking changes from Keptn 0.5.x to Keptn 0.6.x that make it impossible to provide an upgrade script from Keptn 0.5.x to Keptn 0.6.x. These breaking changes include:
Instead of an upgrade script, we will highlight the most important changes that you need to do to get your services onboarded with a fresh Keptn 0.6.0 installation.
Note: Advise for migrating from Keptn 0.6.0.beta(2) to 0.6.0 is listed above.
Several changes to Helm charts have been made. If you want to stay compatible, please adapt your Helm charts accordingly.
replicas
in the deployment manifest. Therefore, set replicas: {{ .Values.replicaCount }}
instead of a fixed value, e.g.: replicas: 1
: replicas: {{ .Values.replicaCount }}
See example: https://github.com/keptn/examples/blob/release-0.6.0/onboarding-carts/carts/templates/deployment.yaml#L7
values.yaml
for each service: replicaCount
.See example: https://github.com/keptn/examples/blob/release-0.6.0/onboarding-carts/carts/values.yaml
DT_TAGS
and introduced DT_CUSTOM_PROP
: - name: DT_CUSTOM_PROP
value: "keptn_project={{ .Values.keptn.project }} keptn_service={{ .Values.keptn.service }} keptn_stage={{ .Values.keptn.stage }} keptn_deployment={{ .Values.keptn.deployment }}"
See example: https://github.com/keptn/examples/blob/release-0.6.0/onboarding-carts/carts/templates/deployment.yaml#L29-L30
Pitometer was removed including the support for PerfSpec files. Instead, a new service called lighthouse has been introduced. Please follow the Deployment with Quality Gates tutorial to learn more about the new file formats used for quality gates.