2016-07-13 3 views
1

Я новичок в Кубернете. Я стараюсь масштабировать свои стручки. Сначала я запустил 3 стручки:Кубернетес: как увеличить мои стручки

./cluster/kubectl.sh run my-nginx --image=nginx --replicas=3 --port=80 

Было начато 3 стручка. Сначала я попытался масштабировать вверх/вниз с помощью контроллера репликации, но этого не было. Кажется, теперь это replicaSet.

./cluster/kubectl.sh get rs 
NAME     DESIRED CURRENT AGE 
my-nginx-2494149703 3   3   9h 

Я попытался изменить количество копий, описанные в моем replicaset:

./cluster/kubectl.sh scale --replicas=5 rs/my-nginx-2494149703 
replicaset "my-nginx-2494149703" scaled 

Но я все еще вижу, что мои 3 оригинальных стручки

./cluster/kubectl.sh get pods 
NAME      READY  STATUS RESTARTS AGE 
my-nginx-2494149703-04xrd 1/1  Running 0   9h 
my-nginx-2494149703-h3krk 1/1  Running 0   9h 
my-nginx-2494149703-hnayu 1/1  Running 0   9h 

я бы ожидал увидеть 5 стручков.

./cluster/kubectl.sh describe rs/my-nginx-2494149703 
Name:  my-nginx-2494149703 
Namespace: default 
Image(s): nginx 
Selector: pod-template-hash=2494149703,run=my-nginx 
Labels:  pod-template-hash=2494149703 
     run=my-nginx 
Replicas: 3 current/3 desired 
Pods Status: 3 Running/0 Waiting/0 Succeeded/0 Failed 

Почему это не масштабируется? Нужно ли мне что-то менять в развертывании?

Я вижу что-то подобное, когда описываю свои rs после увеличения: (Здесь я пытаюсь масштабировать от одного запущенного контейнера до 3 запущенных контейнеров). Но он остается одним работающим контейнером. Остальные 2 запускаются и убиваются немедленно

34s  34s  1 {replicaset-controller }   Normal  SuccessfulCreate Created pod: my-nginx-1908062973-lylsz 
    34s  34s  1 {replicaset-controller }   Normal  SuccessfulCreate Created pod: my-nginx-1908062973-5rv8u 
    34s  34s  1 {replicaset-controller }   Normal  SuccessfulDelete Deleted pod: my-nginx-1908062973-lylsz 
    34s  34s  1 {replicaset-controller }   Normal  SuccessfulDelete Deleted pod: my-nginx-1908062973-5rv8u 
+0

На самом деле, кажется, вы все сделали правильно. Посмотрите на события, если что-то странное, что произошло (kubectl.sh получить события) –

+0

Я добавил некоторые события, которые я видел, когда читал описание своих rs – DenCowboy

+0

Масштабирование развертывания. Я читал, что рекомендуется масштабировать развертывание. Но нормально, как правило, он должен работать – DenCowboy

ответ

4

TL; DR: Вам необходимо масштабировать развертывание вместо набора реплик напрямую.

Если вы попытаетесь масштабировать набор реплик, то он (в течение очень короткого времени) будет иметь новый счет 5. Но контроллер развертывания увидит, что текущий счетчик набора реплик равен 5, и поскольку он знает что он должен быть 3, он вернет его обратно к 3. Путем ручной модификации набора реплик, который был создан для вас, вы боретесь с системным контроллером (который неутомим и будет в значительной степени всегда переживать вас).

+0

Я не могу видеть свой RC (только RS). Это нормально? – DenCowboy

+0

И как я могу создать автоскастер сейчас? Также с развертыванием? – DenCowboy

+0

Развертывание создаст набор реплик (rs), * not * контроллер репликации (rc). Поэтому ожидается только выход из 'kubectl get rs'. –