私はKubernetesを使用してDockerサービスを実行しています。これは、毎日再起動が必要な不具合のあるサービスです。複数の理由から、プログラムで問題を解決することはできず、毎日ドッカーを再起動するだけで問題は解決します。 私がKubernetesに移行したとき、私は "docker restart [mydocker]"を行うことができないことに気付きました。しかし、ドッカーはreCreate戦略を採用しているため、Kubernetesが新しいものを作成するためにはポッドを削除するだけです。展開中のポッドを再起動(削除)するためのKuronnetesのCronjob
KubernetesでCronTaskを使用して、Podを削除するこのタスクを自動化するか、または再起動する別のタスクを自動化できますか?
お手数ですがありがとうございます。
編集:私の現在のデプロイメントYML:
スケジュールされたジョブポッドは、それが可能なジョブを再起動することはcronの動作に構築され、時間と組み合わせる:
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
サービスはどの言語で書かれていますか?サービスを「自殺」させる方が、外部のコンポーネントに頼るのではなく、毎回サービスを自殺させるほうが、より簡単で良いでしょう。 – whites11
ありがとうございますがコメントとして、プログラムで再起動することはできませんし、コンテナ自体から問題を解決することはできません。 – icordoba