@kubernetes_ru

Страница 689 из 958
Valera
18.07.2018
10:13:22
Мне надо ещё покурить маны, в-общем :) Пока что у меня вот такое определение ingress, при создании которого оно автоматом создаёт всё, что нужно на GCLB и направляет на нужные порты на нодах

apiVersion: v1 data: tls.crt: "..." tls.key: "..." kind: Secret metadata: name: sslcerts namespace: default type: Opaque --- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: dev-ingress annotations: kubernetes.io/ingress.global-static-ip-name: 'dev-ingress-ip' spec: tls: - secretName: sslcerts backend: serviceName: 'nginx-app' servicePort: 80 rules: - host: biz.dev.example.com http: paths: - path: /gw/xyz/api backend: serviceName: 'gateway-xyz' servicePort: 80 - path: /gw/uyt/api backend: serviceName: 'gateway-uyt' servicePort: 80 - path: /api/v4 backend: serviceName: 'payment-api' servicePort: 80 - path: /demo backend: serviceName: 'demo-app' servicePort: 80 - path: /gua backend: serviceName: 'gua-app' servicePort: 80 - path: backend: serviceName: 'biz-app' servicePort: 80 - host: core.dev.example.com http: paths: - path: /set/api backend: serviceName: 'set-app' servicePort: 80 - path: /set backend: serviceName: 'set-app' servicePort: 80 - backend: serviceName: 'core-app' servicePort: 80 - host: wallet.dev.example.com http: paths: - path: /gw/xyz/web backend: serviceName: 'gateway-xyz' servicePort: 80 - path: /gw/uyt/web backend: serviceName: 'gateway-uyt' servicePort: 80 - path: backend: serviceName: 'wallet-app' servicePort: 80 - host: dev.example.com http: paths: - backend: serviceName: 'www-app' servicePort: 80 - host: www.dev.example.com http: paths: - backend: serviceName: 'www-app' servicePort: 80 - host: ep.dev.example.com http: paths: - path: /api/v1 backend: serviceName: 'mn-adapter-app' servicePort: 80

Stanislav
18.07.2018
10:13:54
Вот такой ингресс я не использовал

У меня вместо ингресса nginx, который я полностью контролирую в плане внутренней конфигурации + на кластере сетевые политики,

Google
Stanislav
18.07.2018
10:16:01
Это позволяет мне не городить большее количество посредников на пути до сервиса

сам nginx стучится на ClusterIP:порт сервисов

Tores
18.07.2018
10:19:51
Господа, нубский вопрос, пробую calico в кубере, на трех VM (CentOS 7) masters. Валится на master2 & master3 , как заставить calico-node использовать eth0 интерфейс вместо бриджа докера, он на всех 3-х машинах одинаковый и соответсвенно не взлетают поды на мастере2 и мастере3??? в деплоименте написано IP : autodetect, в мурзилке calico что IP_AUTODETECTION_METHOD не используется с kebernetes api

ptchol
18.07.2018
10:32:08
ребят, а как то на кубере можно сделать нечто вроде pre-upgrade hook хелмовских ? Хочется перед upgrade моего деплоя делать некоторый набор действий. InitContainers не подходят, потому что они запускаются каждый раз при рестарте pod и вобще для всех pod в рамках replicaset. А мне нужно 1 раз.

Не очень хочется это на уровень ci выносить

Denis
18.07.2018
11:01:46
Всем привет, пытаюсь прикрутить кастомный fluentd что бы gelf плевался, через DaemonSet. kubectl create -f fluentd-daemonset-gelf.yaml вот отсюда https://github.com/xbernpa/fluentd-kubernetes-gelf/blob/master/kubernetes/fluentd-daemonset-gelf.yaml Но его почему то нет в списках Что я делаю не так? > kubectl get ds fluentd Error from server (NotFound): daemonsets.extensions "fluentd" not found

ptchol
18.07.2018
11:14:03
--namespace kube-system

ptchol
18.07.2018
11:15:51
просто по умолчанию выводится содержимое --namespace=default

Алексей
18.07.2018
11:22:27
Может кто то решал подобную задачу CI деплою через helm бандл приложения нужно что бы при старте postgresql скачивал дамп по sftp/scp и заливал к себе Есть вариант собрать свой контейнер постгреса и в entrypoint добавить это залитие, или можно как - то через хуки схитрить?

Алексей
18.07.2018
11:27:48
initContainers
в init я могу скачать, но я не смогу залить дамп до запуска самого engine или можно делать дамп через копирование /var/lib - но это такое себе занятие

Google
Andrey
18.07.2018
11:28:17
pg_basebackup прекрасно снимает дамп и разворачивает его через перемещение файлов.

в init я могу скачать, но я не смогу залить дамп до запуска самого engine или можно делать дамп через копирование /var/lib - но это такое себе занятие
#!/bin/bash set -e write_config() { cat << EOF > /mnt/postgresql.conf listen_addresses = '*' max_connections = 500 log_destination = 'stderr' EOF cat << EOF > /mnt/pg_hba.conf local all all trust host all all all trust EOF } if [ -e "/mnt/deployed" ]; then echo "Database is already deployed" write_config exit 0 fi rm -frv /mnt/* curl --limit-rate 10M "$DUMP_URL" | tar -C /mnt -xvz write_config chown -R 70:70 /mnt rm -f /mnt/recovery* /mnt/backup_label touch /mnt/deployed printf "%s\n" 'Exiting init container'

Alex Milushev
18.07.2018
12:38:03
есть вопрос по калико, его как лучше на куб ставить, со своим etcd или все таки что-бы он вытаскивал данные по подсетям из куба?

Roman
18.07.2018
12:38:41
ставь с CRD

https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/calico#installing-with-the-kubernetes-api-datastore50-nodes-or-less

Sergey
18.07.2018
12:51:14
Ребят а есть вообще веб-сервера для k8s с которыми он сможет нативно работать?

Sergey
18.07.2018
12:52:28
В каком смысле?
типа управляться не образами а напрямую kubectl

коллега грит где то видел называется на P больше инфы нет:)

Artem
18.07.2018
12:53:11
ну, в кубе все управляется с помощью kubectl

Что значит образами?

Andrey
18.07.2018
13:21:28
Возник вопрос по обработке соединений при апдейте сервиса. Как k8s себя ведет с активными соединеняими? Допустим есть http сервис в 2х репликах. Пошло задание на обновление. Поднялось 1 новое приложение, осталось 2 старых (на которых висят активные коннекты). Куда сейчас пойдут новые коннекты? на 1 новый экземпляр или и на старые и на новый? Что будет, если коннект не успеет отработать на старом приложении, когда k8s начнет гасить эти старые экземпляры? Оборвет его?

в принципе, если сервис начнет направлять трафик сразу же на экземпляр нового приложение, исключая старые, то второй вопрос не особо актуален

ps https://kubernetes.io/docs/tutorials/kubernetes-basics/update/update-intro/ читал. :)

Artem
18.07.2018
13:25:09
Коннекты пойдут на новый, старый должен загаситься в рамках grace time, за которое сервис должен успеть обаботать все коннекты

Sergey
18.07.2018
13:26:18
кубер вряд ли сам догадается а коннекты просто порвет

Andrey
18.07.2018
13:26:52
т.е. при апгрейде будет некий период времени, когда вместо 2х-3х-10 реплик одного приложения будет трудиться лишь 1?

Sergey
18.07.2018
13:27:03
типа того

Google
Andrey
18.07.2018
13:27:23
Есть же rolling update для этого вроде

Sergey
18.07.2018
13:27:50
я бы сделал два сервиса новые контейнеры и старые дал бы их хапрокси поднял бы новую версию, перебросил бы на нее все, а потом убил бы старый rolling не пробовал

Andrey
18.07.2018
13:27:55
да, ему логично просто порвать коннекты, если за отведенное время приложение само не погасилось

Artem
18.07.2018
13:28:12
да, стратегия, описывающая максимальное количество перезапускающихся подов

Andrey
18.07.2018
13:28:19
Есть же rolling update для этого вроде
да, вот я касательно его спрашиваю, не очень понятно из доки

в 1 момент времени будут работать как старые так и новые приложения?

Andrey
18.07.2018
13:30:02
Он обновляет не все сразу а постепенно. На сколько я знаю "постепенность" можно настроить

Andrey
18.07.2018
13:32:04
И по логике: перед тем как старому приложению пойдет сигнал "выключайся" k8s прекратит заворачивать на него трафик, что бы приложение спокойно дожевало уже имеющиеся запросы и погасилось?

Andrey
18.07.2018
13:36:12
спасиб, буду тестить :)

Anton
18.07.2018
13:40:09
Привет! Есть ли способ сделать в кубере очередь задач, где каждая новая запускается в новом докере, лучше чем job + rabbitMQ (https://kubernetes.io/docs/tasks/job/coarse-parallel-processing-work-queue/) ?

Andrey
18.07.2018
13:48:53
спасиб, буду тестить :)
https://ru.coursera.org/lecture/google-kubernetes-engine/deployments-and-rolling-updates-f25uw

Andrey
18.07.2018
13:49:45
спасибо

Alexey
18.07.2018
14:56:21
День добрый. Каким образом можно запустить usbip в kubernetes? В docker я запускаю контейнер, подключая через volumes /dev и /lib/modules с хостовой системы (privileged включен). В кубике когда я такое делаю, то получаю ошибку при выполнении usbip attach usbip: error: import device usbip: error: query

Yuriy
18.07.2018
15:15:44
Всем привет, по долгу работы зарылся в AWS и небыло времени продолжить со своим on-premise кластером на k8s и опытами над ним, 2 месяца его не трогал, сегодня включил, все поднялось без задоринки, конфа такая 3 etcd + 3 master + (n+1 nodes), wawe netwok, версия k8s 1.10.1, все поднималось вручную без спрея итд. Вопрос вот в чем, 2 месяца я вообще не трогал тему кубика, что-то кординально поменялось ?, появились новые не забагованые сетевые фреймы или подчинили фланел ?

Vadim
18.07.2018
16:01:53
k8s новый вышел.

Mikhail
18.07.2018
16:17:08
No API token found for service account "default", retry after the token is automatically created and added to the service account # kubectl describe serviceaccounts default Name: default Namespace: default Labels: <none> Mountable secrets: <none> Tokens: <none> Events: <none>

Google
Mikhail
18.07.2018
16:17:21
встречался кто?

--service-account-private-key-file && —service-account-key-file есть

Dmytro
18.07.2018
16:21:15
встречался кто?
попробуй просто удали SA

раньше были такие баги с дефолтным SA

Mikhail
18.07.2018
16:30:04
попробуй просто удали SA
пробовал, не помогло

Dmytro
18.07.2018
16:30:22
хмм ну тогда надо разбираться

Mikhail
18.07.2018
16:30:37
угу

Dmytro
18.07.2018
16:30:47
а какая команда приводит к такой ошибке?

может не тот неймспейс?

Mikhail
18.07.2018
16:33:22
проблема в том что не создаются автоматически секреты. Вот кластер с kubeadm # kubectl get secrets --all-namespaces | grep 'default' default default-token-2jpgf kubernetes.io/service-account-token 3 2d kube-public default-token-p7qbl kubernetes.io/service-account-token 3 2d kube-system default-token-4tvmg kubernetes.io/service-account-token 3 2d

а вот мой вручную поднятый # kubectl get secrets --all-namespaces | grep 'default' default gitlab kubernetes.io/dockerconfigjson 1 4h

Dmytro
18.07.2018
16:34:40
интересно, чтобы секреты не создавались автоматом для дефолтного SA я пока не встречал

возможно это какой-то флаг который можно переключить?

Mikhail
18.07.2018
16:35:39
может быть, но пока я не знаю какой )

смотря в доку я вроде делаю все верно

Google
Mikhail
18.07.2018
17:48:00
смотря в доку я вроде делаю все верно
помогло грохнуть префикс кубера в etcd и запустить заново

Nik
18.07.2018
19:39:38
а как прокруить сетевой доступ из пода во внешний мир? (хранилище вне кубов, а app внутри)

сетка weave

Sergei
18.07.2018
19:48:19
Поставить dnsmasq агент

Nik
18.07.2018
19:54:31
Поставить dnsmasq агент
а dns чем поможешь?

я по ip хожу

и не попадаю

Sergei
18.07.2018
20:14:23
Это я описался, не DNS а ip

kubectl create -f https://raw.githubusercontent.com/kubernetes-incubator/ip-masq-agent/master/ip-masq-agent.yaml

Этот агент фактически просто добавляет правила для маскарада на ноды

Ему ещё можно в конфиг мапе прописать настройки, если надо нестандартные

Nik
18.07.2018
20:31:10
Спс

все полетело без этого

command: ["curl", "http://pmf-service:8080/gc/services.csv", ">", "/home/vsftpd/services_$(date +%Y-%m-%d).csv"]

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