Thursday 1 March 2018

IBM Cloud Private - Helm via the GUI - Not playing nicely

I had an interesting glitch with Helm on IBM Cloud Private earlier.

For some reason, the Helm UI, accessible via the ICP Console: -


seemed to get out-of-sync with reality, in terms of Helm repositories.

Whilst I could see multiple repositories via the CLI: -

helm repo list

NAME       URL                                                             
stable     https://kubernetes-charts.storage.googleapis.com                
local      http://127.0.0.1:8879/charts                                    
ibm-charts https://raw.githubusercontent.com/IBM/charts/master/repo/stable/

when I went into the Catalog ( Catalog -> Helm Charts ) there was nowt there: -


and the repositories didn't show up via  Manage -> Helm Repositories  : -


I also saw this: -


when I tried to add a new repository.

However, I was able to add a repo using the Helm command line: -

I found a solution …..

Assuming that Helm was running as one of a small number of Docker containers, I checked ( on the Master/Boot node ): -

docker ps -a|grep -i helm|grep Up

d7ba0075a9a3        2cb2b0c0ca02                      "npm start"              5 hours ago         Up 5 hours                                      k8s_helmrepo_helmrepo-77dccffb66-9xwgd_kube-system_71bdb2d6-1bcb-11e8-ab0b-000c290f4d7f_26
25a17810ee7b        b72c1d4155b8                      "npm start"              5 hours ago         Up 19 minutes                                   k8s_helmapi_helm-api-5874f9d746-9qcjg_kube-system_7122aa29-1bcb-11e8-ab0b-000c290f4d7f_25
10647a5b7925        ibmcom/pause:3.0                  "/pause"                 5 hours ago         Up 5 hours                                      k8s_POD_helmrepo-77dccffb66-9xwgd_kube-system_71bdb2d6-1bcb-11e8-ab0b-000c290f4d7f_6
e47f5153f715        ibmcom/pause:3.0                  "/pause"                 5 hours ago         Up 5 hours                                      k8s_POD_helm-api-5874f9d746-9qcjg_kube-system_7122aa29-1bcb-11e8-ab0b-000c290f4d7f_6


and chose to restart the helm-api container that was actually running ( in status nom_start rather than /pause ): -

docker restart 25a17810ee7b

and monitored the logs: -

docker logs 25a17810ee7b -f

until I started seeing messages such as this: -

2018-03-01T17:11:01.426Z 'FINE' 'GET /healthcheck'
2018-03-01T17:11:01.428Z 'FINE' 'dbHealthcheck \nrepoName: ibm-charts\n'
2018-03-01T17:11:01.440Z 'FINE' 'getMessage ["statusCode",200] en '
2018-03-01T17:11:01.440Z 'FINE' 'loadMessages en'
GET /healthcheck 200 15.368 ms - 16
2018-03-01T17:11:10.117Z 'FINE' 'GET /healthcheck'
2018-03-01T17:11:10.118Z 'FINE' 'getMessage ["statusCode",200] en '
2018-03-01T17:11:10.118Z 'FINE' 'loadMessages en'
GET /healthcheck 200 0.902 ms - 16
2018-03-01T17:11:20.117Z 'FINE' 'GET /healthcheck'
2018-03-01T17:11:20.120Z 'FINE' 'getMessage ["statusCode",200] en '
2018-03-01T17:11:20.122Z 'FINE' 'loadMessages en'
GET /healthcheck 200 5.209 ms - 16


At that point, the repositories synced back up: -


and the Catalog caught up: -


So that's all good then.

The moral of the story ?

IBM Cloud Private is a container orchestration/management solution BUILT UPON CONTAINERS !

No comments:

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...