@kubernetes_ru

Страница 690 из 958
Vadim
18.07.2018
22:55:03
command: sh args: | -c "curl ..."

Nik
18.07.2018
22:57:14
command: sh args: | -c "curl ..."
спс, ща попробую

супер, спасибо!

1 node(s) had disk pressure,

Google
Nik
18.07.2018
23:04:57
k8s сделит за диском, и на каких-то дефалтовых отсечках прибивает под?

а не, тупее. забивается / в контейнере, при этом du не показывает чем забито. Наверно это логи, валящие в stdout.

Valera
19.07.2018
00:05:01
сам nginx стучится на ClusterIP:порт сервисов
Это интересно. С GKE ingress должен обязательно стучаться на NodePort сервиса и никак иначе: https://github.com/kubernetes/ingress-gce#l7-load-balancing-on-kubernetes "For this to work, the Kubernetes Service must have Type=NodePort" Т.е. с nginx ingess'ом по другому и можно использовать type=ClusterIP ?

Вообще, коллеги, кто на GKE использует их нативный ingess? Или все на nginx'е? И правильно я понимаю, что для нормальной работы в проде нужно nginx plus покупать?

Валентин
19.07.2018
01:47:57
Andrey
19.07.2018
02:13:33
у меня сейчас задача по доставке приложения в кластер. Вначале это был один deployment ресурс, сейчас их уже несколько и для каждого надо будет делать kubectl patch/rollout status/rollout undo и накручивать логику по откату в случае чего. Ситуация ухудшается тем, что всё это делается через CI/CD в vsts и на каждый вызов kubectl там нужен сконфигурированный шаг. Всё это грозит скатится в малопонятное уродливое решение с кучей флагов. Я правильно понимаю, что для выката такой штуки лучше уже helm использовать? Я долго пытался его избегать, но, похоже, всё таки придётся использовать.

Banschikov
19.07.2018
04:05:49
Доброе утро коллеги! У меня вопрос касательно Helm. Helm поддерживает в плане версионности чартов SemVer 2 стандарт. В моем понимани версии чартов могут быть к примеру: version: 1.2.3-dev+365 version: 1.2.3-dev+366 и т.д И естевственно все версии этих чартов будут перечислены в индексных файлах?

Igor
19.07.2018
04:40:20
А почему избегать? Я пользуюсь (не админю) и мне совсем норм

Andrey
19.07.2018
04:44:42
потому что он поначалу воспринимается как шаблонизатор, которому зачем-то нужен какой-то тиллер в кластере и тд. Это как если бы yum свой собственный сервис в systemd

ptchol
19.07.2018
04:46:50
Не

Google
ptchol
19.07.2018
04:47:19
Это как говорить зачем ему репка )

Igor
19.07.2018
04:47:20
У юма собственный сервер в редхате ;) или где

Andrey
19.07.2018
04:47:55
ptchol
19.07.2018
04:50:31
Ну да, наверно плохое сравнение

Yevhen
19.07.2018
05:27:45
Купил я своим програмерам 3 одинаковых макбука. Два для работы и один запасной для командировок. Специфика нашего разработческого процесса требует установки и калибровки огромного количества разного софта и скриптов и занимает часов 12 на свежем компе. Алексею так хотелось скорее начать пользовать новую машинку, что сразу после окончания рабочего дня он засел за конфигурацию новой игрушки. Просидел он, видимо, всю ночь, его обнаружили спящим в кресле перед готовым к использованию ноутом. Ребята долго не думали, забрали компьютер и поставили перед ним "запасной" макбук, на экране которого светилось сообщение: "Форматирование диска окончено. Можно начать установку операционной системы", ну или примерно так. Когда Леша проснулся, сказать, что он удивился - ничего не сказать.

Sergey
19.07.2018
05:31:51
Хуйня, у мака не надо ставить систему и что-то там форматировать

Andrey
19.07.2018
05:33:47
Вся настройка мака сводится к установке xcode + homebrew

kyxap
19.07.2018
05:37:15
смотрите, нежный инженер в чяте

Andrey
19.07.2018
05:39:49
Ну поставь brew без xcode)) сделай видос для общественности

iTerm ставится через brew cask

MVP
19.07.2018
05:53:33
Вся настройка мака сводится к установке xcode + homebrew
Ага а если корпоративный прокси и своя artifactory и смарт карты для логина

Andrey
19.07.2018
05:54:35
Ууу, корпорейт) обычно помогает подготовленный образ диска

AutoDMG в помощь, ну если хочется все руками

Кто ж запрещает

Vladimir
19.07.2018
06:02:04
ansible?)

Google
Andrey
19.07.2018
07:27:34
я пока никакие. вопрос был, почему его все не хотят и я дал свою версию.

какие фичи планирую использовать - деплой

продвинутый аналог kubectl rollout и вокруг

просто как шаблонизатор он мне не нужен совсем

Valera
19.07.2018
07:50:14
Верно пишут. Мой nginx выставлен через nodeport
Я про то, что вы писали, что nginx у вас стучится на ClusterIP сервисов, т.е. сервисы выставлены не через NodePort, а через ClusterIP и в статье про это. Так как всё-таки? :)

Stanislav
19.07.2018
07:52:15
Nginx находится внутри кластера. Поэтому он ходит на ClusterIP внутренних сервисов. Для наружных запросов в кластер он выставлен через NodePort. Надеюсь, понятно объяснил?

Banschikov
19.07.2018
07:54:13
Еше раз всем привет! Подскажите плес, что не так Через gitlab-ci делаю деплой и получаю ошибку rror from server (Forbidden): pods "helm-deploy-0" is forbidden: User "system:serviceaccount:deploy:gitlab-serviceaccount" cannot get pods in the namespace "deploy" Мой RBAC --- apiVersion: v1 kind: ServiceAccount metadata: name: gitlab-serviceaccount namespace: deploy --- kind: Role apiVersion: rbac.authorization.k8s.io/v1beta1 metadata: name: gitlab-role namespace: deploy rules: - apiGroups: [""] resources: ["pods/exec"] verbs: ["get", "list"] --- kind: RoleBinding apiVersion: rbac.authorization.k8s.io/v1beta1 metadata: name: gitlab-rolebinding namespace: deploy subjects: - kind: ServiceAccount name: gitlab-serviceaccount namespace: deploy roleRef: kind: Role name: gitlab-role apiGroup: rbac.authorization.k8s.io

Stanislav
19.07.2018
07:57:12
- resources: ["pods/exec"] + resources: ["pods"] ?

Valera
19.07.2018
07:58:15
Nginx находится внутри кластера. Поэтому он ходит на ClusterIP внутренних сервисов. Для наружных запросов в кластер он выставлен через NodePort. Надеюсь, понятно объяснил?
Я это понял. Так в статье и цитате, которую я привёл про Сервисы, у которых должен быть type: NodePort обязательно, если их выстпвлять наружу, через GKE ingress. А у вас, получается, сервисы имеют type:ClusterIP и ingress Nginx. И тот и тот ingress в кластере, но с GKE ingress сервисы должны быть type: NodePort. Надеюсь я тоже понятно объяснил :)

Stanislav
19.07.2018
07:58:42
У меня нет ingress

Banschikov
19.07.2018
07:59:45
- resources: ["pods/exec"] + resources: ["pods"] ?
Мне просто нужно что бы из контейнера в CI , запустился kubectl exec . Кажется что этих прав достаточно что бы увидеть нужный под и сделать в него exec

Stanislav
19.07.2018
07:59:56
А, понял

тогда, видимо так: resources: ["pods", "exec"]

Banschikov
19.07.2018
08:01:12
Stanislav
19.07.2018
08:02:15
а шелл какой командой делаете? Полностью можете написать?

kubectl exec -it container -- /bin/bash ?

Banschikov
19.07.2018
08:06:27
а шелл какой командой делаете? Полностью можете написать?
kubectl exec -it helm-deploy-0 -n deploy -- helm repo update Я помнится на тестовом кластере делал, и сервис аккаунту выдывал полные права ["*"], то все работало. А тут нужно выдать только все необходимое

Stanislav
19.07.2018
08:08:44
Еще вариант: rules: - apiGroups: [""] resources: ["pods"] verbs: ["get", "list"] - apiGroups: [""] resources: ["pods/exec"] verbs: ["create"]

Google
Алексей
19.07.2018
08:10:45
Мы тут решили подробнее рассказать про это. https://habr.com/company/flant/blog/417509/
я сделал вот так в итоге. повесил инит контейнер на слейв деплоймент постгреса initContainers: - name: wait-master image: busybox command: ['sh', '-c', 'until nslookup postgresql-master; do echo waiting for master; sleep 2; done;'] - name: restore-backup image: bitnami/postgresql:9.6.5-r0 command: ['sh', '-c', "echo postgresql-master:5432:lk_api:postgres:passwd >> ~/.pgpass && chmod 0600 ~/.pgpass && pg_dump -h 192.168.88.51 -U postgres -d lk_api > lk_api.sql && psql -h postgresql-master -U postgres -d lk_api -f lk_api.sql"]

Алексей
19.07.2018
08:12:59
Иван
19.07.2018
08:13:48
Господа, подскажите пожалуйста! Слышал такую точку зрения что хранить данные в кубернетесе/докере опасно, так как не смотря на все Persistent хранилища он все-равно может их (данные) потерять. Насколько оправданы такие опасения?

Vladimir
19.07.2018
08:15:20
Компьютеры вообще штука ненадежная

Sergey
19.07.2018
08:15:34
как и люди

Banschikov
19.07.2018
08:15:46
Подскажите а что значит ? verbs: ["watch"]

Anton
19.07.2018
08:18:44
Ставь в полиси Retain и ничего не удалится
ну или statefulset - под ними pvc не херятся, и соответвенно pv остаются занятыми даже если грохнуть statefulset

Banschikov
19.07.2018
08:19:34
ну или statefulset - под ними pvc не херятся, и соответвенно pv остаются занятыми даже если грохнуть statefulset
Я пробовал на k8s 1.9 с Delete делать и все удалялось. Не знаю как на 1.10 и 11

Vitaliy
19.07.2018
08:19:43
Подскажите а что значит ? verbs: ["watch"]
Пермишены на "слежку" за состоянием

Banschikov
19.07.2018
08:22:00
Удалял statefulset и и после этого не нашел pvc. Но я долго не стал разбиратся и поставил retain

Иван
19.07.2018
08:22:11
pv это вольюм, который выделили под pvc
А изнутри это например замонтированная нфс, или iscsi.

Banschikov
19.07.2018
08:23:29
так не должно быть
Тоже об этом же подумал. Будет возможность перепроверю

Google
Stanislav
19.07.2018
08:27:39
Stanislav
19.07.2018
08:39:50
кул

Andrey
19.07.2018
08:40:37
Ребят, а в кубе можно контейнер ставить на паузу как при обычном docker pause?

Igor
19.07.2018
08:43:22
думаю нет

никогда такого не видел

ptchol
19.07.2018
08:55:01
А как со статикой в кубе работают ? Вот к примеру фронт представляет собой контейнер со статикой. Обычно делают nginx контейнер который сервит эту статику и дальше ingress нацеливают на него ?

Andor
19.07.2018
08:56:26
cdn нету?

Dmytro
19.07.2018
09:06:35
А как со статикой в кубе работают ? Вот к примеру фронт представляет собой контейнер со статикой. Обычно делают nginx контейнер который сервит эту статику и дальше ingress нацеливают на него ?
да, я делаю так. В контейнере стоит только с нжинкс специально скомпилированный с минимумом нужных модулей плюс во время билда контейнера все статический ресурсы жмутся с zopfli и brotli чтобы не тратить ЦПУ

Mikhail
19.07.2018
09:14:14
Да как так! На одной ноде прекрасно скачивается все из приват регистри, а на другой - нет. Один и тот же деплоймент, с обоих нод успешно делаю docker login

ptchol
19.07.2018
09:15:37
Mikhail
19.07.2018
09:15:45
к поду что запускается на node1 цепляется imageID с нужным секретом, а к поду на node2 нет

Sergey
19.07.2018
09:47:35
Джентльмены, есть ли возможность создать каким-либо образом сервис с внешними эндпоинтами такой, чтобы k8s сам резолвил какой-то домен и подставлял туда все адреса, вываливающиеся из резолва?

Sergey
19.07.2018
09:51:07
https://kubernetes.io/docs/concepts/services-networking/service/#externalname
это не балансит ни разу, это просто синейм же.

а такая же, но с балансингом есть? :)

потому что Endpoint не может содержать хост, если я правильно понял референс-апи

Andrey
19.07.2018
09:51:36
Напишите контроллер, 20 строк.

Страница 690 из 958