

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

djaarf
18.07.2018
11:14:26

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

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

Andrey
18.07.2018
11:26:45
С одинаковым volume в init и основном.

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

Google

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

Алексей
18.07.2018
11:32:32

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 с которыми он сможет нативно работать?

Artem
18.07.2018
12:52:04

Sergey
18.07.2018
12:52:28
коллега грит где то видел
называется на 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
в 1 момент времени будут работать как старые так и новые приложения?

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

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

Andrey
18.07.2018
13:34:04

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
спасибо

Denis
18.07.2018
14:24:06

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 новый вышел.

Dmytro
18.07.2018
16:16:37

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


Mikhail
18.07.2018
16:30:04

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
может быть, но пока я не знаю какой )
смотря в доку я вроде делаю все верно

Nik
18.07.2018
16:48:23

Google

Mikhail
18.07.2018
17:48:00

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

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

Nik
18.07.2018
19:54:31
я по 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"]