ICPのインストーラーからHelmチャートを取得する方法のメモ。
背景
ICPで使われているHelmチャートは基本的には以下のibm-chartsリポジトリから取得できる。
しかし名前がibmではじまらないチャートは上記サイトにない。
また、nginx-ingressのチャートはstableのリポジトリに存在するので、stableのリポジトリからICPにデプロイされているチャートと同じバージョンのnginx-ingress-0.13.0.tgz
をダウンロードしてみたが、ICPにデプロイされているチャートとは内容が異なっていた。
そこでインストール済みのICPの環境自体からチャートを取得する方法を調べた。オフライン環境でチャートを取得するのにも使える。
取得方法
イントーラーのdockerイメージ内の/addon
ディレクトリにチャートのファイルがあるのでそこからコピーできる。
何があるのかを確認。
# docker run --rm -v $(pwd):/data -e LICENSE=accept ibmcom/icp-inception:2.1.0.3-ee ls -l /addon/*
/addon/auth-apikeys:
total 4
-rw-rw-r-- 1 root root 2182 May 2 14:29 auth-apikeys-1.0.0.tgz
/addon/auth-idp:
total 8
-rw-rw-r-- 1 root root 7335 May 9 11:05 auth-idp-1.0.0.tgz
/addon/auth-pap:
total 4
-rw-rw-r-- 1 root root 2179 May 3 08:20 auth-pap-1.0.0.tgz
/addon/auth-pdp:
total 4
-rw-rw-r-- 1 root root 2484 May 9 12:36 auth-pdp-1.0.0.tgz
/addon/calico:
total 4
-rw-rw-r-- 1 root root 4054 Apr 27 09:42 calico-1.0.0.tgz
/addon/heapster:
total 4
-rw-rw-r-- 1 root root 1733 May 10 02:41 heapster-1.4.0.tgz
/addon/helm:
total 4
-rw-rw-r-- 1 root root 2659 Apr 20 00:31 helm-repo-1.0.0.tgz
/addon/helm-api:
total 8
-rw-rw-r-- 1 root root 6474 May 2 14:47 helm-api-1.0.0.tgz
/addon/ibm-custom-metrics-adapter:
total 8
-rw-rw-r-- 1 root root 6821 May 10 02:41 ibm-custom-metrics-adapter-0.2.1.tgz
/addon/icp-catalog-chart:
total 4
-rw-rw-r-- 1 root root 1545 Apr 16 17:45 icp-catalog-chart-0.1.2.tgz
/addon/icp-management-ingress:
total 4
-rw-r--r-- 1 root root 1935 Apr 13 09:42 icp-management-ingress-2.2.0.tgz
/addon/icp-mongodb:
total 20
-rw-rw-r-- 1 root root 19713 May 3 20:15 icp-mongodb-2.2.1.tgz
/addon/istio:
total 36
-rw-r--r-- 1 root root 36210 May 12 04:47 ibm-istio-0.7.1.tgz
/addon/kube-dns:
total 4
-rw-rw-r-- 1 root root 2142 May 10 02:41 kube-dns-1.0.0.tgz
/addon/logging:
total 32
-rw-rw-r-- 1 root root 28899 May 14 22:50 ibm-icplogging-1.0.0.tgz
/addon/mariadb:
total 4
-rw-rw-r-- 1 root root 3138 May 10 12:04 mariadb-10.1.16.tgz
/addon/metering:
total 8
-rw-rw-r-- 1 root root 4262 May 2 17:15 metering-1.0.3.tgz
/addon/metrics-server:
total 4
-rw-rw-r-- 1 root root 1886 May 10 02:41 metrics-server-0.2.1.tgz
/addon/monitoring:
total 52
-rw-rw-r-- 1 root root 52742 May 1 02:40 ibm-icpmonitoring-1.1.0.tgz
/addon/nginx-ingress:
total 4
-rw-rw-r-- 1 root root 2425 May 10 02:41 nginx-ingress-0.13.0.tgz
/addon/nsx-t:
total 8
-rw-rw-r-- 1 root root 5633 Apr 27 10:17 nsx-t-container-plugin-1.0.0.tgz
/addon/platform-api:
total 4
-rw-rw-r-- 1 root root 3586 Apr 19 21:44 platform-api-0.1.0.tgz
/addon/platform-ui:
total 4
-rw-rw-r-- 1 root root 1879 Apr 27 01:04 platform-ui-1.0.0.tgz
/addon/rescheduler:
total 4
-rw-rw-r-- 1 root root 1411 May 10 02:41 rescheduler-0.5.2.tgz
/addon/security-onboarding:
total 8
-rw-rw-r-- 1 root root 4755 May 10 09:54 security-onboarding-0.1.0.tgz
/addon/service-catalog:
total 8
-rw-rw-r-- 1 root root 6784 May 3 00:20 service-catalog-0.0.10.tgz
/addon/unified-router:
total 4
-rw-rw-r-- 1 root root 1647 May 10 02:41 unified-router-2.2.0.tgz
/addon/vulnerability-advisor:
total 32
-rw-r--r-- 1 root root 29271 May 14 05:52 vulnerability-advisor-1.2.1.tgz
#
カレントディレクトリーにコピー。
docker run --rm -v $(pwd):/data -e LICENSE=accept ibmcom/icp-inception:2.1.0.3-ee cp /addon/nginx-ingress/nginx-ingress-0.13.0.tgz /data
(おまけ)
stableからダウンロードしたものと比較。
# mv nginx-ingress-0.13.0.tgz nginx-ingress-0.13.0.tgz.icp
# 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/
# helm fetch stable/nginx-ingress --version 0.13.0
# ls -l nginx*
-rw-r--r--. 1 root root 11279 8月 22 16:51 nginx-ingress-0.13.0.tgz
-rw-r--r--. 1 root root 2425 8月 22 16:48 nginx-ingress-0.13.0.tgz.icp
#
ファイルサイズが違う。