Rainbow
Gustav
Andor
Andor
ещё непонятно как кастом ресурсы деплоить
Andor
создать родные кубер-ресурсы в терминах твоего языка ваще не вопрос
Andor
Andor
Exception when deploying PrometheusRule to cluster <kubernetes.client.api_client.ApiClient object at 0x7f6cdd374b10>
Traceback (most recent call last):
File "/app/deploy.py", line 411, in <module>
main()
File "/app/deploy.py", line 399, in main
deploy(documents, variables, cluster['name'], wait_rollout_result=args.wait_rollout_result)
File "/app/deploy.py", line 229, in deploy
_deploy(api, documents, settings, wait_rollout_result=wait_rollout_result)
File "/app/deploy.py", line 155, in _deploy
raise z
AttributeError: 'module' object has no attribute 'MonitoringCoreosComV1Api'
Andor
пытался правило аггрегации запульнуть
Andor
запушнуть
Andor
не пашет короч
Florian
Коллеги, подскажите - есть игресс с ssl letsencypt. работает прекрасно. Пытаюсь его закрыть бейсиком, получаю 503ю ошибку. Кто нибудь сталкивался с таким?
Florian
Rainbow
Тупанул. Секрет точно есть? А то если не или кривой, бывает 503 без логов
Florian
Мм секрет точно есть. Попробую пересоздать, спс за подсказку
𝚔𝚟𝚊𝚙𝚜
Exception when deploying PrometheusRule to cluster <kubernetes.client.api_client.ApiClient object at 0x7f6cdd374b10>
Traceback (most recent call last):
File "/app/deploy.py", line 411, in <module>
main()
File "/app/deploy.py", line 399, in main
deploy(documents, variables, cluster['name'], wait_rollout_result=args.wait_rollout_result)
File "/app/deploy.py", line 229, in deploy
_deploy(api, documents, settings, wait_rollout_result=wait_rollout_result)
File "/app/deploy.py", line 155, in _deploy
raise z
AttributeError: 'module' object has no attribute 'MonitoringCoreosComV1Api'
AttributeError: 'module' object has no attribute 'MonitoringCoreosComV1Api'
Andor
𝚔𝚟𝚊𝚙𝚜
Не знаю, у меня те же kind: Certificate нормально применяются из certmanager.k8s.io/v1alpha1
Andor
ща буду патчить нашу наколенную деплоилку
Andor
𝚔𝚟𝚊𝚙𝚜
не, ksonnet'ом
Andor
с ним у меня нет проблем :)
Andor
ну то есть есть, но попроще
𝚔𝚟𝚊𝚙𝚜
а ты про питон, сорри я чет подумал ты про ksonnet)
Andor
def get_object_api(doc, client_api):
apiname = "".join(map(lambda x: x.capitalize(), re.findall('[A-Za-z][^./]*', doc['apiVersion'].replace(".k8s.io", ""))))+"Api"
if apiname == 'V1Api':
apiname = 'CoreV1Api'
return getattr(kubernetes.client, apiname)(client_api)
Andor
бьютифул!
Andor
красивее этого кода невозможно представить же!
𝚔𝚟𝚊𝚙𝚜
как в jsonnet к родителю обратиться, и можно ли?
Andor
покажи пример
Andor
тебе возможно поможет локальная переменная
Andor
либо по абсолютному пути через $
Andor
либо через super
Andor
родитель это родительский элемент твоего элемента или это тот же элемент из объекта с которым ты объединяешься?
𝚔𝚟𝚊𝚙𝚜
𝚔𝚟𝚊𝚙𝚜
{
a: 's',
b: {
c: $.a,
},
}
Vitalii
𝚔𝚟𝚊𝚙𝚜
но хотелось бы указать relative path
Andor
более-менее близко к relative можно через local как я показал
𝚔𝚟𝚊𝚙𝚜
пора открывать новый чат по jsonnet :)
𝚔𝚟𝚊𝚙𝚜
Andor
local patchArrayItemByKey(list, key, value, fn) = std.mapWithIndex(
(function(index, item) std.mergePatch(list[index], if item[key] == value then fn(item) else {} )),
list
);
𝚔𝚟𝚊𝚙𝚜
это ты где взял?
𝚔𝚟𝚊𝚙𝚜
у меня чет даже не гуглится
Andor
я сделялъ
𝚔𝚟𝚊𝚙𝚜
аа
Andor
посмотри ещё в k.libsonnet, там ещё есть пара полезных функций
Andor
mapContainers(f)
mapContainersWithName(names, f)
Andor
по-сути то же самое
𝚔𝚟𝚊𝚙𝚜
даже так:
x { spec+: { template+: { spec+: {
containers: [
if y.name == 'nginx' then
y { env+: params.extraEnvs }
else y
for y in super.containers
],
} } } }
Andor
Andor
Которая внутри условия
𝚔𝚟𝚊𝚙𝚜
она делает y + { env+: params.extraEnvs }
где y - это контейнер
𝚔𝚟𝚊𝚙𝚜
jsonnetfmt автоматически заменяет y + {} на y {}
Andor
А, это просто сокращение
Andor
Ну ок
Andor
А то встречал такую конструкцию уже, но сам не использовал
Andor
https://github.com/google/jsonnet/pull/593/files
Ильдар
Andor
это не мой код
Andor
это говно-наколенная-поделка-на-питоне
Etki
хм, а на первый взгляд и не похоже на ансибл
Andor
а мне надо добавить в эту поделку поддержку crd
Andor
хотя бы сабсет
Михаил
Оно же само дохнет, не?)
Vadim
а реплаем на сообщение о входе не работает. Пофиксил
Petr
мужики, поделитесь опытом и мыслями, вы под каждое окружение поднимаете целый кластер или на одном кластере держите тестовые окружения и продакшн (разделяя их через неймспейсы, например)?
Andor
Etki
Rainbow
А если бюджет не позволяет?)
На hetzner можно взять 1-2 сервака по 40 евро, криво разбить каким-то proxmox на виртуалки и юзать как дев
inqfen
У меня прод в отдельном, staging /testing в отдельном
Antlar
Всем утра. Может кто сталкивался: куб 1.13.2 раскатанный с мастера кубспрея, калико, центось 7.6.1810, ipvs with lc lb, прометей 0.25.0+нодекспортер 0.15.3, хельм. При раскатке нодекспортера на одной из нод отваливается частично сеть
Antlar
?
Antlar
Ошибку при раскатке попозже скину, там про грпц что то
Andor