Antlar
а, это конфигмапами делается, да
RE
а это все похоже в /var/lib/grafana/grafana.db лежит
Antlar
ты хельмом раскатывался?
RE
вот этот файл в конфиг мап положить и все?
RE
не. руками kubectl
Antlar
там все немного сложнее, если хочешь читаемости
Antlar
из stable/grafana чарт возьми > helm template > kubectl apply -f -
Antlar
values только поменяй
Antlar
helm fetch stable/grafana > tar -xvf > cd grafana
RE
разбираться надо с этим.. и хельма нету тоже. проверю ка я конфигмап все таки
Antlar
хоспаде, там проще некуда
Antlar
зато себе и другим потом нервных клеток сэкономишь
RE
у меня лапки(винда локально) какой там хельм то..
Antlar
под винду есть бинарь, если что )
Antlar
helm init —client-only вроде
RE
но что же такого делает этот хельм, чего нельзя врукопашку сделать?
RE
ок. а почему нельзя sqlite в конфигмап завести?
Rainbow
ок. а почему нельзя sqlite в конфигмап завести?
там ограничение 1мб или около того
Aleksander
А зачем его туда?
RE
тоже подумал об этом. но у меня он -rw-r--r-- 1 grafana grafana 790528 Mar 13 18:39 grafana.db и я так понимаю расти он не будет
Rainbow
посмотри как сделано в kube-prometheus там в configmap все. Без .db https://github.com/coreos/prometheus-operator/blob/f7bee3a3fdcb05362349e3d31ba281f88d2e16e3/contrib/kube-prometheus/manifests/grafana-deployment.yaml
RE
спасибо ищу ямлы..
Rainbow
Лучше сразу целиком поставить kube-prometheus
Rainbow
спасибо ищу ямлы..
ну там jsonnet =)
RE
https://github.com/coreos/prometheus-operator/blob/f7bee3a3fdcb05362349e3d31ba281f88d2e16e3/contrib/kube-prometheus/manifests/grafana-deployment.yaml
Rainbow
это то, что на выходе для примера
RE
сложнаааа блин
Rainbow
kube-prometheus лучшее коробочное решение в принципе для k8s. Поставил - работает. не стоит велосипедить * понятно, что ещё настраивать, но это настройка только
RE
я думал быстро уяк-уяк и прикрутить временно мониторинг небольшой, а тут куча ньюансов всплывает
Rainbow
ну так прикрути
Rainbow
kubectl apply -f manifests/ until kubectl get customresourcedefinitions servicemonitors.monitoring.coreos.com ; do date; sleep 1; echo ""; done until kubectl get servicemonitors --all-namespaces ; do date; sleep 1; echo ""; done kubectl apply -f manifests/ 4 команды и будет хуяк хуяк)
RE
ну вот осталось решить как базу графаны сделать persistent и все
Rainbow
не надо...
Rainbow
until можно пропустить, если тогда там одна команда два раза kubectl apply -f manifests/
Rainbow
kubectl apply -f manifests/ until kubectl get customresourcedefinitions servicemonitors.monitoring.coreos.com ; do date; sleep 1; echo ""; done until kubectl get servicemonitors --all-namespaces ; do date; sleep 1; echo ""; done kubectl apply -f manifests/ 4 команды и будет хуяк хуяк)
Rainbow
* а, все таки нужно немного настройки, чтобы persistvolume для prometheus сделать
RE
ну вот счас конфиг прома у меня в конфигмапе и мне этого хватает
Артем
Добрый вечер. Можете подсказать как такую запись docker-compose перенести в kub. volumes: - ./env/mysql/my.cnf:/etc/mysql/conf.d/1bom.cnf - ./env/var/lib/mysql:/var/lib/mysql
Rainbow
Добрый вечер. Можете подсказать как такую запись docker-compose перенести в kub. volumes: - ./env/mysql/my.cnf:/etc/mysql/conf.d/1bom.cnf - ./env/var/lib/mysql:/var/lib/mysql
https://kubernetes.io/docs/concepts/storage/volumes/ проще всего начать с hostPath, особенно если одна нода. позже дочитать про local provisioner или ещё какой.
Артем
https://kubernetes.io/docs/concepts/storage/volumes/ проще всего начать с hostPath, особенно если одна нода. позже дочитать про local provisioner или ещё какой.
Не много не пойму как он локальную дерикторию подключит к контейнеру под этим например /var/lib/mysql
Артем
https://kubernetes.io/docs/concepts/storage/volumes/ проще всего начать с hostPath, особенно если одна нода. позже дочитать про local provisioner или ещё какой.
Это должно выглядеть примерно так spec: volumes: - name: task-pv-storage hostPath: path: /env/var/lib/mysql type: Directory containers: - name: mysql image: mysql ports: - containerPort: 3033 volumeMounts: - name: task-pv-storage mountPath: /var/lib/mysql
Rainbow
ну да, вроде так
Артем
ну да, вроде так
Спасибо огромное
Rainbow
только учитывать нужно, что он на любой ноде может стартануть при перезапуске.
RE
и поэтмоу лучше юзать pvc?
Rainbow
local storage, да, если нет ничего другого
Артем
local storage, да, если нет ничего другого
это вот PersistentVolumeClaim? там тоже так: volumes и volumeMounts?
Rainbow
руками или local storage provisioner создаются persist volumes дальше приложение просто пишет желание в pvc и связывается с одним из свободныз pv
Rainbow
Для начала лучше в gke создать кластер и играть там. Там все это автоматом и правильно. Чем сейчас сидеть и разбираться. $300 хватит надолго.
Артем
ок, благодарю
Sam
Привет. Я использую aws EKS, и хочу ALB -> ingress на базе nginx ingress contrller(daemon set) c NodePort привязанными на воркерах -> services -> deployments. Подскажите, как правильно порты замапить для сервисов, не совсем понимаю как ингресс описать чтобы трафик шел через nginx ingress controller. Ну и там же получается будут разные хосты https://gist.github.com/i-sam/59bfe7dca936ca2f2a116d7eb252c92a Заранее благодарю за рекомендации.
Rainbow
Нужно для начала nginx incress controller поставить? и через kubernetes.io/ingress.class выбирать ingress
Sam
nginx incress controller установил по https://github.com/nginxinc/kubernetes-ingress/blob/v1.4.3/docs/installation.md
Rainbow
и service с LoadBalancer есть для него? (наверное да, в доке описано)
Sam
и service с LoadBalancer есть для него? (наверное да, в доке описано)
сервис который для приложения? или для самого nginx ingress'a ? Я установил https://github.com/nginxinc/kubernetes-ingress/blob/v1.4.3/deployments/service/nodeport.yaml т.к. хочу ALB форвардить напрямую на ноды/воркеры
Rainbow
в смысле nginx как daemonset + host network true
Rainbow
nodeport не нужен
Sam
в смысле nginx как daemonset + host network true
nginx как daemonset да, а host network true не совсем понял
Rainbow
как docker run --network host
Rainbow
spec: hostNetwork: true
Rainbow
он станет на 80/443 порты
Sam
а, о
Sam
прикольно :)
Sam
а что в сервис прописать, чтобы он использовал именно nginx ingress controller?
Rainbow
В сервис ничего. А в kind: ingress нужно класс прописать
Rainbow
kubernetes.io/ingress.class: "nginx" тип такого
Sam
понял, благодарю
Sam
+ в карму :)
Alex
а что в сервис прописать, чтобы он использовал именно nginx ingress controller?
вот пример ingress для nginx с cert manager (letsencrypt): apiVersion: extensions/v1beta1 kind: Ingress metadata: name: assets namespace: NAMESPACE annotations: kubernetes.io/ingress.class: nginx certmanager.k8s.io/cluster-issuer: ISSUER spec: tls: - hosts: - SOME_HOST secretName: SOME_SECRET rules: - host: SOME_HOST http: paths: - path: / backend: # This assumes http-svc exists and routes to healthy endpoints serviceName: SERVICE_NAME servicePort: SERVICE_PORT
Alex
hosts в tls сильно не нужен
хм, у меня без этого как-то ничего не заработало и что-то решил его всегда прописывать )
Alex
надо будет попробовать еще раз без него
Rainbow
И про certmanager.k8s.io/cluster-issuer не понял. Он же прописывается в kind: Certificate
Alex
И про certmanager.k8s.io/cluster-issuer не понял. Он же прописывается в kind: Certificate
блин, а где про это почитать? Всега напрягает прописывать руками