使用 helm 进行 kubernetes 滚动更新

kubernetes rolling update using helm

我是 Helm 的新手。我已经在我的 windows 系统上安装了 Minikube & Helm。我可以使用 Helm 创建 pods 并在仪表板中查看部署、pods 和复制集。

我想使用 Helm 进行滚动更新。指导我如何使用 Helm 在 K8s 中进行滚动更新。

使用 Helm 创建 Tomcat pod

helm create hello-world

在 deployment.yaml

中更改了图像名称和部署名称
kind: Deployment
metadata:
  name: mytomcat
spec:
      containers:
        - name: {{ .Chart.Name }}
          image: tomcat

安装

helm install hello-world

NAME:   whopping-dolphin
LAST DEPLOYED: Wed Aug 30 21:38:42 2017
NAMESPACE: default
STATUS: DEPLOYED

RESOURCES:
==> v1/Service
NAME                          CLUSTER-IP  EXTERNAL-IP  PORT(S)  AGE
whopping-dolphin-hello-world  10.0.0.178  <none>       80/TCP   0s

==> v1beta1/Deployment
NAME      DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE
mytomcat  1        1        1           0          0s


NOTES:
1. Get the application URL by running these commands:
  export POD_NAME=$(kubectl get pods --namespace default -l "app=hello-world,release=whopping-dolphin" -o jsonpath="{.items[0].metadata.name}")
  echo "Visit http://127.0.0.1:8080 to use your application"
  kubectl port-forward $POD_NAME 8080:80

我在仪表板中看到 mytomcat 部署和 pod mytomcat-2768693561-hd2hd。

现在我想给出命令,它将删除我当前在 k8s 中的部署和 pod,它应该创建新的部署和 pod。

如果我得到示例命令和 yaml,将会很有帮助。

以下命令对于滚动更新工作正常。

  1. 第一次安装
  2. 下次升级

helm upgrade --install tom-release --set appName=mytomcatcon hello-world

tom-release 是我的版本名称并使用 --set 选项将运行时值传递给 helm chart