helm version
åºåïŒ
$ helm version
Client: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
kubectl version
åºåïŒ
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.0", GitCommit:"641856db18352033a0d96dbc99153fa3b27298e5", GitTreeState:"clean", BuildDate:"2019-03-25T15:53:57Z", GoVersion:"go1.12.1", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.11", GitCommit:"637c7e288581ee40ab4ca210618a89a555b6e7e9", GitTreeState:"clean", BuildDate:"2018-11-26T14:25:46Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}
ã¯ã©ãŠããããã€ããŒ/ãã©ãããã©ãŒã ïŒAKSãGKEãMinikubeãªã©ïŒïŒ Amazon
äœãèµ·ãã£ãŠããïŒ
ããã€ãã®å£ããå±éã®åŸããã«ã¡ããïŒãŸãã¯ãã£ã©ãŒïŒãå£ããåŸç¶ã®ãã¹ãŠã®å±éïŒä¿®æ£ãããŠããããŸã å£ããŠãããã«é¢ä¿ãªãïŒã¯æ¬¡ã®ãšã©ãŒã§çµäºããŸãïŒ app-name has no deployed releases
åçŸæ¹æ³ïŒ
æã
ã¯æã£ãŠããŸã
spec:
revisionHistoryLimit: 1
ããããç§ã¯ããã¯é¢ä¿ãªããšæããŸãã
ãã¹aïŒ
ãã¹bïŒ
ããã«ã¡ã¯-å±éæ¹æ³ã«ã€ããŠããå°ã詳ããæããŠããã ããŸããïŒ äžãäžhelm upgrade --install
ã䜿ã£ãŠããŸããïŒ ãããããªãããããå£ãããšãã®å±éã®ç¶æ
ã¯äœã§ããïŒ helm ls
ïŒ-ããããããã¯Failed
ã§ããïŒ
ãã®å Žåã helm delete --purge <deployment>
ã§ããŸãããã¯ãã§ãã
ããã«ã¡ã¯ãæ
å ±ãäžè¶³ããŠãã¿ãŸããã
ã¯ãã helm upgrade --install
ãããŠãã¯ããå±éã¯Failed
æ°žä¹
ã«ãšã©ãŸããŸãã
æ®å¿µãªããã helm delete --purge <deployment>
ã¯ããã§ã¯ãŸã£ãããªãã·ã§ã³ã§ã¯ãããŸããã ãã®ãããæ¬çªãµãŒãã¹ãåé€ããããšã¯ã§ããŸãã:)
åé¡ã¯ããã«ã ã3åé£ç¶ããŠå€±æããåŸã«å埩ã§ããªãçç±ã§ãã
ãªãªãŒã¹ãåé€ããã«ããããœãŒãããå¯äžã®æ¹æ³ã¯--force
è¿œå ããŸã
--force
äœã«ïŒ helm upgrade --install
ïŒ
ã¯ãã®å Žåãäžèšã®åé¡ã¯å®éã«äºæ³ãããæ©èœã§ããããã¹ãŠã®å±éã§--force
ã䜿çšããå¿
èŠãããããšãæå³ããŸããïŒ -ã¯ãã®å Žåãå£ãããªãªãŒã¹ã匷å¶çã«ãããã€ããããšãæå³ããŸããïŒ
ã¯ãããã¡ããhelm upgrade --install
:)
ã¯ãããã¹ãŠã®å±éã§--force
ã䜿çšããå¿
èŠããããŸã
--force
ãå£ãããªãªãŒã¹ã匷å¶çã«ãããã€ããããšãæå³ããŸããïŒ -ã€ãŸããããããå£ããŠåžžã«åèµ·åããå Žåãå€ãããããåé€ããŠæ°ããããããã¹ã±ãžã¥ãŒã«ããŸããïŒ
--force force resource update through delete/recreate if needed
delete
æ¡ä»¶ãšã¯äœã§ããïŒ ãããã©ã®ããã«æ£ç¢ºã«æ©èœãããã詳ãã説æã§ããŸããïŒ èª¬æã¯ããã®ãããªéèŠãªãã©ã°ã«ã¯ééããªãçãããŸã-ç§ã¯ãããå
éšã§äœåãã®ããšãããããšãæåŸ
ããŠããŸãã
ãšããã§ãç§ã¯æ¬åœã«æ¬çªãµãŒãã¹ãåé€ããããªãã®ã§ã --force
ãã©ã°ã¯ç§ã«ãšã£ãŠãªãã·ã§ã³ã§ã¯ãããŸããã
æ¬åœã«åé¡ã§ã¯ãªããšæããŸããïŒ
ãšã©ãŒã¡ãã»ãŒãžã§ããééã£ãŠããŸãïŒ
app-name has no deployed releases
ããã¯ãå±éããããªãªãŒã¹ããŸã
ç¶æ
ã§ã¯ãªãããã«ããéã«Failed
ãšèµããã:(ãããä¿®æ£ããããšããªã-ç§ãæå³ãåºå®ããããšã«ãã£ãŠã ãã§ã¯ãªããéåžžã«å§ãŸãã«ãããããã®ã¯ããããå±éããŠã¿ãŠãã ãã
https://github.com/helm/helm/issues/3208ãåç §ããŠ
倧è³æã§ãã ç§ãã¡ã®ãããã¯ã·ã§ã³ã§ãåããšã©ãŒãçºçããŠããŸãã ãããã£ãŠããã£ãŒããåé€ããããšã¯ãªãã·ã§ã³ã§ã¯ãªããã€ã³ã¹ããŒã«ã匷å¶ããããšã¯å±éºãªããã§ãã ãã®ãšã©ãŒã¯Helm3ã§ãåŒãç¶ãçºçããŸãããã®ãããä¿®æ£ãŸãã¯ããå®å šãªåé¿çãå«ããããšããå§ãããŸãã
storage.goïŒ136ã®ãstatusãïŒãdeployedããåé€ããããšã§ä¿®æ£ã§ããŸã
åç §ïŒ https ïŒ
æéããããšãã«ãã«ãªã¯ãšã¹ããä¿®æ£ããŸãã
é
眮ãããŠããã³ãŒãã¯å
ã
æ£ãããã®ã§ããã ã¯ãšãªçµæããstatus: deployed
ãåé€ãããšãHelmã¯ãæå³ããªãçµæã«ã€ãªããå¯èœæ§ã®ããçŸåšã®ç¶æ
ã«é¢ä¿ãªããã¢ããã°ã¬ãŒãå
ã®ææ°ãªãªãŒã¹ãèŠã€ããŸãã ããã¯äžæçã«åé¡ãåé¿ããŸãããããã«å€§ããªåé¡ãåŒãèµ·ãããŸãã
ãã®ãã°ã«ééãããšãã«helm history
ã®åºåãæäŸã§ããã°ãããã¯åœ¹ã«ç«ã¡ãŸãã ãªãªãŒã¹å
åž³ã«ããããã€æžã¿ãç¶æ
ã®ãªãªãŒã¹ããªãå Žåã«ãã©ã®ããã«çµäºããããå€æããæ¹ã圹ç«ã¡ãŸãã
æ°ããã¯ã©ã¹ã¿ãŒã«åããŠãããã€ãããšãã«ããã®åé¡ãçºçããŸãã --force
ã䜿çšããå¿
èŠããããŸããïŒ
--purge
ãªãã·ã§ã³ã䜿çšããã«ä»¥åã®ãªãªãŒã¹ãåé€ãããšãã«ããã®åé¡ãçºçããŸããã
helm delete --purge <release-name>
ãã«ã ããŒãžã§ã³
Client: &version.Version{SemVer:"v2.15.X"}
Server: &version.Version{SemVer:"v2.15.X"}
ç§ããã®åé¡ã«çŽé¢ããŠããŸãã
@bacongobbler
ãããhelm3ã§å©ããŸããã ãããçºçãããšãå±¥æŽã¯å®å
šã«ç©ºã«ãªããŸãããè©Šè¡1以éãå£ããk8sãªãœãŒã¹ãååšããŸãã
è€è£œã¯æ¬åœã«ç°¡åãªããã§ãïŒ
--atomicãã©ã°ã¯ãç§ã®ïŒCI / CDïŒã·ããªãªã§ã¯åé²ããå¯èœæ§ãããããã§ãã æåã®å€±æãããªãªãŒã¹ã¯ãçºçããªãã£ããã®ããã«å®å šã«ã¯ãªãŒã³ã¢ãããããããã次åã®è©Šè¡ã§ã¯ãã®åé¡ã¯çºçããŸããã
ããã§ãåãã§ãããç¹ã«æ°žç¶ããªã¥ãŒã ãé
眮ãããŠããå Žåã«ã delete
ãŸãã¯--force
䜿çšãã¢ããã€ã¹ããæ¹æ³ãããããŸããããããåå ã§ããã§ã«ãã¹ãŠã®grafanaããã·ã¥ããŒãã倱ãããŠããŸããããäžåºŠ:)
æŽæ°ïŒãšããã§ãç§ã®å ŽåããªãªãŒã¹ã¯æ¬¡ã®çç±ã§å€±æããŠããŸãïŒ
Upgrade "grafana" failed: cannot patch "grafana" with kind PersistentVolumeClaim: PersistentVolumeClaim "grafana" is invalid: spec: Forbidden: is immutable after creation except resources.requests for bound claims
ã°ã©ãã¡ãã®å€ãäœãå€æŽããŠããªããŠã
@ alex88 helm history
ããã®åºåãæäŸã§ããŸããïŒ æ ¹æ¬åå ãçªãæ¢ããŠè§£æ±ºçãèŠã€ããããã«ãä»ã®äººããã®ã±ãŒã¹ã«ã©ã®ããã«ã¶ã€ãã£ãŠããã®ããç¥ãå¿
èŠããããŸãã
@bacongobbleræ°žç¶çãªããªã¥ãŒã ãæ°å倱ã£ãããããã«ã ã®äœ¿çšã«ã¯æ¬åœã«æ éãªã®ã§ããããä¿®æ£ãããã®ãæ¬åœã«èŠãããšæããŸãïŒããããç§ã®ããã§ãïŒ
REVISION UPDATED STATUS CHART APP VERSION DESCRIPTION
4 Wed Dec 4 02:45:59 2019 failed grafana-4.1.0 6.5.0 Upgrade "grafana" failed: cannot patch "grafana" with kind PersistentVolumeClaim: PersistentVolumeClaim "grafana" is invalid: spec: Forbidden: is immutable after creation except resources.requests for bound claims
5 Mon Dec 9 12:27:22 2019 failed grafana-4.1.0 6.5.0 Upgrade "grafana" failed: cannot patch "grafana" with kind PersistentVolumeClaim: PersistentVolumeClaim "grafana" is invalid: spec: Forbidden: is immutable after creation except resources.requests for bound claims
6 Mon Dec 9 12:33:54 2019 failed grafana-4.1.0 6.5.0 Upgrade "grafana" failed: cannot patch "grafana" with kind PersistentVolumeClaim: PersistentVolumeClaim "grafana" is invalid: spec: Forbidden: is immutable after creation except resources.requests for bound claims
7 Mon Dec 9 12:36:02 2019 failed grafana-4.1.0 6.5.0 Upgrade "grafana" failed: cannot patch "grafana" with kind PersistentVolumeClaim: PersistentVolumeClaim "grafana" is invalid: spec: Forbidden: is immutable after creation except resources.requests for bound claims
8 Mon Dec 9 13:06:55 2019 failed grafana-4.1.0 6.5.0 Upgrade "grafana" failed: cannot patch "grafana" with kind PersistentVolumeClaim: PersistentVolumeClaim "grafana" is invalid: spec: Forbidden: is immutable after creation except resources.requests for bound claims
9 Mon Dec 9 13:38:19 2019 failed grafana-4.1.0 6.5.0 Upgrade "grafana" failed: cannot patch "grafana" with kind PersistentVolumeClaim: PersistentVolumeClaim "grafana" is invalid: spec: Forbidden: is immutable after creation except resources.requests for bound claims
10 Mon Dec 9 13:38:51 2019 failed grafana-4.1.0 6.5.0 Upgrade "grafana" failed: cannot patch "grafana" with kind PersistentVolumeClaim: PersistentVolumeClaim "grafana" is invalid: spec: Forbidden: is immutable after creation except resources.requests for bound claims
11 Mon Dec 9 13:41:30 2019 failed grafana-4.1.0 6.5.0 Upgrade "grafana" failed: cannot patch "grafana" with kind PersistentVolumeClaim: PersistentVolumeClaim "grafana" is invalid: spec: Forbidden: is immutable after creation except resources.requests for bound claims
12 Mon Dec 9 13:56:01 2019 failed grafana-4.1.0 6.5.0 Upgrade "grafana" failed: cannot patch "grafana" with kind PersistentVolumeClaim: PersistentVolumeClaim "grafana" is invalid: spec: Forbidden: is immutable after creation except resources.requests for bound claims
13 Mon Dec 9 15:15:05 2019 failed grafana-4.1.0 6.5.0 Upgrade "grafana" failed: cannot patch "grafana" with kind PersistentVolumeClaim: PersistentVolumeClaim "grafana" is invalid: spec: Forbidden: is immutable after creation except resources.requests for bound claims
åºæ¬çã«ãã¢ããã°ã¬ãŒããå®è¡ããŠããã€ãã®ç°å¢å€æ°ãå€æŽããããšããŸãããããããã€ãšã©ãŒãçºçããããããšã«ããç°å¢å€æ°ãå€æŽãããããããšã©ãŒãç¡èŠããŠå€æŽãç¶ããŸããã
ã©ã®ããã«ããŠãã¹ãŠã®ãªãªãŒã¹ã倱æããç¶æ ã«ãªããŸãããïŒ ãªãªãŒã¹1ã2ãããã³3ã¯ã©ãã«ãããŸããïŒ
ã©ã®ããã«ããŠãã¹ãŠã®ãªãªãŒã¹ã倱æããç¶æ ã«ãªããŸãããïŒ ãªãªãŒã¹1ã2ãããã³3ã¯ã©ãã«ãããŸããïŒ
ç°å¢å€æ°ãå€æŽãïŒè€æ°ã®å€æŽãè¡ãå¿ èŠããããŸããïŒãæ¯åã¢ããã°ã¬ãŒããå®è¡ãããšãç°å¢å€æ°ãå€æŽãããŠããŸããããæ°žç¶çãªããªã¥ãŒã ãšã©ãŒãä¿®æ£ããæ¹æ³ãããããŸããã§ãã
æŽæ°ïŒãšããã§ç§ã¯äœ¿çšããŠããŸã
version.BuildInfo{Version:"v3.0.0", GitCommit:"e29ce2a54e96cd02ccfce88bee4f58bb6e2a28b6", GitTreeState:"clean", GoVersion:"go1.13.4"}
以åã®ãªãªãŒã¹ã«é¢ããŠã¯ããããããã«ã ã¯ãããã®ãã¡ã®10åããä¿æããŠããŸãã
Helm3ïŒistioã®ã¢ããã°ã¬ãŒãäžã«åæ§ã®åé¡ãçºçãããªãªãŒã¹ã倱æããŸããããã³ãã¬ãŒãã®å°ããªãšã©ãŒãä¿®æ£ãããŠããåãããã€ã§ããŸããã istio-ingressãµãŒãã¹ã«é¢é£ä»ããããŠããELBãåé€ãããããã補åãªãªãŒã¹ãåé€ã§ããŸããã
æåã®ãªãªãŒã¹ã倱æããç¶æ ã«ãªã£ããšãã«ããžãã¯ãå€æŽããå°æ¥ã®äœæ¥ã¯ãããŸããïŒ
ããŠã³ã¿ã€ã ãåãå ¥ããããªãå Žåã¯ã©ãããã°ããã§ããïŒ
% helm upgrade prometheus-thanos --namespace metrics -f values.yaml .
Error: UPGRADE FAILED: "prometheus-thanos" has no deployed releases
% helm install --atomic prometheus-thanos --namespace metrics -f values.yaml .
Error: cannot re-use a name that is still in use
% helm version
version.BuildInfo{Version:"v3.0.1", GitCommit:"7c22ef9ce89e0ebeb7125ba2ebf7d421f3e82ffa", GitTreeState:"clean", GoVersion:"go1.13.4"}
ããŠã³ã¿ã€ã ãåãå ¥ããããªãå Žåã¯ã©ãããã°ããã§ããïŒ
ä»ã®ãšãããhelmã䜿çšããŠãã³ãã¬ãŒããçæããæåã§ããŒã«ã«ã«ä¿åããŠé©çšããŸã
--atomicãã©ã°ã¯ãç§ã®ïŒCI / CDïŒã·ããªãªã§ã¯åé²ããå¯èœæ§ãããããã§ãã æåã®å€±æãããªãªãŒã¹ã¯ãçºçããªãã£ããã®ããã«å®å šã«ã¯ãªãŒã³ã¢ãããããããã次åã®è©Šè¡ã§ã¯ãã®åé¡ã¯çºçããŸããã
ããªãã¯ãªãŒã«ãŠã§ã€ãºäœ¿çšããå Žåã«ã®ã¿@ henrikb123äžèšäœå--atomic
ãã©ã°ãã ãã以å€ã®å Žåã¯æ©èœããŸããã äŸïŒå£ãããã£ãŒãããããªãã§ã€ã³ã¹ããŒã«ããããšãããšã --atomic
ãã©ã°ãæå®ããŠåãã³ãã³ããå®è¡ããŸãã å£ããŸãã åèãŸã§ã«ãææ°ã®HelmããŒãžã§ã³ã䜿çšããŠããŸã-> 3.0.2
@ alex88ãã«ã å±¥æŽããã®åºåãæäŸã§ããŸããïŒ æ ¹æ¬åå ãçªãæ¢ããŠè§£æ±ºçãèŠã€ããããã«ãä»ã®äººããã®ã±ãŒã¹ã«ã©ã®ããã«ã¶ã€ãã£ãŠããã®ããç¥ãå¿ èŠããããŸãã
@bacongobbler @ henrikb123ãããã§èšã£ã@ henrikb123ãææããŠããå®å šã«ç©ºã§ãã ããã確èªã§ããŸãã ã芧ãã ããïŒ
$ helm upgrade --install --cleanup-on-fail --reset-values --force --namespace teleport --values values.test.yaml teleport ./
Release "teleport" does not exist. Installing it now.
Error: Secret "teleport-secrets" is invalid: metadata.labels: Invalid value: "helm.sh/chart:teleport-1.0.0app.kubernetes.io/managed-by": a qualified name must consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName')
$ helm history teleport
Error: release: not found
$ helm upgrade --install --cleanup-on-fail --reset-values --force --namespace teleport --values values.test.yaml teleport ./
Error: UPGRADE FAILED: "teleport" has no deployed releases
ç§ãIstioã§ããã«ééããŸããã
1.4.3ã«ã¯ã¢ã¯ã»ã¹ã§ããªãå Žåãã€ã³ã¹ããŒã«ãå®è¡ãããžã§ãã®1ã€ã倱æããŸãã ãã®åŸããžã§ããæ®ãããHelmã³ãã³ããåå®è¡ããããšãããšããžã§ãããã§ã«ååšãããã倱æããŸãã ãžã§ããåé€ãã調æŽããã¢ããã°ã¬ãŒããåå®è¡ããããšããŸããããæåããŸããã§ãã...ãããŠä»ã¯è¡ãè©°ãŸã£ãŠããŸãã
ïŒããã«ã€ããŠè³ªåããã£ãã®ã§ãããã¯ããªãããã¹ãŠå€±æãããªãªãŒã¹ç¶æ ã«å ¥ãããšãã§ããæ¹æ³ã§ããïŒ
REVISION UPDATED STATUS CHART APP VERSION DESCRIPTION
10 Tue Jan 14 09:17:00 2020 failed istio-1.4.3 1.4.3 Upgrade "istio" failed: post-upgrade hooks failed: timed out waiting for the condition
11 Tue Jan 14 09:22:21 2020 failed istio-1.4.3 1.4.3 Upgrade "istio" failed: post-upgrade hooks failed: warning: Hook post-upgrade istio/charts/security/templates/create-custom-resources-job.yaml failed: jobs.batch "istio-security-post-install-1.4.3" already exists
12 Tue Jan 14 09:23:10 2020 failed istio-1.4.3 1.4.3 Upgrade "istio" failed: post-upgrade hooks failed: warning: Hook post-upgrade istio/charts/security/templates/create-custom-resources-job.yaml failed: jobs.batch "istio-security-post-install-1.4.3" already exists
13 Tue Jan 14 09:25:58 2020 failed istio-1.4.3 1.4.3 Upgrade "istio" failed: post-upgrade hooks failed: timed out waiting for the condition
14 Tue Jan 14 09:35:21 2020 failed istio-1.4.3 1.4.3 Upgrade "istio" failed: post-upgrade hooks failed: warning: Hook post-upgrade istio/charts/security/templates/create-custom-resources-job.yaml failed: jobs.batch "istio-security-post-install-1.4.3" already exists
15 Tue Jan 14 09:38:08 2020 failed istio-1.4.3 1.4.3 Upgrade "istio" failed: post-upgrade hooks failed: timed out waiting for the condition
16 Tue Jan 14 14:02:47 2020 failed istio-1.4.3 1.4.3 Upgrade "istio" failed: post-upgrade hooks failed: timed out waiting for the condition
17 Tue Jan 14 14:19:44 2020 failed istio-1.4.3 1.4.3 Upgrade "istio" failed: post-upgrade hooks failed: timed out waiting for the condition
18 Tue Jan 14 14:33:36 2020 failed istio-1.4.3 1.4.3 Upgrade "istio" failed: post-upgrade hooks failed: warning: Hook post-upgrade istio/charts/security/templates/create-custom-resources-job.yaml failed: jobs.batch "istio-security-post-install-1.4.3" already exists
19 Tue Jan 14 14:36:59 2020 failed istio-1.4.3 1.4.3 Upgrade "istio" failed: post-upgrade hooks failed: timed out waiting for the condition
ããã¯Helm3.0.2ã§ãã
IMOããã¯é倧ãªåé¡ã§ãããã§ããã ãæ©ãä¿®æ£ããå¿ èŠããããŸãã ããŒãžã§ã³2以éãåãåé¡ã«å¯ŸããŠéãããŠããä»ã®å€ãã®åæ§ã®åé¡ã確èªããŸããããçŸåšãŸã§ã¯ä¿®æ£ãããŠããªãããã§ãã
ãã®åé¡ãã·ãã¥ã¬ãŒãããããã«ã @ henrikb123ãã³ã¡ã³ãã§èšã£ãããšãæ£ç¢ºã«å®è¡ããããã«éçºè ã«ãé¡ãããŸãã ãããã·ãã¥ã¬ãŒãããéåžžã«ç°¡åãªæ¹æ³ã§ãã Helmã®ä»»æã®ããŒãžã§ã³ïŒ2.xxããã³3.xxïŒã§ãã¹ãã§ããŸãã ç§ã¯ãããããããã¹ãŠã§èµ·ãããšã»ãŒç¢ºä¿¡ããŠããŸãã
ãã¶ã--atomic
ã¯é£ããèŠä»¶ã§ããã¯ãã§ãïŒã³ãã³ãã©ã€ã³åŒæ°ã§ã¯ãããŸããïŒã --cleanup-on-fail
ããã«ããªãåé·ã§ãã éãã¯ã --cleanup-on-fail
ã¯ã --atomic
ããã«ãã®åé¡ãä¿®æ£ããªãããšã§ãã
ãŸããæ¬çªç°å¢ã§ããã«ééããã°ããã§ãããããŠã³ã¿ã€ã ã¯ãªãã·ã§ã³ã§ã¯ãããŸããã ææ°ã®FAILEDconfigmapã«ããããé©çšããŠã代ããã«æ¬¡ã®ãããªã³ãã³ãã䜿çšããŠã©ãã«STATUS: DEPLOYED
ãèšå®ããããšã§ãåé¿çãèŠã€ããŸãã...
kubectl -n kube-system patch configmap app-name.v123 --type=merge -p '{"metadata":{"labels":{"STATUS":"DEPLOYED"}}}'
ç§ãã¡ã®å ŽåãæåŸã®FAILEDãªããžã§ã³ãå®éã«kubernetesã«ãã£ãŠæ£åžžã«ãããã€ããããšç¢ºä¿¡ããŠããŸããã
ã©ã®ããã«ããŠãã®ç¶æ ã«ãªããŸãããïŒ
åºæ¬çã«ããã«ã ãã¿ã€ã ã¢ãŠãããåŸãKubernetesãå€æŽãè¡ã£ãŠãããããéçºããŒã ã¯å€±æããã¢ããã°ã¬ãŒããç¡èŠããŸããã
å
·äœçã«ã¯ãHelm 2ã䜿çšããŠãããtiller-deployãããã€ã¡ã³ãã«TILLER_HISTORY_MAX=20
ãèšå®ããŠããŸãã RollingUpdateã®ã¢ããã°ã¬ãŒãã«ã¯ãã¹ãŠhelm upgrade --wait --timeout 1080
ã䜿çšããŠããŸããããæéã®çµéãšãšãã«æéãããããŸããã ãã®åŸããã«ã ã®ã¢ããã°ã¬ãŒããã¿ã€ã ã¢ãŠãã«ãªãå§ããŸããããKubernetesããŸã æ£åžžã«å€æŽãè¡ã£ãŠããããã誰ãå¿é
ããŠããŸããã§ããïŒãã ã€ã©ã€ã©ããŠããŸããïŒã 20åã®ã¢ããã°ã¬ãŒããã¿ã€ã ã¢ãŠãããåŸïŒä»æ¥ïŒã代ããã«app-name has no deployed releases
ã衚瀺ãããŠããããããããã€ã§ããªããªã£ããããå¿é
ããŸããã
ããããæ©èœããã®ã¯ãªãã§ããïŒ
Helmããããã次ã®ãããªãªã¯ãšã¹ãã䜿çšããŠconfigmapããªã¯ãšã¹ãããŠããããšã«æ°ä»ãããããconfigmapã®STATUSã©ãã«ã«ããããé©çšããå¿ èŠãããããšãããããŸãã...
kubectl -n kube-system get configmap -l NAME=app-name,STATUS=DEPLOYED
configmap yamlã衚瀺ãã次ã®ã©ãã«ã«æ°ä»ãããšãã«æããããèŠã€ãããŸãã...
$ kubectl -n kube-system describe configmap app-name.v123
Name: app-name.v123
Namespace: kube-system
Labels: MODIFIED_AT=1579154404
NAME=app-name
OWNER=TILLER
STATUS=FAILED
VERSION=123
Annotations: <none>
Data
====
release:
----
H4sIAAAAAAAC...snipped...
ãããŠããã¯https://github.com/helm/helm/issues/5595#issuecomment-552743196ãšäžèŽããŠã
@bacongobblerã¯ãã©ã®ããã«ããŠå€±æç¶æ ã«ãªãã®ãçåã«æãã®ã§ã¯ãªãã倱æããã€ã³ã¹ããŒã«ãã¢ããã°ã¬ãŒãããããã®è²Žéãªä¿®æ£ãæ€èšããå¿ èŠããããŸããããã¯å€±æããªãã¯ãã§ãã
ãããå®éã«ã¯ãããªãã®æžå¿µã«çããããã«ïŒã¿ã€ã ã¢ãŠãã¯ãªãªãŒã¹ã倱æããæ£åœãªçç±ã§ãã ãªãªãŒã¹ãã¹ã¿ãã¯ããã¢ããã°ã¬ãŒãããŠã¿ã€ã ã¢ãŠãã«ãªã£ããšãã«ããŒã«ããã¯ã§ããŸããã
ãããã£ãŠãã¯ã¬ãŒã ã«ãã£ãŠåçã«äœæãããããªã¥ãŒã ãæã€ã ã¯ã¬ãŒã ãåé€ãããšïŒãã£ãŒããåé€ããããšã«ããïŒãããªã¥ãŒã ãå®å šã«åé€ãããŸãã ããã¯ããªããããã奜ããªæ¹æ³ã§ã¯ãããŸããã ç§ãšä»ã®å€ãã®éçºè ã¯
ã¯ãšãªããstatus: deployed
ãåé€ãããšããã¢ã€ãã¢ãæ°ã«å
¥ããªãã£ãã ã§ã¯ãã¹ããŒã¿ã¹ããããã€ãããã倱æãããã«é¢ä¿ãªããå®éã«ææ°ãªãªãŒã¹ãããŒã¯ããæ°ããã©ãã«ãè¿œå ããã®ã¯ã©ãã§ããããã ããã¯å®éã«ã¯çã«ããªã£ãŠããŸãã ãããããªãã®ããããããšãªã®ã§ãã¢ããã°ã¬ãŒãå
ã®ææ°ãªãªãŒã¹ãå
¥æããããšæããŸãã ãããŠãäœããªãå Žåã¯ã代ããã«å€±æãããªãªãŒã¹ããã§ãã¯ããå¿
èŠããããŸãã ãŸãã¯ãææ°ã®ã©ãã«ãçŽæ¥ããŒã¯ããæ°ããã©ãã«ã䜿çšããŸãã
_ããã«ã€ããŠã®ãæèŠããåŸ ã¡ããŠãããŸãã_
å®ç§ãªã³ãã±ãŒã·ã§ã³@AmazingTurtleã
ããããã§ã«ææãããŠãããã©ããã¯ããããŸããããäœããã®çç±ã§ãã£ãŒãã®æåã®ã€ã³ã¹ããŒã«ã倱æããå Žåã«ããã®åé¡ãçºçããŸãïŒããã¯ãç¹ã«ãã£ãŒããåããŠäœ¿çšãããŠãŒã¶ãŒãç¹°ãè¿ãåŠçããå¿ èŠãããå Žåã«ããçºçããŸãïŒç©äºãå®è¡ããããã®æ§æïŒã
ãã®å Žåã®CLIãŠãŒã¶ãŒã®å¯äžã®åé¿çã¯ãã·ãŒã¯ã¬ãããã©ã€ããŒã䜿çšããŠããå Žåã¯ããªãªãŒã¹ãã©ããã³ã°ã·ãŒã¯ã¬ãããšãååã®ãªãªãŒã¹ã§äœæããããã¹ãŠã®ãªãœãŒã¹ãåé€ããããšã§ãïŒHelmã®ãªãœãŒã¹æææš©ãã§ãã¯ã«ééããªãããã«ããããïŒã
ããã¯ããã®åé¡ãçºçãããšãã«åŠçããããã«å éšã§äœæããããŒã«ã®å®éã®é¢æ°ã§ãã
package foo
import (
"helm.sh/helm/v3/pkg/action"
"helm.sh/helm/v3/pkg/release"
"helm.sh/helm/v3/pkg/storage/driver"
)
// DangerouslyApplyRelease allows installing or upgrading any release from a failed state,
// but does not enforce Helm's standard resource ownership checks.
func DangerouslyApplyRelease(cfg *action.Configuration, rel *release.Release) error {
// Forcibly mark the last release as successful and increment the version
rel.Info = &release.Info{
Status: release.StatusDeployed,
}
rel.Version++
var err error
// Attempt to create the release
err = cfg.Releases.Create(rel)
// If release already exists, update it
if err == driver.ErrReleaseExists {
err = cfg.Releases.Update(rel)
}
return err
}
@jlegrone helm delete --purge
ïŒv2ïŒãŸãã¯helm uninstall
ïŒv3ïŒã¯ãã¹ãŠå€±æãããªãªãŒã¹ãªã®ã§ã䜿çšããŠãæ©èœããŸããïŒ
@jlegroneãææãã
@hickeymaããªãã®ææ¡ã¯
éå»2幎éã¯æ害ãªãã°ã§ããããã«ã ã¯ãããä¿®æ£ããã€ããã¯ãããŸãã
helm delete
ã¯ãã»ãšãã©ã®æ¬çªã±ãŒã¹ã§ã¯åãå
¥ããããŸãã
helm3ã§ã¯ãæå·åãããŠããããkubectl edit secret sh.helm.release....
ã¯ã§ããŸãã
helm rollback <latest-successful>
ã¯æ£ããåé¿çã«ãããŸãã
ãããã£ãŠãããã©ã«ãã§HISTORY_MAX = 10ããããäœããæ©èœãããããã«10åè©Šè¡ããå Žåãå®å šã«å€±ãããŸã...
ãŸããã€ã³ã¹ããŒã«ãšã¢ããã°ã¬ãŒãã«ããžãã¯ãããå Žåã¯ãsh.helm.release ..... v *ã·ãŒã¯ã¬ãããåé€ã§ããŸããã
ãã«ã ã¯æ»ã¬ãããããä¿®æ£ããå¿ èŠããããŸã
åé¿çãèŠã€ãããŸãã
helm3ã¯ããã®ç§å¯ã«ã©ãã«ãèšå®ããŸãã
kubectl get secrets --show-labels | grep sh.helm.release.v1
....
sh.helm.release.v1.helm-must-die.v34 helm.sh/release.v1 1 13h modifiedAt=1580326073,name=helm-must-die,owner=helm,status=failed,version=34
sh.helm.release.v1.helm-must-die.v35 helm.sh/release.v1 1 13h modifiedAt=1580326228,name=helm-must-die,owner=helm,status=failed,version=35
sh.helm.release.v1.helm-must-die.v36 helm.sh/release.v1 1 1h modifiedAt=1580370043,name=helm-must-die,owner=helm,status=failed,version=36
...
ææ°ã®kubectl edit secret sh.helm.release.v1.helm-must-die.v36
ã«ã€ããŠãåæ§ã§ãã©ãã«status = deployedãèšå®ããŸã
ãããŠãã以åã®ãªãªãŒã¹ïŒv35ïŒã®å Žåã¯label status = supersededãèšå®ããŸã
次ã®helm upgrade --install ...
ã¯æ©èœããŸã
@ kosta709ãªãªãŒã¹ããã¹ãŠå€§æåã®ã©ãã«ã§kube-systemåå空éã«ConfigMapsãšããŠæ ŒçŽããHelm2ã®ç§ã®çºèŠãšåæ§ã«ãHelm3ã¯ããã¹ãŠå°æåã®ã©ãã«ã§ã¢ããªã±ãŒã·ã§ã³ã®åå空éã«ãªãªãŒã¹ãã·ãŒã¯ã¬ãããšããŠæ ŒçŽããããã«ãªããŸããã
ãããã£ãŠãHelm3ã®å Žåã¯ããããã«ç°ãªãkubectlpatchã³ãã³ãã䜿çšã§ããŸã...
kubectl -n app-namespace patch secret app-name.v123 --type=merge -p '{"metadata":{"labels":{"status":"deployed"}}}'
ãããã®åé¿çã«ã€ããŠè©±ãåãå¿ èŠããªãã£ããããã®ã«ãšæããŸãã 補åã§ãããä¿®æ£ããããšãæåªå äºé ã§ããå¿ èŠããããŸãã ãããã©ãã»ã©æªãããæãåºãããïŒåé¿çãç¡èŠããŠïŒïŒ
ãªãªãŒã¹ãæåã«ãããã€ããããšãã«å€±æããå ŽåããŸãã¯ååãªãªãªãŒã¹ãå±¥æŽããæåŸã®æåãããŒããŒã·ã§ã³ã§ããªãã£ãå Žåãæåã®ä»å ¥ãªãã«ãªãªãŒã¹ãä¿®æ£ããããšã¯ã§ããŸããã
ç¶ç¶çãããã€ãã€ãã©ã€ã³ããã®Helmã®äœ¿çšãããããäžè¬çãªãã¿ãŒã³ã§ããããå°ãªããšãæãŸãããã¿ãŒã³ã§ããããšãèãããšãããã¯æ©èœããŸããã
ç§ã¯å®å šã«åæããŸãããå°ãªããšãåé¿çãæ確ã«ææžåãããã£ãã®ã¯ããã®ç¶æ ã«ãªããšããªãªãŒã¹ãäžæ¢ããŠåæ¢ãã以å€ã«éžæè¢ããªãããã«æããããã§ãã
åæ¢ãåé¿ããããã®ãããã«å ããŠã helm --wait
䜿çšãåæ¢ãã代ããã«ç¬èªã®ããŒãªã³ã°ããžãã¯ã䜿çšããŠããªãªãŒã¹ãæåãããã©ããã確èªããŸãã äœæ¥ã¯å¢ããŸãããå¯èŠæ§ã倧å¹
ã«åäžããŸãããããã¯ããªãªãŒã¹ã«äºæ³ãããæéãããã£ãŠããå Žåã«åœ¹ç«ã¡ãã¿ã€ã ã¢ãŠããããæ©ãé害ãæ€åºã§ããŸãã
ããã¯å€ãããŒãžã§ã³ã®helmã§ã¯åé¡ã§ã¯ãªãããããã€ã®å€±æã¯ãªããkubectlã¯å®è¡äžã®ãµãŒãã¹ã衚瀺ããŠããããã¹ãŠãæ©èœããŠããŸãã
ä»ãç§ã¯åã«helm upgrade -f app.yaml --namespace prometheus prometheus prometheus
ãå®è¡ããããšããŠããŸããããšã©ãŒError: UPGRADE FAILED: "prometheus" has no deployed releases
ã衚瀺ãããŸãããããã¯è£œåã§ãããããåé¿çãè©Šãããšãã§ããŸãã...
@zrsmçŸåšè¡ã£ãŠããã®ã¯ãhelmã䜿çšããŠyamlãã¡ã€ã«ãçæããkubectl diff / dry-runã䜿çšããŠãå€æŽãæåã§é©çšããåã«ãã¬ãã¥ãŒããããšã§ãã
@zrsmçŸåšè¡ã£ãŠããã®ã¯ãhelmã䜿çšããŠyamlãã¡ã€ã«ãçæããkubectl diff / dry-runã䜿çšããŠãå€æŽãæåã§é©çšããåã«ãã¬ãã¥ãŒããããšã§ãã
è¿ä¿¡ã®ãããã§ã2.15.1ã«ããŠã³ã°ã¬ãŒãããŸããããåæ§ã®åé¡ãçºçããŸããããã/ .helmãåé€ããŠãããkubectlãããã£ã©ãŒãµãŒãã¹ã¢ã«ãŠã³ããååæåããŸããããããè¡ã£ãåŸããã£ãŒããkubernetesã«é©çšã§ããŸããã ã ä»æ¥ã®åŸåã«ãã«ã 3ã§ããããã¹ãããŠã¿ãŠãä¿®æ£ãè¿ä¿¡ããŸãã ãããåé¡ã ã£ãã®ã§ã¯ãªãããšæããŸãã
ããã«ã¡ã¯ãããããã¹ãããŸãã...以åã®ã/ .helm /ãåé€ããåŸã次ã®ã³ãã³ããå®è¡ããããã§ã...ããã解決ããŸãã...
helm init --service-account tiller --override spec.selector.matchLabels.'name'='tiller',spec.selector.matchLabels.'app'='helm' --output yaml | sed 's<strong i="6">@apiVersion</strong>: extensions/v1beta1<strong i="7">@apiVersion</strong>: apps/v1@' | kubectl apply -f -
æ°ããhelmãšãã£ã·ã§ã³ãã€ã³ã¹ããŒã«ããserviceaccountã®ãã®ãèŠã€ãããªãå ŽåïŒã©ããããããã¯ã€ãããŠãããæç¹ã§åŸ©å ããå ŽåïŒããããçºçãããããä¿®æ£ããããšæããŸãã ãããããªãã«ã圹ç«ã€ããšãé¡ã£ãŠããŸãã
ãã®ãã°ã¯Helm3ã§é²è¡äžã§ãããä¿®æ£ãèšç»ãããŠããŸããïŒ
ãŸããã¿ã€ã ã¢ãŠããåå ã§ãæ°ããã¯ã©ã¹ã¿ãŒãšæ°ãããããã€ã¡ã³ãã§ãã®åé¡ãçºçããŸãã ãããä¿®æ£ããããã«ã¯ã©ã¹ã¿ãŒã«æåã§æ¥ç¶ããã®ã¯å¥œãã§ã¯ãããŸããããçŸåšã¯ãããå¯äžã®ãªãã·ã§ã³ã ãšæããŸãã
ãã®åé¡ãã§ããã ãæ©ã解決ãããããšã確èªã§ããŸããïŒ
ãã®åé¡ã¯éåžžã«èç«ãããã®ã§ã helm
å®å
šã«ãããçç±ã§ãã
åæããã ããã¯ç§ãçãããŠããŸãã ç§ã¯ãããä¿®æ£ããããšã«åãçµãã€ããã§ãã 幞éãç¥ããŸãã
åæããã ããã¯ç§ãçãããŠããŸãã ç§ã¯ãããä¿®æ£ããããšã«åãçµãã€ããã§ãã 幞éãç¥ããŸãã
ãããã§ã幞éãïŒ
äœäººãã§PRïŒ7653ãèŠãŠãããŸããŸããã
ããã§äžèšã®åé¡ã解決ãããšæããŸãã
ã¡ã³ããããã®åå¿ããªãããŸã éããŠãããªããŠä¿¡ããããªã
cc @bacongobbler @mattfarina
ãã«ã åé€--purgeïŒv2ïŒãŸãã¯ãã«ã ã¢ã³ã€ã³ã¹ããŒã«ïŒv3ïŒã䜿çšããŠãããã¹ãŠå€±æãããªãªãŒã¹ã§ãããããæ©èœããŸããïŒ
@hickeymaã¯åžžã«ã§ã¯ãããŸããã ããã¯ããã«ã ãªãªãŒã¹ã¡ã¿ããŒã¿ã®ç Žæã®çµæã§ããå¯èœæ§ããããããå Žåã«ãã£ãŠã¯ãã¢ã³ã€ã³ã¹ããŒã«ã«ãã£ãŠè² è·ãããã£ãŠãããªãœãŒã¹ãåé€ãããå¯èœæ§ããããŸãã
æã
ãªãªãŒã¹ã¯å€±æããŸããããã¿ã€ã ã¢ãŠããšãã«ã ã¯ããã倱æãããã®ãšããŠã©ãã«ä»ãããŸãããããŠæ¬¡ã«ãããå±éããããªãªãŒã¹ããªããšè¡šç€ºããããšããã¢ããªã¯å®éã«ã¯å®å
šã«æ©èœããŠããŸããããã¯ç§ã«äœåºŠãèµ·ãããŸãããããã§ç§ã¯ãªãªãŒã¹ãå€æŽããªããã°ãªããŸããã§ããdeployed
1ã«ã©ãã«ãä»ããŸãã helm delete --purge (v2) or helm uninstall (v3)
ãå®è¡ããããšã¯å¿
ããããªãã·ã§ã³ã§ã¯ãããŸãã
@rimuszãªãªãŒã¹ã¬ãŒãã«ãã©ã®ããã«å€æŽããŠããŸããïŒ
@dudicocoã¯ãhelm v3ã®ææ°ãªãªãŒã¹ã·ãŒã¯ã¬ãããæåã§ç·šéããããšã§ããããèªååãã kubectl patch
ã䜿çšã§ããŸãã
ãã£ãŒã ã®ããã«æ©èœããhttps://github.com/k14s/kappã«ç§»åããŸããã
@rimuszããã¯ç§ãæã£ãããšã§ããããããšãã
ãŸããä¿®æ£ãïŒ7668ã®ãã«ã 2ã«ããã¯ããŒãããŸããããïŒ7653ã«é¢ãããã£ãŒãããã¯ãåŸ ã£ãŠããŸãã
ããã§åãåé¡ã
--wait
ãããã€ããããªãªãŒã¹ã¯ã¿ã€ã ã¢ãŠãããæçµçã«çšŒåããŠããŸãã ããã§ã倱æãšããŠããŒã¯ãããŸãã
ãã®ãããåŸã®å±éã倱æããŠããŸãã
ããã¯ããªãªãŒã¹ã¹ããŒã¿ã¹ãä¿¡é Œã§ããæ å ±ã§ã¯ãªãããšãæå³ããŸãã
åœç€Ÿã§ã¯ãæ¬çªç°å¢ã®å€ãã®ãµãŒãã¹ã«k8sã䜿çšããŠããŸãã
æã«æ°åãããŸããŸãªã¢ããªã±ãŒã·ã§ã³ã®ãã«ã ã§åãåé¡ãçºçããŸãïŒ " *ã«ã¯ãªãªãŒã¹ããããã€ãããŠããŸããã"ïŒã
ããŸããŸãªããŒãžã§ã³ã®ãã«ã ã䜿çšããŸããïŒ2.7ãã3.0.3ãŸã§ïŒã
åé¡ã¯ä¿®æ£ãããŠããŸããã
ããã¯ããŠãŒã¶ãŒïŒã¯ã©ã¹ã¿ãŒã«ã¢ããªã±ãŒã·ã§ã³ããããã€ããéçºè
ïŒã«å€ãã®äžå¿«æãåŒãèµ·ãããŸã
ããããããã³ã«ãææ°ã®ãªãªãŒã¹ã·ãŒã¯ã¬ããïŒãããã€ãããã¹ããŒã¿ã¹ïŒã«ããããé©çšããã ãã§ãã
æåŸã®ãªãªãŒã¹ã®ç¶æ
ãç¡èŠããŠæ°ãããªãªãŒã¹ãã€ã³ã¹ããŒã«ããåäœãè¿œå ããèšç»ã¯ãããŸããïŒ
--history-max
ã10ïŒããã©ã«ãå€ïŒã«èšå®ãããšãæåã®ãªãªãŒã¹ãæåããŸããã
ãã®åŸã次ã®10ãªãªãŒã¹ã¯å€±æããŸããïŒ
Error: UPGRADE FAILED: timed out waiting for the condition
ïŒã·ãã¥ã¬ãŒãããããããäºæ³ãããŸããïŒã
ãã®åŸã次ã®ïŒ11çªç®ã«å€±æããïŒãªãªãŒã¹ã倱æããŸããïŒ
Error: UPGRADE FAILED: "app" has no deployed releases
ïŒãããåé¡ã§ãïŒïŒ
ãã«ã ããææ°ã®10åã®ãªãªãŒã¹ïŒã¹ããŒã¿ã¹ã«é¢ä¿ãªãïŒã«å ããŠãå±¥æŽå ã®åžžã«ä¿æããããšã¯å¯èœã§ããããïŒ
ç§ã¯ãã®èãã倧奜ãã§ãã ã¹ãã¬ãŒãžæ©èœãå€æŽããå¿ èŠããããŸãããããã¯å¯èœã ãšæããŸãã
ç§ã¯ãããïŒ7806ã§Helm 3ã«ç§»æ€ããããšããŸããããã§ããã ãæ©ãããŒãžãããããšãæãã§ããŸãã ããããšãã@ ultramateboyïŒ
_first_ã€ã³ã¹ããŒã«ã§å€±æãããªãªãŒã¹ãã€ãŸãéå»ã«æåãããªãªãŒã¹ããªããªãªãŒã¹ã¯ã©ãã§ããïŒ
ãã«ã ãªãªãŒã¹ã®ã¹ãçå±éã«upgrade --install
ã䜿çšããŠãããæåã®ãªãªãŒã¹ã倱æãããšããã®åŸã®upgrade --install
åŒã³åºãã¯ãã¹ãŠããå±éããããªãªãŒã¹ããããŸããããšã©ãŒã§å€±æããŸãïŒãã®åé¡ïŒã
ãæåã®ãªãªãŒã¹ã倱æãããã·ããªãªã¯ãéåžžã¯æåã§å®è¡ãŸãã¯ç£èŠããããïŒãããŠããã®å Žã§ä¿®æ£ãé©çšã§ããããïŒãå°ãªããšã管çãããããªããŸããããã¯ã倱æãå§ããã°ããã®CI / CDã·ã¹ãã ã§ãã«ã ãå®è¡ããã®ãšã¯å¯Ÿç §çã§ããæ¥ãã³ãŒããä¿®æ£ããåŸã§ãå埩ããŸããã
ãã¡ãããããã§ãä¿®æ£ããå¿ èŠããããŸãã
ãã®ãã°ã®ããã ãã§ãªãããšã«ããæåŸã«æåãããªãªãŒã¹ãä¿æããããšã«ã䟡å€ããããŸãã ããšãã°ãå€ãã¡ã€ã«ãªã©ã®åé¡ã®ãããã°ã
@peterholak ãæåã®ãªãªãŒã¹ã倱æãããã·ããªãªã¯CI / CDã§ãè¡ãããããšããããŸããããšãã°ãã¯ã©ã¹ã¿ãŒãžã®ã¢ã¯ã»ã¹ãå¶éãããŠãããããã«ã lsããäœæããããšããã§ããŸãããã©ã®ããã«ãããã管çãããã®ã§ããããã
ãã®åé¡ã¯ãã»ãšãã©ã®äººãçç£ã§ãã«ã ã䜿çšããŠããããšãèãããšãåªå
床ã®é«ãåé¡ã§ããã¯ãã§ãã --atomic
ããŠhelmã€ã³ã¹ããŒã«ãå®è¡ã§ããŸããããããã€ããåã«å€±æã®çç±ã調ã¹ããå Žåã¯ã©ãããã°ããã§ããïŒ ã€ã³ã¹ããŒã«ã倱æããåã«ã¿ã€ã ã¢ãŠãã«ãã£ãŠã¿ã€ã ããã¯ã¹åããããã®åŸå
ã«æ»ããŸãã æ£åžžã«ã¢ããã°ã¬ãŒãã§ããã°ãé害ãæ€æ»ãããšãã«ã¿ã€ã ããã¯ã¹ãæããå¿
èŠã¯ãããŸããã
ãŸããhelmãªãªãŒã¹ã®ã¹ãçå±éã«upgrade--installã䜿çšããŠããŸãã ãããèªååãããci / cdãã€ãã©ã€ã³ã®ä»çµã¿ã ããã§ãã å±éãã€ãã©ã€ã³ããã€ãã¹ãããããæåã§ãã«ã ããããäºå®ã¯ãããŸããã
èªåå±éãã€ãã©ã€ã³ã§ã¯ãæåã®å±éã¯ã»ãšãã©ã®å Žå倱æããŸãã åŸç¶ã®å±éã¯ãæåã®è©Šè¡ãšã¯ç°ãªãæ¹æ³ã§ããªã¬ãŒããŠã¯ãªããŸããã
ãã®åé¡ã®åªå é äœãããªãäžããããšãæ€èšããŠãã ããã
çµéšã¯ãã£ããæªãã§ãããããçç£äžã§ããã®ã§ãæã ã¯ãªãªãŒã¹å šäœãåã«åé€ããããšã¯ã§ããŸããïŒ ãµãŒããŒã®ããŠã³ã¿ã€ã ãçºçããŸãã æçµçã«ãã®åé¡ã«ã©ã®ããã«å¯ŸåŠã§ããŸããïŒ
ãŸãã誰ãã質å/ãµããŒãã©ãã«ãåé€ããŠããããŸããïŒ ãã®åé¡ã¯ãããã¥ã¡ã³ãã®æ¬ èœã«é¢ãããã®ã§ã¯ãªããèªåå±éãã€ãã©ã€ã³ã§ã®äœ¿çšãããŸããµããŒãããŠããªãHelmã®çŸåšã®åäœã«é¢ãããã®ã§ãã
ïŒ7806PRã¯ãã¹ã¿ãŒã«ããŒãžãããŸããã 3.2ã§ãªãªãŒã¹ãããŸãã ããã«å¿ããŠããã®åé¡ã解決ããŸãã
ãããïŒ ããã«ãããHelmã«é¢ããã»ãšãã©ã®åé¡ã解決ãããŸãã
ãã ããæåã®ãªãªãŒã¹ã倱æããå ŽåïŒãŸã ãããã€ããããªãªãŒã¹ã¯ãããŸããïŒãçŸåšã®åäœã¯ã©ããªããŸããïŒ
https://github.com/helm/helm/pull/3597ã«ãã£ãŠã¢ãã¬ã¹æå®ãããhttps://github.com/helm/helm/issues/3353ããããŸãããã --force
ã䜿çšãããŠããå Žåã®ã¿ã§ãã
--force
ã¯ãHelm 3ïŒhttps://github.com/helm/helm/issues/6378ïŒã§ããã€ãã®åé¡ããããããã«å¯ŸåŠããææ¡ããããŸãïŒhttps://github.com/helm/helm/ issues / 7082ïŒã«å ããŠããã®ã¹ã¬ããã®ä»ã®ã³ã¡ã³ãã§è¿°ã¹ãããã«ã --force
ã䜿çšããããšãåžžã«é©åã§ãããšã¯éããŸããã ãããã£ãŠãå
šäœã®ç¶æ³ã¯ãŸã ããäžæ確ã§ãã
@technosophosä¿®æ£ããŠãããŠããããšãã 奜å¥å¿ã匷ãããã€3.2ã ã€ã³ã¹ããŒã«å¯èœãªãªãªãŒã¹ïŒ æ¢åã®å€±æãããªãªãŒã¹ã§app-name has no deployed releases
ãšã©ãŒãçºçãç¶ããŸãã ãããŠãããã¯CI / CDãã€ãã©ã€ã³ã®äžçš®ã®ãããã«ãŒã§ãã
@ peterholak ïŒ7913ãåç §ããŠãã ããã
3.2ã¯ã4æ16æ¥ã®ãããªãã¯éçºã³ãŒã«ã§è°è«ãããŸãã ç§ã¯ããããçŸåšããã«ãŸãšããããšãã§ããããã«èŠãããã®ã ãã«ããªã¢ãŒãžããŸããã 次ã«ãããŒã¿ãªãªãŒã¹ããã»ã¹ãéå§ããŸãïŒã¡ã³ããå šå¡ãææ¥é»è©±ã«åæãããšä»®å®ããŸãïŒã
次ã®ã³ãã³ãã§åè¿°ã®åé¡ãä¿®æ£ããããã«ãAKS解決ã§åãåé¡ã«çŽé¢ããŠããŸããã
helm version : 3.1.2
ã³ãã³ãã䜿çšããŠk8sã¯ã©ã¹ã¿ãŒããããã±ãŒãžãåé€ããã ãã§ãhelm delete <release-name>
å±éãµã€ã¯ã«ãå®è¡ããŠåé¡ãä¿®æ£ããŸã
ãã®åé¡ã¯3.2.0ããŒãžã§ã³ã§ããŸã ååšããŸã
@deimosfrããã¯ããªãªãŒã¹3.2.1ã«å«ãŸããïŒ7653ã§ä¿®æ£ãããŠããŸãã ãŸã ãªãªãŒã¹ãããŠããŸãããããã¹ã¿ãŒãæ§ç¯ãããå Žåã¯ä¿®æ£ãå ¥æã§ããŸãã
ç§ã¯3.2.1ã䜿çšããŠããŸãããããã¯ãŸã çºçããŠããŸã
ãã®ãšã©ãŒãçºçããçç±ã¯ãŸã ãããŸãã 3.2.1ã¯åã«ãšã©ãŒãåãé€ãã ãã§ã¯ãããŸããã ããã¯ããã€ãã®åå ãåãé€ããŸããã ããã§ãåé¡ã解決ããªãå Žåã¯ãåé¡ãä¿®æ£ããããã®ãšã¯å¥ã®åé¡ã§ãã
@yinzaraåé¡ã®ãªãæ°ããã¯ã©ã¹ã¿ãŒã®å ã®èª¬æããã®ããã¹bãã®å€å žçãªã±ãŒã¹ããããŸãã Helm v2ãæ£åžžã«æ©èœããå¥ã®ã¯ã©ã¹ã¿ãŒã§ãããã®ãšã©ãŒãåçŸã§ããŸãã ãã¡ãããå€å žçãªãããã¯äœããåå ã§ãæ°ããåé¡ãéãããã³ã¹ãè¡ãããšã¯ã§ããŸããããããå®éã«ã¯ä¿®æ£ãããŠããªãããšãåã«èªèããæ¹ãæ©ããšæããŸãã
helm list
ã®åºåã¯äœã§ããïŒ ä»¥åã«å€±æãããªãªãŒã¹ã®ãã¹ããŒã¿ã¹ãã¯äœã§ããïŒ ãã«ã 2ã«ã¯ãã®åé¡ãããããŸã£ããä¿®æ£ãããŠããªãã®ã§ãããªãã®åé¡ã¯ããªããæã£ãŠãããã®ã§ã¯ãªããšæããŸãã
ããŒãžã§ã³3.2.1ã§ãåŒãç¶ãçºçããŸãã
æåã®ãããã€ã3å倱æãããšããã¹ãŠãã¹ã¿ãã¯ããŸã...ãã£ãŒããåé€ããŠé©åãªãã®ããããã€ããªããšãä¿®æ£ããæ¹æ³ããããŸããã
詳现ïŒ
helm history t3-mac -n t3 REVISION UPDATED STATUS CHART APP VERSION DESCRIPTION
1 Fri May 22 18:55:11 2020 failed t3-mac-2.13.0 2.13.0 Release "t3-mac" failed: timed out waiting for the condition
2 Fri May 22 19:33:44 2020 failed t3-mac-2.13.0 2.13.0 Upgrade "t3-mac" failed: timed out waiting for the condition
3 Fri May 22 19:57:51 2020 pending-upgrade t3-mac-2.13.0 2.13.0 Preparing upgrade
helm.exe upgrade --namespace t3b --install --force --wait t3b-mac t3b-mac-2.13.0.tgz
2020-05-22T18:14:01.7103689Z Error: UPGRADE FAILED: "t3b-mac" has no deployed releases
ãããã€ããããã£ãŒãã§åãåé¡ãçºçãããããã¯æ£åžžã«å®è¡ãããŠããŸã
vm-victoria-metrics-single-server-0 1/1 Running 0 2d18h
ããããç§ã¯ãããã¢ããã°ã¬ãŒãããããšã¯ã§ããŸããã
$ helm version
version.BuildInfo{Version:"v3.1.2", GitCommit:"d878d4d45863e42fd5cff6743294a11d28a9abce", GitTreeState:"clean", GoVersion:"go1.13.8"}
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.0", GitCommit:"9e991415386e4cf155a24b1da15becaa390438d8", GitTreeState:"clean", BuildDate:"2020-03-26T06:16:15Z", GoVersion:"go1.14", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.8", GitCommit:"ec6eb119b81be488b030e849b9e64fda4caaf33c", GitTreeState:"clean", BuildDate:"2020-03-12T20:52:22Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}
ismail ~ $ helm list
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
vm default 1 2020-05-23 16:20:35.243505 +0300 +03 deployed victoria-metrics-single-0.5.3 1.35.6
$ helm upgrade vm vm/victoria-metrics-single --set "-selfScrapeInterval=10"
Error: UPGRADE FAILED: "vm" has no deployed releases
ismail ~ $ helm upgrade --install vm vm/victoria-metrics-single --set "-selfScrapeInterval=10"
Release "vm" does not exist. Installing it now.
Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: namespace: , name: vm-victoria-metrics-single, existing_kind: policy/v1beta1, Kind=PodSecurityPolicy, new_kind: policy/v1beta1, Kind=PodSecurityPolicy
ç§ããããç§ã®åŽã§èµ·ãã£ãããšã確èªããŸã
@zodrazãã«ã ã®ã¹ããŒã¿ã¹ã¯ããšã©ãŒã®çç±ã瀺ããŠããŸãã ææ°ã®ãªãªãŒã¹ã¯å€±æãšããŠè¡šç€ºãããŠãããããä¿çäžã®ã€ã³ã¹ããŒã«ããšããŠè¡šç€ºãããŠããŸãã ããã¯ãæåŸã®ã¢ããã°ã¬ãŒãã管çããŠããããã»ã¹ããå®äºããåã«ïŒã€ãŸãããšã©ãŒãŸãã¯æåããåã«ïŒäººçºçã«çµäºããããšãæå³ããŸãã
ã¢ããã°ã¬ãŒããèš±å¯ããããã«ãæå¹ãªãšã©ãŒã¹ããŒã¿ã¹ãšããŠä¿çäžã®ã€ã³ã¹ããŒã«ã¹ããŒã¿ã¹ãå«ããªãããšããããžã§ã¯ãã¡ã³ããã®æ±ºå®ã§ããã ïŒã€ãŸããããã¯èšèšã©ããã«æ©èœããŠããŸãïŒ
ãã«ã ã®ã¢ããã°ã¬ãŒããå®äºããåã«ããªããã£ã³ã»ã«ãããŠããã®ãã確èªããããšããå§ãããŸãã ããã¯é¿ããããç¶æ³ã§ããã¯ãã§ãã
ãããã€ããããã£ãŒãã§åãåé¡ãçºçãããããã¯æ£åžžã«å®è¡ãããŠããŸã
vm-victoria-metrics-single-server-0 1/1 Running 0 2d18h
ããããç§ã¯ãããã¢ããã°ã¬ãŒãããããšã¯ã§ããŸããã
$ helm version version.BuildInfo{Version:"v3.1.2", GitCommit:"d878d4d45863e42fd5cff6743294a11d28a9abce", GitTreeState:"clean", GoVersion:"go1.13.8"} $ kubectl version Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.0", GitCommit:"9e991415386e4cf155a24b1da15becaa390438d8", GitTreeState:"clean", BuildDate:"2020-03-26T06:16:15Z", GoVersion:"go1.14", Compiler:"gc", Platform:"darwin/amd64"} Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.8", GitCommit:"ec6eb119b81be488b030e849b9e64fda4caaf33c", GitTreeState:"clean", BuildDate:"2020-03-12T20:52:22Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"} ismail ~ $ helm list NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION vm default 1 2020-05-23 16:20:35.243505 +0300 +03 deployed victoria-metrics-single-0.5.3 1.35.6 $ helm upgrade vm vm/victoria-metrics-single --set "-selfScrapeInterval=10" Error: UPGRADE FAILED: "vm" has no deployed releases ismail ~ $ helm upgrade --install vm vm/victoria-metrics-single --set "-selfScrapeInterval=10" Release "vm" does not exist. Installing it now. Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: namespace: , name: vm-victoria-metrics-single, existing_kind: policy/v1beta1, Kind=PodSecurityPolicy, new_kind: policy/v1beta1, Kind=PodSecurityPolicy
ããªãã®åé¡ã¯ç§ã«ãšã£ãŠéåžžã«å°æããŠãããšæããŸãã ããªããæã£ãŠãããã°åºåãèãããšããããã©ã®ããã«èµ·ãã£ãã®ãããããŸããã 3.2.1ã®ä¿®æ£ãªãªãŒã¹ã¯ã倱æãããªãªãŒã¹ããªããããç¶æ³ãæ¹åããããšã¯ã§ããŸããã ãã«ã ãªãªãŒã¹æ å ±ãå«ãç§å¯ã®ããã€ããKubernetesããåé€ããããšæããŸãã å¯èœã§ããã°ããªãªãŒã¹ãå®å šã«ã¢ã³ã€ã³ã¹ããŒã«ããŠåã€ã³ã¹ããŒã«ããããšããå§ãããŸãã
ããã«ã¡ã¯@yinzara ã
åé¡ã¯ããã£ã³ã»ã«ããªãã£ããšããããšã§ã... 3åç®ã®èµ·åïŒããã³ãšã©ãŒ...å±éã§ãšã©ãŒãçºçããŠå€±æããããïŒãããã®ãç Žæããç¶æ ãã«å°éããããšãç解ããŠããŸãã ã
ãã®ç¶æ ã¯å埩ã§ããŸãã...ãããã£ãŠããããä¿®æ£ããå¯äžã®æ¹æ³ã¯ããã£ãŒããåé€ããããšã§ã...ãããåé¿ããããã®åé¿çã¯ãã¢ãããã¯ãã©ã°ã䜿çšããŠåžžã«ããŒã«ããã¯ãããã®ãç Žæããç¶æ ãã«å°éããªãããã«ããããšã§ã...
ã¡ã³ããã®æ±ºå®ãç解ããŠããŸã...ããããããã¯æ··ä¹±ãæãã解決çã¯ãŸã£ãããããŸããïŒãã£ãŒããåé€ããªãå ŽåïŒã3ã€ã®ãšã©ãŒãçºçãããšãã«ãã®ç¶æ ã«éãããšèšã£ãããã«...ãã£ã³ã»ã«ããã«.. ã
ãšã«ãããæèšã¯ã¢ãããã¯ãã©ã°ãéããŠåŠã³ãããŒã«ããã¯ãè¡ããŸããã
ããã«ã¡ã¯@yinzara
ç§ã¯ããã倱æããçç±ãèŠã€ããŸããã
ééã£ããã©ã¡ãŒã¿ãèšå®ããŸãã-selfScrapeInterval=10
server.extraArgs.selfScrapeInterval = 10ã§ããå¿
èŠããããŸã
ãããã£ãŠããã©ã¡ãŒã¿ã®-
ã®åé¡ã
ãã«ã ãšã©ãŒã¯ããã®ã¿ã€ãã®å€æ°ãšã©ãŒã«ã¯æå³ããªãã£ãã®ã§ããããã
倱æãããã®ïŒ
ismail sf $ helm upgrade vm vm/victoria-metrics-single --set "-selfScrapeInterval=10"
Error: UPGRADE FAILED: "vm" has no deployed releases
æåïŒ
ismail sf $ helm upgrade vm vm/victoria-metrics-single --set "server.extraArgs.selfScrapeInterval=10"
Release "vm" has been upgraded. Happy Helming!
NAME: vm
LAST DEPLOYED: Tue May 26 22:35:15 2020
NAMESPACE: default
STATUS: deployed
REVISION: 3
TEST SUITE: None
NOTES:
TBD
ãããæ©èœããŸãïŒ
ismail sf $ helm upgrade vm vm/victoria-metrics-single --set "selfScrapeInterval=10"
Release "vm" has been upgraded. Happy Helming!
NAME: vm
LAST DEPLOYED: Tue May 26 22:37:43 2020
NAMESPACE: default
STATUS: deployed
REVISION: 4
TEST SUITE: None
NOTES:
TBD
ç§ã¯åãåé¡ãæ±ããŠããŸãïŒ 'ïŒãããŠç§ã¯ããŒã¿ã倱ãã®ã§ããŒãžã䜿ãããšãã§ããŸããããããŠãããããããšãã§ããŸãããç§ã¯ãã®åé¡ãéããããŠããããšãç¥ã£ãŠããŸãããç§ã ããç§ã®çã¿ãè¡šçŸããŠããŸãã
éèŠãªã¯ãŒã¯ããŒãããããã€ãããšãã¯ããã«ã ãªãªãŒã¹ãç Žæ£ããå¿ èŠããããŸãããã®çç±ãããistioã®istioctlã§ãããã«ã ãç Žæ£ããŸãïŒç§ã¯æšæž¬ããŸãïŒã ãã«ã ãã³ãã¬ãŒãã䜿çšãkubctl -f-ãã®åé¡ãåé¿ããããã§ããããã¡ããããã«ãããåé€ããããªãœãŒã¹ã«ã€ããŠèŠããŠããå¿ èŠãããåé¡ãçºçããŸãã
@GloriaPGããå€ãã®æ å ±ãå ±æã§ããŸããïŒ åãåé¡ãã©ã®ããã«çµéšããŠããŸããïŒ ã¹ã¬ããã§åè¿°ãã@yinzaraã®ããã«ãïŒ7652ãä¿®æ£ãããªãå ŽåããããŸãã ãã ãããã®çµè«ã«éããåã«ã圹ç«ã€æ å ±ãããã«å¿ èŠã§ãã
ããã«ã¡ã¯@bacongobbler
helm upgrade
ãš--install
ããã³--force
ãã©ã°ã䜿çšããŠããŸãã
helm upgrade --install ${PROJECT_NAME} ${CHART_NAME} \
 --namespace $NAMESPACE_NAME \
 --values ${SECRETS} \
 --values ${CONFIG_VALUES} \
 --force \
 --wait \
 --timeout ${MAX_WAIT_SECONDS} || rollback
æ®å¿µãªããããªãªãŒã¹ã倱æããç¶æ ã®å ŽåïŒ
$ helm list
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
PROJECT_NAME CHART_NAME 136 2020-07-09 14:13:09.192381483 +0000 UTC failed CHART_NAME-0.1.0
ãã®çµæïŒ
Error: UPGRADE FAILED: "PROJECT_NAME" has no deployed releases
Error: failed to replace object: Deployment.apps "PROJECT_NAME" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app":"PROJECT_NAME"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable
ã©ãããã°è§£æ±ºã§ããŸããïŒ ãšæããã--force
ãš--install
ãã©ã°ãåäœããŠããŸãã
ããã¯æ¬çªç°å¢ã§ããããããªãªãŒã¹ãããŒãžããŠæåããäœæããããšã¯ã§ããŸãã:(
ææ¡ãããããšã
ãšã©ãŒã¯https://github.com/kubernetes/client-go/issues/508ã«é¢é£ããŠããããã§ã
ãããã€ã¡ã³ãã§ã»ã¬ã¯ã¿ãŒãå€æŽããããšã¯ã§ããŸããã ã¢ã³ãããã€ããŠåãããã€ããå¿
èŠããããŸãã
@yinzaraé¢çœãã®ã¯ããããã€ã¡ã³ãã§ã»ã¬ã¯ã¿ãŒãå€æŽããŠããªãããšã§ãããã¹ãŠã9/10ãªãªãŒã¹ã§æ©èœããŠããŸãã å±éäžã®1ã€ã§ããªãªãŒã¹ã倱æãããªãªãŒã¹ã倱æããç¶æ ã«ãªããããããå埩ããããšãã§ããŸãããå±éèªäœã¯æ©èœãããããã¯å®è¡ãããŠããŸãããå€æŽã§ããªããªããŸããã
ãªãªãŒã¹ã倱æããç¶æ
ã«ãªã£ãåŸãhelmã䜿çšããŠãããå€æŽã§ããªããªãã®ã¯å°ãçŽæã«åããŸãã ãã©ã°--force
ã䜿çšãããšãå±éå
šäœã眮ãæããããå€æŽã匷å¶çã«é©çšãããã§ãããšæããŸãããæ¢åã®ãªãªãŒã¹ãä¿®æ£ããŠæäœããæ¹æ³ãèŠã€ãããŸããã§ããã
æ®å¿µãªãããããã¯å®éã«ã¯èµåãã®åé¡ã§ã¯ãªãããã§ãã ãªãªãŒã¹ã«é¢ããŠåé¡ãçºçããkubernetesã§ã¯ç¶æ ãæªãã§ãã ã»ã¬ã¯ã¿ãŒããã¡ããã¡ãã«ãªã£ãŠããããäœããæåŸ ã©ããã§ã¯ãªãå¯èœæ§ããããŸããããapp-nameãã«ãªãªãŒã¹ããããã€ãããŠããªãããšã«ã€ããŠè¡šç€ºããããšã©ãŒã¯ãåãªãèµ€ããã·ã³ã§ãã
以åã®ããŒãžã§ã³ãžã®ããŒã«ããã¯ãè©ŠããŸãããããªãªãŒã¹ã¯deployed
ã¹ããŒã¿ã¹ã«ãªããŸããã æ®å¿µãªããäœãå€ãããªãã®ã§ãæ®å¿µãªããåé€ããŠå床ãããã€ããããæ¹æ³ã¯ãªããšæããŸãã
ãããã£ãŠãããã«é¢ããç§ã®ç¹å®ã®åé¡ã¯ç°¡åã«åçŸã§ããŸãã
helm3ïŒ --atomic
ãš--cleanup-on-fail
ïŒã䜿çšããŠäœãã®ãããã€ãéå§ãããªãœãŒã¹ã®äœæãéå§ããåŸãããã»ã¹ãctrl + cããŸãã äœãããŒã«ããã¯ãããããªãœãŒã¹ã¯ãŸã ååšãããã®åŸinstall --upgrade
ãå®è¡ããããšãããšãããªãªãŒã¹ããããã€ãããŠããŸããããšãããšã©ãŒãçºçããŸãã
ãã®ctrl + cã¯ãæ¬è³ªçã«ããã«ãããã§ã«å®è¡ãããŠãããšãã«èª°ããCIã·ã¹ãã ã®ãã©ã³ãã«æ°ããã³ããããããã·ã¥ãããšãã«çºçããŸãããã«ã ã®ã¢ããã°ã¬ãŒãã¯ãã£ã³ã»ã«ãããå®å šã«å£ããç¶æ ã«ãªããŸãã
ãã®æç¹ä»¥éã«ä¿®æ£ããããã«ã§ããããšã¯ãããŸããïŒ ãã®ã¹ã¬ããã®ä»ã®å€ãã®å Žåãšåæ§ã«ãåé€ã¯ãªãã·ã§ã³ã§ã¯ãããŸããã
ç·šéïŒãããå£ãããšã helm ls
ã¯ãªãªãŒã¹ã衚瀺ããã helm history
ã¯ä¿çäžã®ã€ã³ã¹ããŒã«ç¶æ
ã§è¡šç€ºããŸãã
å®éãæ°ã«ããªãã§ãã ããã ãã®åœ±é¿ãåãããŠãŒã¶ãŒã«ã¯ã1ã€ã®è§£æ±ºçããããŸããkubernetesããå±¥æŽã¬ã³ãŒããæåã§åé€ããŸãã ã·ãŒã¯ã¬ãããšããŠä¿åãããŸãã åé¡ã®ããpending-install
ç¶æ
ãšã³ããªãåé€ãããšã upgrade --install
å床æ£åžžã«å®è¡ã§ããŸãã
@ AirbornePorcine-ä¿çäžã®ã€ã³ã¹ããŒã«ãšã³ããªãåé€ããããã«kubernetesã§å¿ èŠãªå€æŽã«ã€ããŠè©³ããæããŠãã ããã
@ tarunnarang0201 Helmã¯ããããã€å ãšåãåå空éã«ããããã€ããšã«kubernetesã·ãŒã¯ã¬ãããäœæããŸããã¿ã€ãã¯ãhelm.sh/release.v1ãã§ããsh.helm.release.v1.releaseãã®ãããªååãä»ããããŠããŸãã -name.v1 'ã ææ°ã®ã·ãŒã¯ã¬ãããåé€ããå¿ èŠããããŸãïŒäŸã®ãv1ããµãã£ãã¯ã¹ãèŠãŠãã ããããããã€ããšã«å¢åãããŸãïŒãããã«ããããããã¯ã解é€ãããããã§ãã
@AirbornePorcineããããšãïŒ
@AirbornePorcine @ tarunnarang0201 @ ninja-ã¹ããŒã¿ã¹ã©ãã«ã«ããããé©çšããããšãã§ããŸã...ç¹ã«ä»¥åã®DEPLOYEDãªãªãŒã¹ããªãå Žåã¯ããã§ãã
Helm 3ã«ã€ããŠã¯ã httpsïŒ //github.com/helm/helm/issues/5595#issuecomment-580449247ã§ç§ã®ã³ã¡ã³ããåç §ããŠ
Helm 2ã®è©³çŽ°ãšæé ã«ã€ããŠã¯ã httpsïŒ //github.com/helm/helm/issues/5595#issuecomment-575024277ã®ã³ã¡ã³ããåç §ããŠ
ãã®äŒè©±ã¯é·ãããŸã...ãããŠåã³ã¡ã³ãã«ã¯1ã€ã®è§£æ±ºçããããŸã....çµè«ã¯äœã§ããïŒ
å€ãhelm2.12ã䜿çšããŠããŠãåé¡ãçºçããããšã¯ãããŸããããv3.2.4ã§ã¯ã以åã«å€±æããå±éããã®ãšã©ãŒã§å€±æããŸãã
ã¡ãªã¿ã«Terraformãšææ°ã®ãã«ã ãããã€ããŒã䜿çšããŠããŸãã ãããã£ãŠã --force
ãŸãã¯--replace
ã䜿çšããå¿
èŠããããŸã
@xbmonoããã®ã§äŒè©±ãé·ã
ããªãªãŒã¹ããããã€ãããŠããŸããããšãããšã©ãŒãçºçããå Žåã install --replace
ãupgrade --install --force
ãããã ãã§åœ¹ç«ã€ãã©ããã¯ããããŸããã
è³¢æãªææ¡ã¯ããããäžããããã ãã§ã
helm history
æäŸããŠã人ã
ãäœãèµ·ãã£ããã確èªã§ããããã«ãããšå¯èœãªãªãã·ã§ã³ã®èŠçŽ
helm uninstall && helm install
ããªãã·ã§ã³ã«ãªãå¯èœæ§ããããŸãhelm install
å床åé€ã§ããŸãã --atomic
ãªã©ã䜿çšãããã©ããã«å¿ããŠãé害ãåå ã§cruftãæ®ã£ãå Žåã¯ãk8sãªãœãŒã¹ãæåã§ã¯ãªãŒã³ã¢ããããå¿
èŠããããããããŸããã--wait
edã€ã³ã¹ããŒã«ãéäžã§æŸæ£ãã helm history
ãæåŸã®ãªãªãŒã¹ãpending-install
ããšã瀺ããŠããå Žåã¯ãææ°ã®ãªãªãŒã¹ã·ãŒã¯ã¬ããã¡ã¿ããŒã¿ãåé€ãããããªãªãŒã¹ã¹ããŒã¿ã¹ã«ããããé©çšã§ãupgrade
é²ãããšãã§ããããããç§ã®ç¥ãéãããããã®ã±ãŒã¹ã®ã»ãšãã©ã¯å¯ŸåŠãããŸããïŒ7653ãŸã§ã«ïŒå±¥æŽã®ã©ããã«æ»ãããã®deployed
ãªãªãŒã¹ãããããšã確èªããããïŒãªã®ã§ããããä»äŸ¿å©ã ã£ããé©ããŸããããã¯ã¯ããŒãºããªåé¡ã§ããããããšã«ããå¥ã®ããå ·äœçãªãã±ããã§ãããã°ããã³ææžåããã®ã«é©ããæ ¹æ¬çãªåå ããããšæããŸãã
@chadlwilsonãåçããããšãããããŸãã
helm history
ã¯è¡ãè¿ããŸããïŒ
Error: release: not found
ãã ãã helm list
ã¯å€±æãããããã€ã¡ã³ããè¿ããŸã
M:\>helm3 list -n cluster171
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
cluster171 cluster171 1 2020-09-01 04:45:26.108606381 +0000 UTC failed mychart-prod-0.2.0-alpha.10 1.0
Terraformã䜿çšããŠãããç°å¢ã¯Jenkinsã«ãã£ãŠ1æéããšã«èªåçã«ãããã€ãããŸãã ãã©ãã©ãŒã ã§ã¯helm upgrade
䜿çšã§ããŸãããããã¯ãã«ã ãããã€ããŒãè¡ã£ãŠããããšã§ã
ãã©ãã©ãŒã ã³ãŒãã§ã¯ã force_update
ãtrue
ã«èšå®ããŸããããéããããŸããã replace
ãtrue
ããããéããããŸããã
resource "helm_release" "productStack" {
name = "${var.namespace}"
namespace = "${var.namespace}"
chart = "${var.product_stack}"
force_update = true//"${var.helm_force_update}"
max_history = 10
replace = true
wait = true
timeout = "${var.timeout_in_seconds}"
}
ããã§ãããã¯wait=true
ã ãããïŒ ãããã£ãŠã以åã®ãããã€ã倱æããçç±ã¯ãã¯ã©ã¹ã¿ãŒãdockerãªããžããªãšéä¿¡ã§ããªãã£ãããã timeout
å°éããã¹ããŒã¿ã¹ã¯failed
ããåé¡ãšpods
ãä¿®æ£ããŸããã helm delete
æ©èœããŸãããæ¯åãããè¡ããšããããŒãžã£ãŒãéçºè
ãæºè¶³ããŸãã
helm v2ã§ã¯ããããã€ã¡ã³ãã倱æããéçºè ããããä¿®æ£ããå Žåã次ã®ãããã€ã¡ã³ãã¯å€±æãããããã€ã¡ã³ããã¢ããã°ã¬ãŒãããŸãã
M:\>helm3 list -n cluster171 NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION cluster171 cluster171 1 2020-09-01 04:45:26.108606381 +0000 UTC failed mychart-prod-0.2.0-alpha.10 1.0
helm history
倱æã¯å¥åŠã«æããŸãïŒã¿ã€ããã¹ïŒåå空éã®æ¬ èœïŒãã«ã ããŒãžã§ã³ã®ééãïŒïŒããäžèšã®list
ã®ãªããžã§ã³1
ãèãããšãæåã«ããããšããŠããããã§ãæ°ãããã£ãŒãã®æéã€ã³ã¹ããŒã«ãšæåã®ã€ã³ã¹ããŒã«ã倱æããŸããã ãããã¯ã解é€ããããšããŠããå Žåã¯ãäžèšã®ããã«ãªãªãŒã¹ã·ãŒã¯ã¬ããã¡ã¿ããŒã¿ãåé€ããããã¹ããŒã¿ã¹ã«ããããé©çšããŠãåè©Šè¡ããŠãã ããã ããã¯ãHelmãŸãã¯Helm Terraform Providerã®èŠ³ç¹ããã¯ã¡ã¿ããŒã¿ãæªãç¶æ
ã«ããããšã瀺ããŠããå¯èœæ§ããããŸãããã©ã®ããã«ããŠããã«å°éãããã¯ç€ºããŠããŸããã
ãããã«ãããïŒ7653ãããŒãžãããŠä»¥æ¥ãHelm 3.2.1
倱æããååãããã€ã«å¯ŸããŠupgrade
ãå®è¡ããããšã«åé¡ã¯ãããŸããã ãããã€ããŒãå®éã«äœ¿çšããŠããç¹å®ã®HelmããŒãžã§ã³ãå確èªããããšããå§ãããŸããïŒ ãŸããHelmTerraformãããã€ããŒãinstall
倱æåŸã®ãªãªãŒã¹ã®ç¶æ
ãææ¡ããæ¹æ³ã«é¢ä¿ããŠããå¯èœæ§ããããŸãã ç§ã¯ãã®ãããã€ããŒã®çµéšããªããåé¡ãçºçãããšããã«äžéæã«ãªããããå人çã«ã¯TFãªã©ã®å¥ã®å®£èšåæœè±¡åã§Helmãã©ããããããšã«è³æããŸããããåãããã«ããã«æãäžããããšæããããããŸããã ã
ãããã«ãããäžã§è¿°ã¹ãããã«ãæåã®å±éã倱æããåŸãçºçãããšã©ãŒãhas no deployed releases
ã§ããå Žåã replace
ãforce
ãèããããŸããã 51人ã®åå è
ããããã®å€ãã¯ããŒãºããã±ãããè¡ã£ããæ¥ããããããšã¯ãé¢ä¿è
å
šå¡ã«ãšã£ãŠããã»ã©çç£çã§ã¯ãªãããã«æããããããä»ã®ä»å
¥ãªãã«ç¶æ³ã埩掻ãããã®ã«åœ¹ç«ã€å¯èœæ§ããããŸãã
ã¿ã€ããã¹ã¯ãããŸããã§ããã ãŸããããã¯ãæåã®å±éããã以éãã«é¢ä¿ãªãçºçããŸãã
åè¿°ããããã«ã --wait
ãªãã·ã§ã³ã䜿çšããŠãJenkinsã§ã®å±éãåŸ
æ©ããå±éã倱æãããã©ãããéç¥ããŸãã
ã¿ã€ã ã¢ãŠãã«éããŠå±éãæåããªãã£ãå Žåã helm
ã¯å±éãfailed
ãšããŠããŒã¯ãããã®ãªãªãŒã¹ãæåã§åé€ãã以å€ã«å埩ããæ¹æ³ã¯ãªãããã§ãã ãããŠããããæãã®ã§ããªãªãŒã¹ãèªåçã«åé€ããããããŸããã
ãããã£ãŠã --wait
ãªãã·ã§ã³ãåé€ãããšã helm
ã¯ãå±éã«é¢ä¿ãªãsuccessful
ãšããŠããŒã¯ãä»ããŸãã
ä»ãç§ã¯å¥ã®è§£æ±ºçãèŠã€ããŸããã åãåé¡ããããèªååã以åãšåãããã«ããŸãæ©èœããããšãæãã§ãã人ã®ããã«ããããç§ã®åé¿çã§ãïŒ
helm
ãããã€ãã--wait
ãªãã·ã§ã³ãåé€ããŸãkubectl get deployments -n ${namespace} -o jsonpath='{range .items[*].metadata}{.name}{","}{end}'
split
ã䜿çšããŠãäžèšã®ã«ã³ãåºåãã®ãªã¹ããé
åã«å€æã§ããŸãkubectl rollout status deployment ${deploymentName} --watch=true --timeout=${timeout} -n ${namespace}
ãšããŠäžŠè¡ããŠå®è¡ã§ããŸãïŒJenkinsã䜿çšããŠãããããç°¡åã«å®è¡ã§ããŸãïŒãtimeout
åŸãããšãã°7m
7åãæå³ããå Žåãå±éã¯ãŸã æåãããã³ãã³ãã¯ãšã©ãŒã§çµäºããŸãå®éãæ°ã«ããªãã§ãã ããã ãã®åœ±é¿ãåãããŠãŒã¶ãŒã«ã¯ã1ã€ã®è§£æ±ºçããããŸããkubernetesããå±¥æŽã¬ã³ãŒããæåã§åé€ããŸãã ã·ãŒã¯ã¬ãããšããŠä¿åãããŸãã åé¡ã®ãã
pending-install
ç¶æ ãšã³ããªãåé€ãããšãupgrade --install
å床æ£åžžã«å®è¡ã§ããŸãã
ãããã¯ãããã¯ç§ã®ããã«åããïŒ
helm uninstall {{release name}} -n {{namespace}}
kubectl -n $namespace delete secret -lstatus=pending-upgrade
ä¿®æ£
ããäžåºŠãã«ã ãå®è¡ããŸãã
ãªããããéããããŠããã®ãããããŸãããçæ°ããHelm3.3.4ã§ãããããŸããã åæã€ã³ã¹ããŒã«ã倱æããå Žåã§ãã2çªç®ã®helm upgrade --install--forceã¯åããšã©ãŒã衚瀺ããŸãã ãããã®åé¿çã¯ãã¹ãŠæ©èœããŸããã
ãããæåã®ãªãªãŒã¹ã§ãããšãããã©ã°ãåã«è¿œå ããããšãèãã人ã¯ããã®ã§ãèªåçã«åé€ããã ãã§å®å šã§ãã ãŸãã¯ãã-force-delete-on-failureãã®ãããªãã®ãè¿œå ããŸããïŒ åé¡ãç¡èŠããŠã圹ã«ç«ã¡ãŸããã
@ nick4fake AFIKããã¯PRïŒ7653ã«ãã£ãŠéããããŸããã @yinzaraã¯ããå€ãã®è©³çŽ°ãæäŸã§ãããããããŸããã
ã¢ããã°ã¬ãŒãåŸ ã¡ã®ãªãªãŒã¹ãäžæžãããªãããã«ããããšã¯ãã¡ã³ããã«ãã決å®ã§ããã ãããããã¹ãŠã®åé¿çã¯CI / CDãã€ãã©ã€ã³ã§ã¯æ©èœããªãåé¿çã§ãããšããããªãã®å£°æã¯çå®ã§ã¯ãããŸããã æåŸã«ææ¡ãããåé¿çã¯ããã«ã ã¢ããã°ã¬ãŒããå®è¡ããåã«ãã«ãã¹ããããšããŠè¿œå ã§ããŸãïŒCI / CDãã€ãã©ã€ã³ã§ã¯--forceã䜿çšããŸããïŒã ããã¯ã倱æã®åå ããããã°ã§ããããã«ããã®ã§ã¯ãªãã次ã®ãªãªãŒã¹ãã€ã³ã¹ããŒã«ããçŽåã«ãªãªãŒã¹ãåé€ããããšãé€ããŠãææ¡ãããã®ãšåãå¹æããããŸãã
ãŸããèªåãã«ãã§ä»¥äžã䜿çšããŠãã¢ããã°ã¬ãŒãã³ãã³ããå®è¡ããåã«ãä¿çäžãã®ãªãªãŒã¹ãã¢ã³ã€ã³ã¹ããŒã«ããŸããïŒNS_NAMEç°å¢å€æ°ããããã€å
ã®åå空éã«èšå®ããŠãã ããïŒã
`` `bash
RELEASES = $ïŒhelm list --namespace $ NS_NAME --pending --output json | jq -r 'ã[] | selectïŒ.status == "pending-install"ïŒ| .name'ïŒ
if [[ïŒ -z "$ RELEASES"]]; ãã®åŸ
helm delete --namespace $ NS_NAME $ RELEASES
fi
@yinzaraã¹ãããããããããšããããã¯ãã®ã¹ã¬ãããèŠã€ãã人ã«ãšã£ãŠéåžžã«åœ¹ã«ç«ã¡ãŸãã
ç§ã®äž»åŒµã¯ãŸã æå¹ã§ã-åã«ãªãªãŒã¹ãåé€ããã®ã¯å®å šã§ã¯ãããŸããã åäžã®ãªãœãŒã¹ã«é害ãçºçããå ŽåãHelmããªãªãŒã¹ã匷å¶çã«ã¢ããã°ã¬ãŒãã§ããªãã®ã¯ãªãã§ããïŒ ãªãªãŒã¹ãæ°ããããŒãžã§ã³ã«çœ®ãæããããšã¯ãå®å šã«åé€ãããããè¯ã解決çã®ããã§ãã Helmã®ã³ã¢ã®åºæ¬ïŒç¶æ ã®ç®¡çæ¹æ³ãªã©ïŒãç解ã§ããªããããç解ã§ããªãå¯èœæ§ããããŸãããæåã®ã€ã³ã¹ããŒã«ã倱æããå Žåã«ãŠãŒã¶ãŒã«æåã§ä»å ¥ãããæ¹ãããçç±ã¯ãŸã ããããŸããã
ã€ãŸãããã®ãã£ã¹ã«ãã·ã§ã³ã¹ã¬ããã確èªããã ãã§ã人ã ã¯ãŸã åé¡ã«çŽé¢ããŠããŸãã ãã®ã¹ã¬ãããžã®ãªã³ã¯ãšããã€ãã®ææ¡ãå«ãHelmãšã©ãŒã¡ãã»ãŒãžã«ããã€ãã®è¿œå æ å ±ãè¿œå ããå¯èœæ§ã«ã€ããŠã©ãæããŸããïŒ
@ nick4fake ã倱æããšãä¿çäžã®ã€ã³ã¹ããŒã«ãã
å³æžé€šã®ã¡ã³ããã¯ã倱æãããªãªãŒã¹ã«ã€ããŠããªãã«åæããŸããããã圌ããç§ã®PRãåãå ¥ããçç±ã§ãã
ã倱æããããªãªãŒã¹ã¯ã¢ããã°ã¬ãŒãã§ããŸãã ãããç§ã®PRãããããšã§ãã ãªãœãŒã¹ã®1ã€ã倱æããããã«ãªãªãŒã¹ã倱æããå Žåã¯ããã®ãªãªãŒã¹ãã¢ããã°ã¬ãŒãããã ãã§ïŒã€ãŸããupgrade --installãæ©èœããŸãïŒããapp-nameãã«ãªãªãŒã¹ããããã€ãããŠããªããšãããšã©ãŒã¯è¡šç€ºãããŸããã
ããªãã¯ãä¿çäžã®ã€ã³ã¹ããŒã«ããªãªãŒã¹ã«ã€ããŠè©±ããŠããã ã¡ã³ããã¯ãä¿çäžã®ã€ã³ã¹ããŒã«ãªãªãŒã¹ïŒåŒ·å¶ãŸãã¯ãã®ä»ïŒãã¢ããã°ã¬ãŒãã§ããããã«ããã®ã¯å®å šã§ã¯ãªããšèããŠããŸããããã¯ããŸã é²è¡äžã§ããããèªåçã«è§£æ±ºã§ãããšã¯æããªãéšåçã«å®å šãªç¶æ ã«ãªã£ãŠããå¯èœæ§ãããããã§ãã ç§ã®PRã¯åœåãã®ç¶æ ãèš±å¯ããã¡ã³ããã¯ç§ã«ãããåé€ããããã«äŸé ŒããŸããã
ãã®ç¶æ ã®ãªãªãŒã¹ãèŠã€ããå Žåã¯ããããã€ã¡ã³ãæ§æãåæ€èšããããšããå§ãããŸãã ããã¯ãé©åã«æ§æãããCI / CDãã€ãã©ã€ã³ã§ã¯çºçããªãã¯ãã§ãã 倱æãããæåããã¯ãã§ãã ãä¿çäžãã¯ãã€ã³ã¹ããŒã«ããŸã åŠçäžã«ãã£ã³ã»ã«ãããããšãæå³ããŸãã
ç§ã¯ã¡ã³ããã§ã¯ãªãã®ã§ãããªãã®ææ¡ã«å¯Ÿããç§ã®æèŠã¯ç¡é¢ä¿ã§ãããå®éã«ãšã©ãŒãã¡ãã»ãŒãžã§åºåãããGithubã®åé¡ã«ã€ããŠã®èšåãã³ãŒãããŒã¹ã«èŠã€ãããªãã®ã§ã圌ãã¯ãããèš±å¯ããªããšæããŸãããããªãã¯'PRããŸãšããŠåç §ããŠãã ãã:-)
ããã¯èšã£ãŠããç§ã¯ããªãã®äž»åŒµããŸã æå¹ã§ãããšããããªãã®å£°æã«åæããŸããã ç§ã®ææ¡ã¯ä¿çäžã®ãªãªãŒã¹ãåé€ããå¯èœæ§ããããŸãããããªãã®çŽåã®@abdennourã®ææ¡ã¯ãä¿çäžã®ã€ã³ã¹ããŒã«ãªãªãŒã¹ã説æããã·ãŒã¯ã¬ãããåé€ããããšã§ãã ãããè¡ãå ŽåããªãªãŒã¹ãããªãœãŒã¹ãåé€ããããšã¯ãªãããªãªãŒã¹ãã¢ããã°ã¬ãŒãã§ããŸãã
ãã®ã¹ã¬ãããžã®ãªã³ã¯ãšããã€ãã®ææ¡ãå«ãHelmãšã©ãŒã¡ãã»ãŒãžã«ããã€ãã®è¿œå æ å ±ãè¿œå ããå¯èœæ§ã«ã€ããŠã©ãæããŸããïŒ
ããã«+1ã ãã®ã¹ã¬ãããèŠã€ããŠã pending-install
ãªãªãŒã¹ãšã¯äœããç解ããããã«ããŸã ã°ãŒã°ã«ã§æ€çŽ¢ããå¿
èŠãããã®ã§ããã®ãšã©ãŒã¡ãã»ãŒãžã«ã€ããŠæšè«ãå§ããããšãã§ããŸãã
helm upgrade
åé¡ãããããããç§ãããã«å°ããŸããã -n <namespace>
è¿œå ããããšã§è§£æ±ºããŸããã å€åããã¯ããã«èª°ããå©ããã§ãããã
Helm3ã®å Žåããããã§è§£æ±ºã§ããŸãkubectl -n <namespace> patch secret <release-name>.<version> --type=merge -p '{"metadata":{"labels":{"status":"deployed"}}}'
release-name
ããã³version
- kubectl get secrets -n <namespace> | grep helm
ããèŠãããšãã§ããŸã
æãåèã«ãªãã³ã¡ã³ã
倧è³æã§ãã ç§ãã¡ã®ãããã¯ã·ã§ã³ã§ãåããšã©ãŒãçºçããŠããŸãã ãããã£ãŠããã£ãŒããåé€ããããšã¯ãªãã·ã§ã³ã§ã¯ãªããã€ã³ã¹ããŒã«ã匷å¶ããããšã¯å±éºãªããã§ãã ãã®ãšã©ãŒã¯Helm3ã§ãåŒãç¶ãçºçããŸãããã®ãããä¿®æ£ãŸãã¯ããå®å šãªåé¿çãå«ããããšããå§ãããŸãã