G72K
они переезжали с аннотаций на ключи полноценные, может переименовали чего.
Logan
root@app1 ~ # kubectl describe storageclass slow
Name: slow
IsDefaultClass: No
Annotations: <none>
Provisioner: kubernetes.io/rbd
Parameters: adminId=admin,adminSecretName=ceph-secret-admin,adminSecretNamespace=kube-system,monitors=172.16.0.1:6789,172.16.0.2:6789,172.16.0.3:6789,pool=kube,userId=kube,userSecretName=ceph-secret-user
Events: <none>
Igor
вообще динамический провизионинг работает если rbd утилита присутствует там, где apiserver
Logan
она присутсвует, это точно
Igor
apiserver запущен как сервис на хосте или в статическом поде?
Logan
сервис.
Igor
тогда вроде все верно, но я бы сначала протестировал, не динамический, а простой провизионинг
Logan
он тоже не работает, но иначе. В какой момент должен создаваться rbd image? на pv, claim или при утилизации?
Igor
смотреть так же полезно с помощью describe сам claim
Igor
kind: PersistentVolume
apiVersion: v1
metadata:
name: rbd-prometheus-volume
labels:
kubernetes.io/cluster-service: "true"
spec:
capacity:
storage: 8Gi
accessModes:
- ReadWriteOnce
rbd:
monitors:
{% for item in k8s_storage_hosts %}
- {{ item }}:{{ ceph_monitor_port }}
{% endfor %}
pool: rbd
image: prometheus
user: admin
keyring: /etc/ceph/ceph.client.admin.keyring
secretRef:
name: ceph-secret
fsType: xfs
readOnly: false
persistentVolumeReclaimPolicy: {{ k8s_volume_reclaim_policy }}
---
Igor
вот намирмер для такого имидж создается заранее и форматируется xfs
Igor
rbd create prometheus --size 8G --pool rbd --image-feature layering
rbd map prometheus
mkfs.xfs /dev/rbd/rbd/prometheus
rbd unmap /dev/rbd/rbd/prometheus
Logan
вопрос в том, можно ли не создавать и форматировать имидж заранее?
сам куб не будет это делать?
Igor
в не динамическом провижионинге точно не будет
Igor
но убедиться - проверить что все работает лучше на нём
Igor
значит надо создать для тестов и отформатировать, потом смотреть что с динамикой
Igor
Извиняюсь, мне нужно идти, надеюсь чем-то помог :)
M
как то так
M
https://github.com/kubernetes/kubernetes/commit/e4ec433470bb8d23e750a477d22657e3a4a53b83
Алексей
https://habrahabr.ru/company/flant/blog/326414/
Zon
Я пытаюсь из CI напрямую helm использовать, но не понятно, как безопасно к tiller серверу подключиться. Есть идеи? Кто-то пытался?
Zon
Ключевой момент - не использовать k8s credentials
Dmitry
ingress для него c TLS
Zon
И TLS клиент серт?
Dmitry
да, пусть будет на стороне CI. Мы жеж cfssl по такой же съеме пилили)
Zon
Это я знаю, у меня более занятная ситуация - у cloudbuilder только один убогий токен, который даёт доступ только к реджистри и гит репам. IAM не работает, доступ к остальному не выдает. думаю как обойти.
Zon
хранить client-cert негде
Anonymous
оффтоп: внезапно стал падать nginx-ingress без ошибок - I0413 14:54:48.426355 1 main.go:145] Handled quit, awaiting pod deletion
Anonymous
у кого встречалось?
Anonymous
а не, вижу ошибку: could not build server_names_hash, you should increase server_names_hash_bucket_size: 64
Anonymous
в задницу ингрессы короче... лучше самому конфигурацию руками собирать
Anonymous
есть у кого рецепты простые как lego/letsencrypt прикрутить к ванильному nginx?
Anton
http://doam.ru/https_in_nginx_using_letsencrypt/
Logan
Logan
вот в автоматическом режиме nginx получать их не умеет (но это, по-моему, только traefik умеет, и то я не тестировал еще)
Anonymous
Ну ясен пень автоматически, не руками ж
Anonymous
Во мне тут подсказали
Anonymous
https://github.com/ditointernet/nginx-ssl-proxy/tree/beta
Etki
я отдаленно знаю, о чем речь kube-lego только здесь слышал), но в общем-то там все ссводится к записать в post-renew-hook сертбота команду на релоад nginx
Logan
Во мне тут подсказали
а loadbalancer на nginx уже научился работать с хостнеймами? У меня BMR, сервисов десятки - я не напасусь адресов
Dmitry
@vkfont ты можешь сам настроить nginx-ingress используя темплейт
Dmitry
Dmitry
kubectl --namespace ingress create configmap nginx-template --from-file=nginx.tmpl
Dmitry
volumeMounts:
- mountPath: /etc/nginx/template
name: nginx-template-volume
readOnly: true
volumes:
- name: nginx-template-volume
configMap:
name: nginx-template
items:
- key: nginx.tmpl
path: nginx.tmpl
Dmitry
Ребят, а есть кто-нибудь, кто терраформом поднимает кубик? Или кто-нибудь знает хороший канал о терраформе
Alexandr
Stanislav
я там был
Stanislav
там скушненько
Михаил
Ну, хозяин барин)
Anonymous
если кто столкнется вдруг с тем что nginx ingress начнет падать из-за большого количества доменов, и захочет как я починить увеличив размер хэша - имейте ввиду что названия в nginx и в nginx ingress бывает не совпадают из-за опечаток разработчиков :) https://github.com/nginxinc/kubernetes-ingress/issues/34#issuecomment-294088974
Stanislav
server_names_hash_bucket_size - из-за длинного имени домена тоже может падать
Viacheslav
Сэры, а есть где-нибудь хороший самоучитель для k8s? А то меня спрашивают и простой поиск по гуглу только на официальный гайд выводит, а там по большей части "трям-брям-и оно работает". Будет супер, если еще и на великом и могучем.
Logan
Viacheslav
Хм, а вот ткнуть в какие-нить онлайн-сборки не догадался. ок, пошлю, пусть ищут :)
Andrei
G72K
G72K
G72K
Sokolov
Посоветуйте дельную инфу или статьи по кубернетосу. Не знаю что это, по работе нужно понять.
Roman
Zon
Andrew
Не могу понять, как поднять на своем железе сервис с типом LoadBalancer. Везде написано что это работает только в облаках, но не верю, что нет способа поднять у себя аналогично настраиваемый nginx+. Кто копал в эту сторону, просветите?
G72K
G72K
А сервисы делайте хоть headless потом, все равно из них контроллер будет брать только живые endpoints
Andrew
ясно. я мечтал так чтоб указал тип LoadBalancer и оно раз и создалось само)
G72K
Ну Nginx ingress контроллер примерно такой же по уровню удобства. Создали один раз, выставили наружу, а потом приложения в дополнение к Service, будут еще и Ingress создавать, не сильно значимое усложнение
Andrew
в принципе да. а, вот ещё какой момент непонятен, как сделать это отказоустойчиво. если ингресс контроллер один, то все ломается когда его нода падает. а если два или больше, то имеем несколько ip адресов и необходимость балансировать эти адреса снаружи. Готовить внешние nginx+ или F5 я умею, но возникает ещё один уровень балансировки.
Maksim
ну вопервых rs и контроллер по liveness пробе запустят под на другой ноде в случае падения ноды с контроллером
Maksim
то есть даун тайм измеряется минутами...(особенно если предварительно пульнуть его )
Maksim
ну и кто запрещает делать dns round robin ?
Maksim
и иметь несколько ip на домен?
Maksim
ещё можно делать через iptables перенаправление...
Andrew
запустит, да, но это время, а хочется чтоб они в параллель работали. dns round robin не хотелось бы, т.к. оно будет попеременно отдавать fail и success)
Maksim
можно оторвать ingress-controller от кубера и поставить его в докере...