更改配置后如何部署发行版?

时间:2019-05-09 15:31:11

标签: kubernetes jupyter devops kubernetes-helm jupyterhub

我在集群中成功释放了jhub。然后,我按照documentation中所述更改了配置,以提取另一个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

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

我遇到以下问题:

UPGRADE FAILED
ROLLING BACK
Error: "jhub" has no deployed releases
Error: UPGRADE FAILED: "jhub" has no deployed releases

然后我通过kubectl delete ns/jhub删除了命名空间,并通过helm delete --purge jhub进行了释放。再次徒然尝试此命令,再次出现相同的错误。

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

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

注意:正如您在上述文档中所发现的,将创建一个pvc。

3 个答案:

答案 0 :(得分:2)

当我尝试更新GKE中的config.yaml文件时,我遇到了同样的问题。实际上,对我有用的是重新执行以下步骤:

  1. 运行curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash

  2. helm init --service-account tiller --history-max 100 --wait

  3. [可选] helm version,以验证您的输出是否与文档类似

  4. 添加存储库

helm repo add jupyterhub https://jupyterhub.github.io/helm-chart/
helm repo update
  1. 运行升级
RELEASE=jhub
NAMESPACE=jhub

helm upgrade $RELEASE jupyterhub/jupyterhub \
  --namespace $NAMESPACE  \
  --version=0.9.0 \
  --values config.yaml

答案 1 :(得分:0)

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

helm init --tiller-namespace=<ns> --upgrade

可与kubectl 1.10.0和helm 2.3.0一起使用。我想这会将分till升级到兼容的头盔版本。

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

export KUBECONFIG=<*.kubeconfig>

在我的情况下,配置cluster.server字段已更改,但是context.name和current-context字段与上一个配置相同,不确定是否重要。在第一次尝试部署带有头盔的新版本时,我遇到了相同的问题,但是在首次成功部署之后,足以更改KUBECONFIG变量。 希望对您有所帮助。

答案 2 :(得分:0)

将以下内容添加到我的gCloud中。每当我更新config.yaml文件时,我都会运行它。在运行之前,请确保已连接到正确的Kubernetes集群。

update.sh
# Installs Helm.
curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get | bash

# Make Helm aware of the JupyterHub Helm chart repo.
helm repo add jupyterhub https://jupyterhub.github.io/helm-chart/
helm repo update

# Re-installs the chart configured by your config.yaml.
RELEASE=jhub
JUPYTERHUB_VERSION=0.9.0
helm upgrade $RELEASE jupyterhub/jupyterhub \
  --version=${JUPYTERHUB_VERSION} \
  --values config.yaml