G72K
С cgroupfs говорят могут возникать проблемы при большом кол-ве подов. На официальной вики рекомендуют systemd
В issues кубернетиса наоборот обсуждали, что все тестируем на cgroupfs, может нам ругаться при systemd (там было отличие в поведении кублета что ли)
Artem
эээ, а разве systemd не через cgroups работает?
Andor
Через них, но докер может сисколлы напрямую дёргать, а может дёргать системд чтобы уже тот дёргал сисколлы
Nik
Как такую штуку описать в nginx-ingress? location @rewrites { rewrite ^(.+)$ /index.html last; }
Rainbow
это контейнер статики?
Nik
js SPA
Rainbow
from nginx?
Nik
https://gist.github.com/szarapka/05ba804dfd1c10ad47bf
Rainbow
FROM nginx:1.15.2-alpine COPY server.nginx.conf /etc/nginx/conf.d/default.conf COPY --from=build /app/dist /usr/share/nginx/html server { listen 80 default_server; server_name _; location / { root /usr/share/nginx/html; try_files $uri /index.html; } } annotations: nginx.ingress.kubernetes.io/rewrite-target: /
Nik
вот по сути то же самое, только есть еще всякие /app и /app2 описывающие мой бек
Rainbow
try_files в image, анотация, чтобы /some/front работал
Nik
annotations: nginx.ingress.kubernetes.io/rewrite-target: /
Nik
Аннотакцию сразу не увидел. Она ломает работу бека.
Rainbow
другой ingress заведите под статику, это не страшно
Nik
пойду попробую
Rainbow
да
Nik
спасиб
Rainbow
вы любой сервис в любое время куда хотите можете "примонтировать" с трюками вроде /api в 20 фронтов, чтобы без cors
𝚔𝚟𝚊𝚙𝚜
Я так понимаю что сейчас все равно какой драйвер использовать
𝚔𝚟𝚊𝚙𝚜
Немного проштудировал эту тему, так и не понял какой лучше. CRI-O и CoreOS используют systemd по дефолту.
𝚔𝚟𝚊𝚙𝚜
В containerd и docker по дефолту cgroupfs
𝚔𝚟𝚊𝚙𝚜
Кэп сказал, что > systemd_cgroup enables systemd cgroup support
Сергей
всем привет. подскажите пожалуйста по поводу ingress. я так понимаю в общем это 2 ресурса: 1 - контроллер (собственно nginx), 2 - ingress-правила (описание хостов и бэкендов). я так понимаю, что контроллер должен слушать 80 порт, чтобы по домену можно было достучаться до прокинутых через ingress-сервисов, так?
Ievgen
могу описать как в google cloud у меня трафик-ингресс-контроллер слушает динамически выданный порт, с номером в районе после 30000 все запросы фактически приходят на гугловую железку-лоад-балансер, которая их уже шлет на порт (см. выше) так вот гугловая железка действительно слушает 80 и 443, в то время как ингресс контроллер слушает какой-то порт 30000
Сергей
внешнего балансера нету ага, это чистая установка
Сергей
в смысле bare metal
Rainbow
У меня всеравно есть внешний nginx на отдельной vps, на пожарный случай. (baremetal кластер)
Ievgen
на чистой установке на ноде тогда должно быть что-то что будет слушать 80 и 443, да. я так понимаю что вне кубера (внутри кубера для сервисов трудно добиться слушанья 80 и 443)
Сергей
хорошо, я вроде как понял. и получается, что через helm не выйдет назначить ingress порты 80 и 443?
Сергей
helm install stable/nginx-ingress --name main-nginx-ingress --set controller.service.type=NodePort --set controller.service.nodePorts.http=80 --set controller.service.nodePorts.https=443
Сергей
вот такая штука ругается, что можно только 30000+ порты
Rainbow
values.yml rbac: create: true controller: kind: DaemonSet daemonset: useHostPort: true helm install stable/nginx-ingress --name nginx -f values.yaml --namespace kube-system
Ievgen
нельзя так, да. сервисы не могут слушать привелигированные порты, т.е. < 1000
Stanislav
/me тупо взял .yml от ingress-nginx и поправил его
Nata
если сильно надо, можно в конфиге поправить ^^
Nata
где-то в конфиге аписервера был параметр ответственный за нодепорт range
Stanislav
зачем же так...
Stanislav
hostNetwork: true и извращайтесь как хотите
Сергей
то есть это всё костыли получается
Rainbow
🙈 какие костыли? Я выше кинул как поставить ingress и забыть. В чем костыли?
Stanislav
в случае локального кубера ingress с соответствующими настройками скорее необходимость
Сергей
ну хост нетворк это как в докере получится да?
Сергей
то, что слушает контроллер, то будет слушать и хост?
Rainbow
daemonset раскатает по всем нодам nginx, который будет слушать 80 и 443.
Stanislav
nostNetwork - для ингресса
Stanislav
остальные сервисы - через него, штатными средствами.
Сергей
окей, понял
Сергей
спасибо
Сергей
по идее у контроллера же в таком случае должен быть Type = DaemonSet ?
Сергей
но по дефолту он LoadBalancer
Rainbow
helm install stable/nginx-ingress --name nginx -f values.yaml --namespace kube-system
Сергей
да, всё так
Rainbow
по дефолту deployment LoadBalancer у сервисов. helm не подхватывает файл с перменными - что-то где-то упустили
Сергей
ну да ладно, попробую руками пропихнуть конфиги
Сергей
через set
Сергей
а, всё. я просто смотрел вывод kubectl get svc --all-namespaces и он мне отдавал kube-system nginx-nginx-ingress-controller LoadBalancer 10.108.67.89 <pending> 80:30197/TCP,443:32669/TCP 32s kube-system nginx-nginx-ingress-default-backend ClusterIP 10.99.241.185 <none> 80/TCP 32s
Сергей
я подумал, что он по-дефолту всё выставил
Сергей
из-за LoadBalancer
Rainbow
вам в контесте ingress controller не нужно смотреть сильно на вывод kubectl get svc
Rainbow
kubectl get ds --namespace kube-system
Сергей
да, уже понял свою ошибку. спасибо
𝚔𝚟𝚊𝚙𝚜
"bridge": "none" работает
да, у меня тоже заработало :)
Alexander
Всем привет! Подскажите пожалуйста есть ли аналог kubespray для Oracle Linux ?
Dmitriy 😎
Привет! Хочу включить логирование как в статье: https://kubernetes.io/docs/tasks/debug-application-cluster/logging-elasticsearch-kibana/ Указано, что нужно установить переменные окружения: KUBE_LOGGING_DESTINATION=elasticsearch KUBE_ENABLE_NODE_LOGGING=true Это нужно делать на каждой ноде?
Dmitriy 😎
Можно как-нибудь это сделать kubectl?
Alexander
а чем обычный kubespray не подходит?
не нашел информации о том что он заведет k8s на нодах с Oracle Linux
Vadim
с учетом того что OL это практически центос, то думаю заведется
Alexander
с учетом того что OL это практически центос, то думаю заведется
понял спасибо за ответ, значит будем пробовать :)
Дмитрий Харитонов
Столкнулся со странной штукой. Есть ряд серваков, один как default gateway. на нескольких поднят кластер куба. Так вот, когда один внешний интерфейс на gw перегружен, периодически наблюдается недоступность внутрикластерных ресурсов по services, а по подовому айпишнику доступны.
Дмитрий Харитонов
Никто не сталкивался с таким?
Дмитрий Харитонов
кластер 1.11