[Jenkins中的Kubernetes部署插件不会更新Pod

问题描述 投票:0回答:1

我在Jenkins(https://plugins.jenkins.io/kubernetes-cd/)中使用kubernetes-cd插件成功部署了我的应用程序。

enter image description here

但是,我遇到了一个问题,当我再次运行该作业时,詹金斯人不会更新我的Pod(不会再次删除并创建新的Pod),因此我的代码更改不会受到影响。然后,我在kubernetes集群中使用kubectl命令删除了pod手册并重新运行作业后,就进行了更改

下面是我的Yaml文件。您知道如何解决此问题吗?

---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: tds-upload
  name: tds-upload
spec:
  replicas: 1
  selector:
    matchLabels:
      app: tds-upload
  template:
    metadata:
      labels:
        app: tds-upload
    spec:
      containers:
      - image: dev-master:5000/tds-upload:1.0.0
        imagePullPolicy: Always
        name: tds-upload

---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: tds-upload
  name: tds-upload
spec:
  ports:
  - nodePort: 31313
    port: 8889
    protocol: TCP
    targetPort: 8889
  selector:
    app: tds-upload
  type: NodePort
jenkins kubernetes devops kubernetes-pod
1个回答
1
投票

有多种方法可以使Kubernetes部署新更改。

  1. kubectl rollout restart deployment myapp

这是触发滚动更新并将旧副本集留在原处的方法,以供kubectl推出提供的其他操作,如回滚

  1. kubectl patch deployment my-deployment -p "{\"spec\":{\"template\":{\"metadata\":{\"labels\":{\"build\":\"$CI_COMMIT_SHORT_SHA\"}}}}}}"

只要标签随每次构建而变化,您就可以在其中使用任何名称和任何值。

您可以使用Jenkins的kubectl cli plugin执行上述命令。

© www.soinside.com 2019 - 2024. All rights reserved.