Dmitrii
тупой вопрос - а если к DaemonSet'у прикручен сервис, он всегда будет во возможности роутиться чтобы трафик с ноды не выходил, или нет?
Anton
напомните, пож., как сделать чтобы имя ноды резолвилось из пода? kubeadm
Alexandr
перекатывайся на matrix
Да у меня клиенту надо ejabberd :(
Alexandr
Я всё собрал, работает практически всё, проблема только с обратной сборкой кластера при удалении пода
Alexandr
И как это победить - хрен знает, уже что только не тестил
Alexandr
не цепляется обратно?
Да, если нулевой под удалить
Pavel
Да, если нулевой под удалить
у тебя там graceful shutdown, все дела?
Alexandr
у тебя там graceful shutdown, все дела?
Не, я просто для теста делаю kubectl delete pod, он в statefulset обратно возвращается и не коннектит в кластер
V 🏴‍☠️
Подскажите, что где подкрутить нужно, чтоб к поду по доменному имени обращаться можно было изнутри других подов того же неймспейса? А-ля pod.ss.namespace
Anton
Тебе нужен kind service
V 🏴‍☠️
Нет
V 🏴‍☠️
Мне нужно собрать кластер, клиенты которого обращаются друг к другу по имени
Anton
и как же это сделать?
V 🏴‍☠️
Вот я и спрашиваю=)
V 🏴‍☠️
Некоторые сервисы умеют из API кубера забирать в таком виде имена
V 🏴‍☠️
Вернее не сервисы, а некоторые приложения
V 🏴‍☠️
https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/ - ну и вот такой вариант ещё существует, но в моём случае оно бесполезно
V 🏴‍☠️
Конкретно сейчас кручу хельм чарт консула, кластер которого как раз собирается методом обращения агентов друг к другу по имени, описанному в первом сообщении, но имена эти не резолвятся, вот думаю чего-то не хватает
Anton
есть statefulsets, возможно он подойдет, ведь там к каждой реплике можно обратится
V 🏴‍☠️
Я им и поднимаю
Anton
значит они уже есть, get svc
V 🏴‍☠️
Кто они?
Anton
https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#stable-network-id
Anton
Кто они?
stable network ids
Andrey
надо headless service
V 🏴‍☠️
V 🏴‍☠️
Вообще официальный чарт с некоторыми доработками
Andrey
странно тогда
V 🏴‍☠️
stable network ids
Это я понимаю как должно выглядеть, да
V 🏴‍☠️
Что-то хэшики перемудрили походу со своими чартами
Andrey
а ошибка какая?
Andrey
точно изза резолва?
V 🏴‍☠️
Не резолвит хост
V 🏴‍☠️
Он обращается к кубовому DNS, вот хз правильно ли это
Andrey
к кубовому и должен
Andrey
сделай вручную statefulset с каким нибудь nginx и headless service к нему, проверь как резолвится
V 🏴‍☠️
У меня два таких уже крутятся, оба работают, а вот с консулом засада
Andrey
может он начинает обращаться раньше, чем под стартует? тогда днс имя ещё не готово
V 🏴‍☠️
Хм.
V 🏴‍☠️
Ну под в режиме failed висит, да
Andrey
тогда какой-то механизм ретраев должен быть
V 🏴‍☠️
Может проверку состояния попробовать вырубить...
V 🏴‍☠️
Не помогло. Под фактически запущен, но консул не может срезолвить другие поды
Stefan
Знакомство с Helm 3. «В этом материале я расскажу о том, с чего всё начиналось, как мы дошли до нынешней стадии, представлю некоторые уникальные особенности, доступные в первом альфа-релизе Helm 3, и объясню, как мы планируем развиваться дальше»: http://amp.gs/dPOz
Anton
у меня есть рабочий домен для сервиса типа: "app.namespace.cluster-01.example.org", он принимается во внимание ингрессом. Я сделал CNAME example.org -> app.namespace.cluster-01.example.org и ingress просто example.org очевидно не пропускает. Как мне исправить, добавить в ингресс еще один такой же блок "host" с этим доменом, или есть способ проще?
Alex
у меня есть рабочий домен для сервиса типа: "app.namespace.cluster-01.example.org", он принимается во внимание ингрессом. Я сделал CNAME example.org -> app.namespace.cluster-01.example.org и ingress просто example.org очевидно не пропускает. Как мне исправить, добавить в ингресс еще один такой же блок "host" с этим доменом, или есть способ проще?
у меня просто несколько хостов прописано: apiVersion: extensions/v1beta1 kind: Ingress metadata: name: NAME namespace: NAMESPACE annotations: kubernetes.io/ingress.class: nginx certmanager.k8s.io/cluster-issuer: letsencrypt-prod nginx.ingress.kubernetes.io/proxy-read-timeout: "300" spec: tls: - hosts: - HOST1 - HOST2 secretName: SECRET rules: - host: HOST1 http: paths: - path: / backend: serviceName: BACKEND servicePort: 3000 - host: HOST2 http: paths: - path: / backend: serviceName: BACKEND servicePort: 3000
Alex
типа такого
Anton
то есть дублировать блок "host" только
Alex
то есть дублировать блок "host" только
немного напрягает, но зато работает )
Alex
у меня такое в одном месте только, поэтому не стал заморачиваться и искать более правильный способ (если он существует)
Alex
Кстати, еще вопрос по nginx ingress – а как можно ограничить доступные методы HTTP (чтобы забанить всякие DEBUG и прочую дичь и возвращать на них какой-нибудь 405-й код)?
Anton
https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#enable-cors
Albert
Доброго вечера. Снова я с продолжением своих нубских проблем. После того как я положил mysql внутри кластера, возникла проблема при отсылке больших транзакций. В целом это выглядит так:
Albert
Albert
вместо сплошной линии, отсылается кусок данных, затем пауза видимо для обработки куска данных и т.д.
Albert
вопрос: как лучше решить эту проблему?
Albert
я думал в сторону увелечения RAM и innodb_buffer_size
Albert
вот я и думаю его тоже поменять на ssd
Евгений
За standard может скрываться что угодно. Это gke? Или bare metal?
Albert
За standard может скрываться что угодно. Это gke? Или bare metal?
cat mariadb-volumeclaim.yaml kind: PersistentVolumeClaim apiVersion: v1 metadata: name: mysql-pv-claim spec: accessModes: - ReadWriteOnce resources: requests: storage: 50Gi
Albert
это gke
Albert
видать я создал нечто примитивное не для таких вещей чтобы гонять большие куски данных
Alex
https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#enable-cors
Видел, но это вроде не то (хотя надо будет проверить) - оно же только про хедеры, а я хочу, чтобы какой-нибудь curl -X DEBUG возвращал 405
Anton
Видел, но это вроде не то (хотя надо будет проверить) - оно же только про хедеры, а я хочу, чтобы какой-нибудь curl -X DEBUG возвращал 405
* nginx.ingress.kubernetes.io/cors-allow-methods controls which methods are accepted. This is a multi-valued field, separated by ',' and accepts only letters (upper and lower case). * Default: GET, PUT, POST, DELETE, PATCH, OPTIONS * Example: nginx.ingress.kubernetes.io/cors-allow-methods: "PUT, GET, POST, OPTIONS"
Евгений
это gke
Попробуй ssd, standard медленный. А ещё в гугле, говорят, ограничения на iops'ы прямо пропорционально размеру диска
Albert
Попробуй ssd, standard медленный. А ещё в гугле, говорят, ограничения на iops'ы прямо пропорционально размеру диска
The PersistentVolumeClaim "mysql-pv-claim" is invalid: spec: Forbidden: is immutable after creation except resources.requests for bound claims
Albert
Albert
надо было снести
Albert
я посмотрел надо создать configmap из файла, но не понял как его прицепить.
Anonymous
и ещё недокументированное ограничение по сети
Nik
Народ, а как нормально мониторить etcd в кластере? Волнует вопрос с сертификатами (за которыми за каким то чертом закрыты метрики)