在的cronjob Kubernetes重启(删除)吊舱部署(Cronjob in Kubernet

2019-09-29 08:40发布

我使用Kubernetes运行码头工人服务。 这是一个有缺陷的服务,需要重新启动的每一天。 出于多种原因,我们不能以编程方式解决问题,只是重新启动搬运工每天会做。 当我迁移到Kubernetes我发现我做不到“泊坞窗重启[mydocker]”但由于码头工人与重建策略,我只需要删除该吊舱具有Kubernetes创建一个新的部署。

我可以自动删除荚,或可供选择的一个重新启动它,使用Kubernetes一个CronTask的这项任务?

感谢您的任何方向/例子。

编辑:我cyfredol部署阳明:

apiVersion: v1
kind: Service
metadata:
  name: et-rest
  labels:
    app: et-rest
spec:
  ports:
    - port: 9080
      targetPort: 9080
      nodePort: 30181
  selector:
    app: et-rest
    tier: frontend
  type: NodePort
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: et-rest
  labels:
    app: et-rest
spec:
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: et-rest
        tier: frontend
    spec:
      containers:
      - image: et-rest-image:1.0.21
        name: et-rest
        ports:
        - containerPort: 9080
          name: et-rest
        volumeMounts:
        - name: tz-config
          mountPath: /etc/localtime
      volumes:
      - name: tz-config
        hostPath:
          path: /usr/share/zoneinfo/Europe/Madrid

Answer 1:

您可以使用计划作业荚:

预定作业吊舱已建在cron行为使其能够重新启动作业,与超时行为相结合,它会导致你的要求的行为或重新启动应用程序每X小时。

apiVersion: batch/v2alpha1
kind: ScheduledJob
metadata:
  name: app-with-timeout
spec:
  schedule: 0 * * * ?
  jobTemplate:
    spec:
      activeDeadlineSeconds: 3600*24
      template:
        spec:
          containers:
          - name: yourapp
            image: yourimage


文章来源: Cronjob in Kubernetes to restart (delete) the pod in a deployment