172 похожих чатов

Всем привет. При попытке kubectl label node на одной из только

что созданных нод стабильно получаю ответ "node not labeled".

Можно как-то увеличить verbosity и увидеть причину на стороне kubectl или есть только вариант смотреть на стороне kubelet/логов ноды?

10 ответов

40 просмотров
it- Автор вопроса

Разобрался, делюсь, может кому будет полезно. Опция "--overwrite" применимо к endpoint "node-role.kubernetes.io/" не работает, как для остальных ресурсов Также в этот endpoint нельзя этот лейбл передать при запуске ноды. https://github.com/kubernetes/kubernetes/issues/84912#issuecomment-551362981 Надо сказать дока как-то не очень нашлась, разве что https://jamesdefabia.github.io/docs/user-guide/kubectl/kubectl_label/ но эта не даёт информации по моему кейсу и удивительно, но сходу вопрос "kubectl label node" + "node not labeled" не нагуглился. Итак можно удалить обычным способом, т.е. "node-role.kubernetes.io/-" (тире/минус вместо лейбла, если кто не знал) и добавить "node-role.kubernetes.io/abc=abc" и это можно проделывать последовательно сколько угодно раз подряд и тут что указывать опцию --overwrite что нет без разницы. Но если попытаться два раза подряд одинаковый label + endpoint="node-role.kubernetes.io" создать/применить, то ответ будет "node not labeled". Далее как я и предполагал у меня ноды создавались слишком быстро, но не успевали появляться/полноценно регистрироваться достаточно быстро с теми базовыми лейблами, которые я им при установке передавал в параметре kubelet (например, worker=worker). https://rancher.com/docs/k3s/latest/en/installation/install-options/agent-config/#node --node-label Поэтому у меня по факту новые лейблы которые node-role.kubernetes.io/abc=abc все таки проставлялись, но с отставанием на 1 ноду, а последняя давала отлуп "node not labeled" т.к. оказывалась в списке дважды, а к первой в списке лейбл ни разу не пытался премениться: специфика того, что я запрашивал список готовых нод сразу после каждой созданной с помощью kubectl wait, а данных ещё не было. :)

it
Разобрался, делюсь, может кому будет полезно. Опц...

ты же в курсе что node-role.kubernetes.io это не endpoint а просто часть имени лейбла?

it
Разобрался, делюсь, может кому будет полезно. Опц...

как много слов, чтобы проставить лейблы на ноды =)

it- Автор вопроса
Dmitry Sergeev 🇺🇦
ты же в курсе что node-role.kubernetes.io это не e...

Почему-то называю endpoint, ведь это endpoint? :) Это не просто часть имени лейбла, если у него другие правила обработки.

it
Почему-то называю endpoint, ведь это endpoint? :) ...

Ты правда думаешь что в апи добавили что то из серии if label like then go to antoher api?

it
Почему-то называю endpoint, ведь это endpoint? :) ...

у лейблов с *.kubernetes.io и правда другие правила обработки (kubelet сам себе не может их проставить). Сделано это для безопасности. Но от этого эти имена лейблов не становятся endpoints

it- Автор вопроса
Dmitry Sergeev 🇺🇦
у лейблов с *.kubernetes.io и правда другие правил...

Называйте как хотите, главное что вы поняли о чём речь. Для чего, что и когда сделано написано в GitHub issue которое я привёл. https://github.com/kubernetes/kubernetes/issues/84912#issuecomment-551362981

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта