Eduard
это проблема админа
Eduard
и никто не мешает джобу написать
Grisha
которая будет делать что?
Eduard
убивать поды приложения
Grisha
звучит очень странно) на вскидку удобнее держать конфиг внутри контейнера, чтобы не делать такие штуки
Grisha
но я видимо ошибаюсь раз люди используют cm
Eduard
.......... ты ещё скажи креды к проду держать в коде норм
Grisha
нет) это явно треш)
Rainbow
так делает kustomize
Grisha
cent
Vadim
https://github.com/corneliusweig/rakkess
Rainbow
Но что-то я там не увидел доклада о том, что etcd нужно выносить отдельно от мастера.
https://youtu.be/AEnjFiZEHH8?t=3673
там доклад не про то, почему 6 нод. А про то как будет делать яндекс и почему. Если кратко то, что я услышал..
1...
- etcd stateful
- k8s master stateless (можно запускать на премтибл нодах запросто и другие плюшки stateless)
они админятся по разному.
2... vm под control plane масштабируются вертикально автоматически в зависимости от количества нод.
cent
Rainbow
Понял. Спасибо
Это имеет смысл только на огромных масштабах в общем.
G72K
Михаил
Обещанные видео с ♥ Kubernetes 14 февраля в Mail.ru Group – в плейлисте тут: https://bit.ly/2St19iJ
Для тех, кто соскучился и хочет пересмотреть, на этот раз даже почти без кликера™ ☺️
Vadim
кстати, тем кто интересовался как устроен CI на довольно крупном проекте - https://www.youtube.com/watch?v=ANy-fZIFVlY
Edouard
Maksim
Доброе утро
Maksim
Ни у кого не было странной баги в кибере, создаешь отдельный намеспейс, деплоймент, сервис, ингресс, в ингрессе указываешь домен, а по нему открывается другой под, с этого кластера?
Slach
https://github.com/cablespaghetti/kubeadm-aws
о, сам хотел такую штуку сделать
Eduard
Eduard
Да
Maksim
У сервиса
Eduard
+
Anonymous
N
Terry
у меня вопрос, кто-то еще Vagrant юзает для разработки? ну или для прода😐
Puma
ну честно этот подход давно устарел используют наверно только мастадонты и то потому что исторически сложилось
Artem
Даня
есть вопрос:
я запускаю консул агенты демонсетом в кубере для работы с kv, подскажите плз, куда глянуть в доке для того чтоб получить адрес поды на ноде через Kubernetes API
Vadim
Даня
sps
Andrei
Ребят, подскажите, плиз, раньше в дефолтной установке графаны был "Kubernetes Control Plane Status", есть у кого обновленная версия?
Даня
Даня
допустим есть consul client, есть java app, в данный момент я бегаю через kubernetes service на consul server
Даня
аа
Даня
я кажется понял
Даня
у меня ведь клиент будет сидеть на host ip
Даня
и я беру адрес ноды и иду на нее со своего контейнера с приложухой
G72K
Даня
Andrey
Ребзя а что нынче хорошим тоном считается лепить под препрод отдельный кубер или пускать на продовском?
Даня
я планирую 3 кластера крутить, 1 под девы и стейджинги, 1 под препрод и 1 под прод
Даня
тк на проде и препроде базы, очереди и консулы будут outside of cluster
Даня
сейчас пока только дев)))
Artem
Всем привет
Artem
На одной мастер ноде скедулер и контроллер менеджер не запускаются по причине "CreateContainerError". Запущены как статичные поды. В кубелете есть такие сообщения:
Artem
Feb 28 09:11:53 kube-master kubelet[943]: E0228 09:11:53.698660 943 remote_runtime.go:191] CreateContainer in sandbox "c311c65ae2643ca35213fd9d53db201b0099753c1bc8138efb8baa7e27f02a42" from runtime service failed: rpc error: code = Unknown desc = the container name "k8s_kube-controller-manager_kube-controller-manager-kube-master_kube-system_60cd0ce0d520e855283806b4dc55c39d_38" is already in use by "88483a9855beda04b250d8f481b5cd65375f992e0266f662c7786493f1cb8587". You have to remove that container to be able to reuse that name.: that name is already in use
Artem
Куда копнуть?
Artem
контейнер рантайм - крио
Artem
в его логах ошибок не увидел
Artem
Andrei
Как минимум, два: dev/qa, stage/prod
Дмитрий
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
name: test
tier: backend
name: test
namespace: default
spec:
replicas: 1
selector:
matchLabels:
tier: backend
template:
metadata:
labels:
tier: backend
spec:
volumes:
- name: shared-data
emptyDir: {}
containers:
- name: nginx-container
image: nginx
volumeMounts:
- name: shared-data
mountPath: /usr/share/nginx/html
ports:
- containerPort: 80
- name: debian-container
image: debian
volumeMounts:
- name: shared-data
mountPath: /pod-data
command: ["/bin/sh"]
args: ["-c", "echo Hello from the debian container in deployment > /pod-data/index.html"]
kubectl apply -f this_file.yml => CrashLoopBackOff при создании деплоймента с несколькими контейнерами по примеру с официального сайта (там только kind Pod вместо Deployment, но суть та же). Есть у кого идея как это задетектить и понять причину ошибки?
Andrei
Потому что echo надо в init контейнере делать
Andrei
А в обычном запускать nginx с папкой
Rainbow
Vadim
1. runAsUser: 0, вдруг у вас строгие PSP
2. Перед тем как писать в /pod-data/index.html надо убедиться что этот каталог есть
Vadim
Vadim
потому что оба конфига валидны
Andrei
"Есть у кого идея как это задетектить и понять причину ошибки?"
G72K
Модульный монолит, ребята давно про это говорили в докладах, но сейчас запилили обзорную статью хорошую: https://engineering.shopify.com/blogs/engineering/deconstructing-monolith-designing-software-maximizes-developer-productivity
Vadim
Дмитрий
Andrei
Промахнулся, сорри)
В общем apply отвалится только если апи не скушает json манифеста. Оно никак не следит за тем что что-то запустилось и работает как надо.
Причина: второй контейнер рестартится т.к. процесс внутри завершился. RestartPolicy - зашквар, нужно перенсти в init