Обновление кластера и нод-групп до новой минорной версии. Эксперимент
Проверяем как будут создаваться ноды при изменении минорной версии кластера и нод-групп. Также проверяем, сохраняется ли после обновления сетевая связанность между подами.
Создал кластер catof8is7iangh4c507l версии 1.23 в 14.04 по Мск и нод группу той же версии с шестью нодами.
Обновляю кластер до 1.24 (операция catjn98u9rdn5opl3nhb, время 14.33) Обновляю нод группу до 1.24 (операция cat5bssr9oo1s9u8r2t6, время 14.52)
yc k8s cluster list-nodes catof8is7iangh4c507l +--------------------------------+---------------------------+--------------------------------+-------------+--------+ | CLOUD INSTANCE | KUBERNETES NODE | RESOURCES | DISK | STATUS | +--------------------------------+---------------------------+--------------------------------+-------------+--------+ | ef36bkfe1ubilcpofort | cl1jp3gmb3n60he19cdo-eryr | 2 100% core(s), 4.0 GB of | 96.0 GB hdd | READY | | RUNNING_ACTUAL | | memory | | | | ef3kocrepqj3aj0auokf | cl1jp3gmb3n60he19cdo-ixov | 2 100% core(s), 4.0 GB of | 96.0 GB hdd | READY | | RUNNING_ACTUAL | | memory | | | | ef33f09v5b6onv79pc2p | cl1jp3gmb3n60he19cdo-ofic | 2 100% core(s), 4.0 GB of | 96.0 GB hdd | READY | | RUNNING_ACTUAL | | memory | | | | ef30sudds6ucegqb65vs | cl1jp3gmb3n60he19cdo-usaq | 2 100% core(s), 4.0 GB of | 96.0 GB hdd | READY | | RUNNING_ACTUAL | | memory | | | | ef37nguae0vdujtr2cue | cl1jp3gmb3n60he19cdo-ybyg | 2 100% core(s), 4.0 GB of | 96.0 GB hdd | READY | | RUNNING_ACTUAL | | memory | | | | ef3596skh1mirlrorqca | cl1jp3gmb3n60he19cdo-yfav | 2 100% core(s), 4.0 GB of | 96.0 GB hdd | READY | | RUNNING_ACTUAL | | memory | | | +--------------------------------+---------------------------+--------------------------------+-------------+--------+
Обновляю кластер до 1.25 (операция cat14s7ri7l6tvodmv6j, время 16.44) Обновляю нод группу до 1.25 (операция cat6qja9vqpe9vohgel2, время 16.54)
yc k8s cluster list-nodes catof8is7iangh4c507l +--------------------------------+---------------------------+--------------------------------+-------------+--------+ | CLOUD INSTANCE | KUBERNETES NODE | RESOURCES | DISK | STATUS | +--------------------------------+---------------------------+--------------------------------+-------------+--------+ | ef34sh13htridfhi547i | cl1jp3gmb3n60he19cdo-ejyx | 2 100% core(s), 4.0 GB of | 96.0 GB hdd | READY | | RUNNING_ACTUAL | | memory | | | | ef36bkfe1ubilcpofort | cl1jp3gmb3n60he19cdo-eryr | 2 100% core(s), 4.0 GB of | 96.0 GB hdd | READY | | RUNNING_ACTUAL | | memory | | | | ef3spe6a584m61o5gi2f | cl1jp3gmb3n60he19cdo-ihuz | 2 100% core(s), 4.0 GB of | 96.0 GB hdd | READY | | RUNNING_ACTUAL | | memory | | | | ef33f09v5b6onv79pc2p | cl1jp3gmb3n60he19cdo-ofic | 2 100% core(s), 4.0 GB of | 96.0 GB hdd | READY | | RUNNING_ACTUAL | | memory | | | | ef33uf44v9tt6thvlce5 | cl1jp3gmb3n60he19cdo-uwow | 2 100% core(s), 4.0 GB of | 96.0 GB hdd | READY | | RUNNING_ACTUAL | | memory | | | | ef3596skh1mirlrorqca | cl1jp3gmb3n60he19cdo-yfav | 2 100% core(s), 4.0 GB of | 96.0 GB hdd | READY | | RUNNING_ACTUAL | | memory | | | +--------------------------------+---------------------------+--------------------------------+-------------+--------+
Так как в группе параметр «Расширение размера группы, макс.» равно 3, то 3 ноды добавилось, 3 удалилось.
То есть количество вновь созданных нод будет зависеть от параметра "Расширение размера группы, макс."
Обновляю кластер до 1.26 (операция catc0o0k9044sdqc6ag9, время 17:10)
Обновляю у нод группы параметр Расширение размера группы, макс 3→6 (операция catpoejap08f67snnepk, время 17.17). Группа не перешла в RECONCILLING.
Обновляю нод группу до 1.26 (операция catrof10a1vnid86tbgs, время 17.18)
yc k8s cluster list-nodes catof8is7iangh4c507l +--------------------------------+---------------------------+--------------------------------+-------------+--------+ | CLOUD INSTANCE | KUBERNETES NODE | RESOURCES | DISK | STATUS | +--------------------------------+---------------------------+--------------------------------+-------------+--------+ | ef36sr95nmrp1otcqi6d | cl1jp3gmb3n60he19cdo-agyz | 2 100% core(s), 4.0 GB of | 96.0 GB hdd | READY | | RUNNING_ACTUAL | | memory | | | | ef38qnu1g5rivjrf3o2v | cl1jp3gmb3n60he19cdo-emet | 2 100% core(s), 4.0 GB of | 96.0 GB hdd | READY | | RUNNING_ACTUAL | | memory | | | | ef36hr00sojkkr7o627p | cl1jp3gmb3n60he19cdo-ipap | 2 100% core(s), 4.0 GB of | 96.0 GB hdd | READY | | RUNNING_ACTUAL | | memory | | | | ef3jpo0as8mddojdbfmo | cl1jp3gmb3n60he19cdo-ipen | 2 100% core(s), 4.0 GB of | 96.0 GB hdd | READY | | RUNNING_ACTUAL | | memory | | | | ef30me8vk4gren9mqdr2 | cl1jp3gmb3n60he19cdo-okur | 2 100% core(s), 4.0 GB of | 96.0 GB hdd | READY | | RUNNING_ACTUAL | | memory | | | | ef341ps96026o3d450cb | cl1jp3gmb3n60he19cdo-osal | 2 100% core(s), 4.0 GB of | 96.0 GB hdd | READY | | RUNNING_ACTUAL | | memory | | | +--------------------------------+---------------------------+--------------------------------+-------------+--------+
Поехали далее.
Подключаемся по ssh на две ноды: cl1jp3gmb3n60he19cdo-okur и cl1jp3gmb3n60he19cdo-osal и создаём там тестовый файлик.
touch /opt/cameda echo "Hello, cameda!" > /opt/cameda cat /opt/cameda Hello, cameda!
После этого обновим кластер и группу нод до 1.27. (Операции catvf09i2mqriohua4g0 и cate2qq9ttpugt11pb62)
Опять подключаемся по ssh к нодам.
cat /opt/cameda cat: /opt/cameda: No such file or directory
Т.е файла нет. Также меняется ip адрес. Это можно объяснить стоп/стартом ВМ. А вот отсутствие файла можно объяснить только тем, что все данные внутри ВМ вернулись взад, даже без пересоздания инстанса как такового.
Создал новый кластер 1.23 и нод группой из 6 нод. Расширение нод = 3.
Посмотрим, что со связанностью между подами.
apiVersion: apps/v1 kind: DaemonSet metadata: name: cam-nginx-ds spec: selector: matchLabels: app: nginx-ds template: metadata: labels: app: nginx-ds spec: containers: - name: nginx-ds-contaner image: nginx:latest securityContext: privileged: true resources: requests: cpu: "100m" memory: "50Mi" limits: cpu: "200m" memory: "100Mi" nodeSelector: kubernetes.io/os: linux
kubectl get po -owide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES cam-nginx-ds-5fst2 1/1 Running 0 2m15s 10.1.129.5 cl1p6n5pqd9pqedp9lnh-yjar <none> <none> cam-nginx-ds-cg52n 1/1 Running 0 2m15s 10.1.133.4 cl1p6n5pqd9pqedp9lnh-iroq <none> <none> cam-nginx-ds-cwrjj 1/1 Running 0 2m15s 10.1.128.4 cl1p6n5pqd9pqedp9lnh-ased <none> <none> cam-nginx-ds-ml2m2 1/1 Running 0 2m15s 10.1.130.3 cl1p6n5pqd9pqedp9lnh-yboq <none> <none> cam-nginx-ds-rt9tz 1/1 Running 0 2m15s 10.1.132.4 cl1p6n5pqd9pqedp9lnh-edim <none> <none> cam-nginx-ds-zjsfz 1/1 Running 0 2m15s 10.1.131.3 cl1p6n5pqd9pqedp9lnh-iqen <none> <none>
kubectl exec -ti cam-nginx-ds-5fst2 — /bin/bash
ping 10.1.133.4 PING 10.1.133.4 (10.1.133.4) 56(84) bytes of data. 64 bytes from 10.1.133.4: icmp_seq=1 ttl=59 time=1.68 ms ping 10.1.130.3 PING 10.1.130.3 (10.1.130.3) 56(84) bytes of data. 64 bytes from 10.1.130.3: icmp_seq=1 ttl=59 time=1.20 ms
Теперь обновим кластер и группу нод.
После обновления кластера и нод группы (операции catag4rjl6244seng8p6 и cat8d2pfb1lm2k4mbuj2) связанность между подами сохраняется.
kubectl get po -owide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES cam-nginx-ds-7mbcr 1/1 Running 0 60m 10.1.135.2 cl1p6n5pqd9pqedp9lnh-umac <none> <none> cam-nginx-ds-84w4l 1/1 Running 0 58m 10.1.131.3 cl1p6n5pqd9pqedp9lnh-iqen <none> <none> cam-nginx-ds-jpmqx 1/1 Running 0 60m 10.1.136.2 cl1p6n5pqd9pqedp9lnh-okyx <none> <none> cam-nginx-ds-kr7hh 1/1 Running 0 61m 10.1.134.2 cl1p6n5pqd9pqedp9lnh-ywof <none> <none> cam-nginx-ds-tc44q 1/1 Running 0 58m 10.1.130.3 cl1p6n5pqd9pqedp9lnh-yboq <none> <none> cam-nginx-ds-xczdp 1/1 Running 0 58m 10.1.133.3 cl1p6n5pqd9pqedp9lnh-iroq <none> <none>
Пинганул из первого пода 5 других. Картина везде одинаковая:
ping 10.1.130.3 PING 10.1.130.3 (10.1.130.3) 56(84) bytes of data. 64 bytes from 10.1.130.3: icmp_seq=1 ttl=59 time=1.81 ms