如何使用kubectl重新部署谷歌云平台



我正试图找到一个在Kubernetes中重新部署pod的快速命令。

  1. 目前,我将docker镜像推送到了谷歌云
  2. 然后我列出我的吊舱
kubectl -n pringadi get pods
        NAME                                                        READY   STATUS      RESTARTS   AGE
        audit-server-757ffd5dd-ztn5s                                 1/1     Running     0          38m
        configs-service-75c98f68c7-q928q                            1/1     Running     0          36m       
  1. 我编辑部署配置CCD_ 1
  2. 更新/更改图像名称
  3. 保存并退出

Kubernetes立即识别出更改并重新部署audit-server

问题:如果我将我的docker映像(一个较新的映像(推送到同名的谷歌云(步骤4(,并且只想基于当前映像重新部署audit-server,该怎么办。有这样的命令吗?不断编辑部署配置是一项乏味的工作(步骤3(

完全不清楚你想做什么,但可以猜测一下:

kubectl set image deploy audit-server "*=us.gcr.io/whatever/whateverelse:12345"将在您的部署中提升图像,而无需调用编辑器

或者,使用类似skaffold或其竞争对手的东西来不断地推送和重新加载Pod以开发

您可以简单地使用带有imagePullPolicy: Always的部署,并在进行更改后杀死您的pod。它将强制您的部署再次下载映像。

来自Kubernetes文档:

imagePullPolicy: Always:每次启动pod时都会拉取图像。

示例:

kubectl apply -f - <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
      - name: my-app
        image: nginx
        ports:
        - name: http
          containerPort: 80
        imagePullPolicy: Always
EOF

然后在拉过你的镜像后,删除正在运行的pod,部署会再次下载镜像:

kubectl delete pods -l app=my-app

检查新容器:

kubectl get pods -l app=my-app

我希望这能有所帮助。

相关内容

  • 没有找到相关文章

最新更新