Я пытаюсь внедрить обновление Rolling для развертываний в Kubernetes. Я следил за множеством статей, в которых говорится, что время простоя будет нулевым, но при непрерывном запуске curl. Пара моих запросов не прошла, прежде чем я получил ответ. Ниже приведен файл развертывания.
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: myapp-deployment
spec:
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 0
maxSurge: 1
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp-container
image: my-image
imagePullPolicy: Always
ports:
- containerPort: 80
protocol: TCP
readinessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 5
periodSeconds: 5
successThreshold: 1
Следующее, что я сделал, было добавлено
MinReadySeconds: 120
Это решает эту проблему, но не является оптимальным решением, так как мы хотим переключиться на следующий модуль, как только он начнет обслуживать запросы и уничтожить старый модуль. У меня два вопроса -
- Может ли быть условие, когда оба стручка - новый и старый
работает и оба начинают обслуживать трафик? Это также не будет
идеал также. Поскольку мы хотим, чтобы только один модуль обслуживал запрос на
время.
- Существует ли какое-либо другое готовое решение, которое Kubernetes предлагает
сделать скользящее развертывание?