使用头盔的kubernetes滚动更新

使用头盔的kubernetes滚动更新,kubernetes,minikube,kubernetes-helm,Kubernetes,Minikube,Kubernetes Helm,我是新掌舵的。我已经在我的windows系统上安装了Minikube&Helm。我能够使用头盔创建吊舱,并在仪表板中查看部署、吊舱和复制集 我想使用头盔进行滚动更新。指导我如何使用头盔在K8s中进行滚动更新 使用Helm创建Tomcat吊舱 创建hello world 已更改deployment.yaml中的映像名称和部署名称 kind: Deployment metadata: name: mytomcat spec: containers: - name: {

我是新掌舵的。我已经在我的windows系统上安装了Minikube&Helm。我能够使用头盔创建吊舱,并在仪表板中查看部署、吊舱和复制集

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

使用Helm创建Tomcat吊舱

创建hello world

已更改deployment.yaml中的映像名称和部署名称

kind: Deployment
metadata:
  name: mytomcat
spec:
      containers:
        - name: {{ .Chart.Name }}
          image: tomcat
安装

hello world头盔安装

名称:大海豚
最后部署时间:2017年8月30日星期三21:38:42
名称空间:默认值
状态:已部署
资源:
==>v1/服务
名称CLUSTER-IP EXTERNAL-IP端口年龄
大海豚你好世界10.0.0.17880/TCP 0s
==>v1beta1/部署
名称所需的当前最新可用年龄
mytomcat 1 10 0s
笔记:
1.通过运行以下命令获取应用程序URL:
export POD_NAME=$(kubectl get pods--命名空间默认值-l“app=hello world,release=whoping dolphin”-o jsonpath=“{.items[0].metadata.NAME}”)
“回声”访问http://127.0.0.1:8080 使用您的应用程序“
kubectl港口远期$POD_名称8080:80
我在仪表板中看到mytomcat部署和pod mytomcat-2768693561-hd2hd。

现在我想发出命令,删除我在k8s中当前的部署和吊舱,它应该创建新的部署和吊舱


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

下面的命令对于滚动更新工作正常

  • 它将首次安装
  • 下次会升级
  • 头盔升级--安装tom版本--设置appName=mytomcatcon 你好,世界


    tom release是我的发布名称,使用--set选项将运行时值传递给helm chart

    这不会重新部署具有最新映像的映像,即使ImagePullPolicy设置为always。还有什么办法吗?对我来说,它可以升级,但没有零停机时间。根据官方文件,这是一种重新创建策略,而不是滚动更新。
    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