更改配置后如何部署发布?

Avi*_*ava 5 kubernetes jupyter devops jupyterhub kubernetes-helm

我已经在我的集群中成功发布了 jhub。然后我更改了配置以提取另一个 docker 镜像,如文档中所述。

这一次,在运行相同的旧命令时:

# Suggested values: advanced users of Kubernetes and Helm should feel
# free to use different values.
RELEASE=jhub
NAMESPACE=jhub

helm upgrade --install $RELEASE jupyterhub/jupyterhub \
  --namespace $NAMESPACE  \
  --version=0.8.2 \
  --values jupyter-hub-config.yaml
Run Code Online (Sandbox Code Playgroud)

jupyter-hub-config.yaml文件在哪里:

proxy:
  secretToken: "<a secret token>"
singleuser:
  image:
    # Get the latest image tag at:
    # https://hub.docker.com/r/jupyter/datascience-notebook/tags/
    # Inspect the Dockerfile at:
    # https://github.com/jupyter/docker-stacks/tree/master/datascience-notebook/Dockerfile
    name: jupyter/datascience-notebook
    tag: 177037d09156
Run Code Online (Sandbox Code Playgroud)

我遇到以下问题:

UPGRADE FAILED
ROLLING BACK
Error: "jhub" has no deployed releases
Error: UPGRADE FAILED: "jhub" has no deployed releases
Run Code Online (Sandbox Code Playgroud)

然后我删除了命名空间 viakubectl delete ns/jhub和 release via helm delete --purge jhub。再次尝试此命令无效,再次出现相同的错误。

我读了一些 GH 问题,发现 YAML 文件无效或--force标志有效。但是,就我而言,这两个都无效。

我希望发布此版本并学习如何编辑当前版本。

注意:正如您在上述文档中所见,创建了一个 pvc。

小智 1

更改 kubeconfig 后,下一个解决方案对我有用

helm init --tiller-namespace=<ns> --upgrade
Run Code Online (Sandbox Code Playgroud)

适用于 kubectl 1.10.0 和 helm 2.3.0。我想这会将tiller升级到兼容的helm版本。

不要忘记在使用此命令之前设置 KUBECONFIG 变量 - 如果您在更改 kubeconfig 后没有执行此操作,则此步骤本身可能会解决您的问题。

export KUBECONFIG=<*.kubeconfig>
Run Code Online (Sandbox Code Playgroud)

就我而言,配置中的 cluster.server 字段已更改,但 context.name 和 current-context 字段我保留与之前的配置相同的内容,不确定这是否重要。我第一次尝试使用 helm 部署新版本时遇到了同样的问题,但在第一次成功部署后,更改 KUBECONFIG 变量就足够了。我希望它有帮助。