Я хочу использовать Kubernetes deployment и изображения ссылочных контейнеров с именами семантических тегов. Например. application:latest
, application:testing
, application:production
.Обновление развертывания развертывания Kubernetes с семантическими именами контейнеров
установка этой прямо вперед и с imagePullPolicy: Always
в моем контейнере спецификации я также может выдвинуть новые версии быстро с чем-то вроде этого:
$ REPLICAS=$(kubectl get deployment application --template="{{.spec.replicas}}")
$ kubectl scale --replicas=0 deployment application
deployment "application" scaled
$ kubectl scale --replicas=$REPLICAS deployment application
deployment "application" scaled
Недостаток состоит в том, что все стручки убивают перед новыми готовы. Поэтому я ищу, чтобы получить текущие обновления.
Одним из решений было бы сбросить семантические имена тегов и использовать sth. подобный application:v123
. Но я бы хотел, чтобы мои сценарии были простыми и сохраняли семантические имена. Есть ли способ сделать это?
...
Редактировать/обновить ... это то, что моя конфигурация deployment.yaml
будет выглядеть следующим образом:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
template:
metadata:
labels:
app: application
spec:
containers:
- name: application
image: application:latest
imagePullPolicy: Always
Это будет в основном оставаться тот же все время, но соответствующий контейнер изображения обновляется в фоновом режиме.
...
Приветствия
из-за того, что фактическая конфигурация развертывания не изменится, то 'kubectl применять -f' не находит никакой разницы, и поэтому он не запускается скользящее обновление – pagid
вы абсолютно правы !!!! Прости –