Size: a a a

Kubernetes — русскоговорящее сообщество

2020 December 27

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
A A
Ребята, я опять со своим тараканами)
если поднять кластер kubeadm init ... с ключем --pod-network-cidr 10.244.0.0/16, то
kubectl describe no controller-1
показывает в выводе есть такие строки
PodCIDR:                      10.244.0.0/24
PodCIDRs:                     10.244.0.0/24
тут ок. далее
если поднять кластер kubeadm init ... БЕЗ ключа --pod-network-cidr и потом отредактировать
vi /etc/kubernetes/manifests/kube-controller-manager.yaml
дождаться когда pod перестартует
kube-controller-manager-controller-1, то
kubectl describe no controller-1
НЕ показывает в выводе PodCIDR и PodCIDRs строки.
Надо ещё где-то подправить? Тапками можете кидать, я только учусь
kubelet попробуй перезапустить на этой ноде. В целом смена podCidr не бесплатная и простая операция. Сni часто смотрят на podCidr и добавляют его в cni конфиг. Скорее всего нужен будет перезапуск cni агента, или какие-то ручные действия на ноде.

Например cni kube-router записывает podCidr в cni конфиг:
{
 "cniVersion": "0.3.0",
 "name": "mynet",
 "plugins": [
   {
     "bridge": "kube-bridge",
     "ipam": {
       "subnet": "10.244.12.0/24",
       "type": "host-local"
     },
     "isDefaultGateway": true,
     "name": "kubernetes",
     "type": "bridge"
   },
   {
     "capabilities": {
       "portMappings": true,
       "snat": true
     },
     "conditionsV4": [
       "!",
       "-d",
       "10.96.0.0/12"
     ],
     "type": "portmap"
   }
 ]
}


И создает бридж с этой подсетью:

4: kube-bridge: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
   link/ether 2e:b8:fd:7b:df:61 brd ff:ff:ff:ff:ff:ff
   inet 10.244.12.1/24 scope global kube-bridge
      valid_lft forever preferred_lft forever
   inet6 fe80::2cb8:fdff:fe7b:df61/64 scope link
      valid_lft forever preferred_lft forever


Я не тестил, что будет если сменить podCidr. Но как минимум, на ходу оно скорее всего не будет менять подсеть бриджа, так как это приведет скорее к тому, что сетка для всех pod'ов, работающих на этой ноде, перестанет работать.

Все эти нюансы тебе надо учитывать естественно. Если ты думаешь, сменил podCidr и оно магически поехало, то это не так, совершенно точно.
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
Dmitry Sergeev
kubelet попробуй перезапустить на этой ноде. В целом смена podCidr не бесплатная и простая операция. Сni часто смотрят на podCidr и добавляют его в cni конфиг. Скорее всего нужен будет перезапуск cni агента, или какие-то ручные действия на ноде.

Например cni kube-router записывает podCidr в cni конфиг:
{
 "cniVersion": "0.3.0",
 "name": "mynet",
 "plugins": [
   {
     "bridge": "kube-bridge",
     "ipam": {
       "subnet": "10.244.12.0/24",
       "type": "host-local"
     },
     "isDefaultGateway": true,
     "name": "kubernetes",
     "type": "bridge"
   },
   {
     "capabilities": {
       "portMappings": true,
       "snat": true
     },
     "conditionsV4": [
       "!",
       "-d",
       "10.96.0.0/12"
     ],
     "type": "portmap"
   }
 ]
}


И создает бридж с этой подсетью:

4: kube-bridge: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
   link/ether 2e:b8:fd:7b:df:61 brd ff:ff:ff:ff:ff:ff
   inet 10.244.12.1/24 scope global kube-bridge
      valid_lft forever preferred_lft forever
   inet6 fe80::2cb8:fdff:fe7b:df61/64 scope link
      valid_lft forever preferred_lft forever


Я не тестил, что будет если сменить podCidr. Но как минимум, на ходу оно скорее всего не будет менять подсеть бриджа, так как это приведет скорее к тому, что сетка для всех pod'ов, работающих на этой ноде, перестанет работать.

Все эти нюансы тебе надо учитывать естественно. Если ты думаешь, сменил podCidr и оно магически поехало, то это не так, совершенно точно.
+
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
Спасибо, не хватает только инструкции по смене cni со сменой подсеток «на ходу»
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
George Gaál
Спасибо, не хватает только инструкции по смене cni со сменой подсеток «на ходу»
обобщенно это не решить как мне кажется. Сильно зависит от cni и их конфигураций и других факторов
источник

AC

Andru Cherny in Kubernetes — русскоговорящее сообщество
ребята, подскажите кто знает как задеплоить секрет для всех неймспейсов в конкретном проекте
источник

AC

Andru Cherny in Kubernetes — русскоговорящее сообщество
Я когда-то так сделал, но не могу вспомнить как, а серт нужно обновить
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
Andru Cherny
Я когда-то так сделал, но не могу вспомнить как, а серт нужно обновить
источник

AC

Andru Cherny in Kubernetes — русскоговорящее сообщество
А ты уверено что это хелмом делалось?
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
Andru Cherny
А ты уверено что это хелмом делалось?
там оператор, который копирует секреты. А не helm
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
Andru Cherny
А ты уверено что это хелмом делалось?
но ты можешь в helm range протсо сделать и поставить секреты во все namespace
источник

AL

Aleksey Lazarev in Kubernetes — русскоговорящее сообщество
Andru Cherny
А ты уверено что это хелмом делалось?
Я точно знаю что про этот кейс как раз флант рассказывал когда шелл оператор рекламировал
источник

AL

Aleksey Lazarev in Kubernetes — русскоговорящее сообщество
Там у них был как пример что он копировал из какого то Nsa по всем остальным секреты
источник

AC

Andru Cherny in Kubernetes — русскоговорящее сообщество
Я к ранчере могу в UI ке создать и выбрать скоуп - Available to all namespaces in this project
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
Andru Cherny
Я к ранчере могу в UI ке создать и выбрать скоуп - Available to all namespaces in this project
круто. А я могу через kubectl секреты скопировать во все namespace
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
Andru Cherny
ребята, подскажите кто знает как задеплоить секрет для всех неймспейсов в конкретном проекте
Ранчер? Или не ранчер ?
источник

AC

Andru Cherny in Kubernetes — русскоговорящее сообщество
Ранчер)
источник

AL

Aleksey Lazarev in Kubernetes — русскоговорящее сообщество
Dmitry Sergeev
круто. А я могу через kubectl секреты скопировать во все namespace
а я могу курлом забросать апи с фором на шелле
источник

GG

George Gaál in Kubernetes — русскоговорящее сообщество
Andru Cherny
Я к ранчере могу в UI ке создать и выбрать скоуп - Available to all namespaces in this project
Да, именно так, но что там под капотом я не разбирался
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
George Gaál
Да, именно так, но что там под капотом я не разбирался
ну там либо копирует, либо просто через RBAC дает доступы
источник

AC

Andru Cherny in Kubernetes — русскоговорящее сообщество
Зачем? если есть какие-то встроенные фичи для этого. Потом при создании неймспрейса нужно не забыть скопировать в него секрет, на у т. д.
источник