
Mikhail
21.04.2017
09:08:44
Я ставил через kube-deploy , но этот проект уже не развивается давно, и версия там 1.5.1

Victor
21.04.2017
10:55:47
всем добра! кто-нибудь может поделиться примером конфигурации nginx+php-fpm+postgres?
если гнижку мне прислали, спасибо, конечно, но там одна сжатая глава по кубам, да и убунту у меня, что, конечно, в целом ничего не меняет, но добавляет особенностей. если есть yml-ки готовые, было бы здорово на них взглянуть) а то из официальных примеров по крупицам все собирать приходится

Alexey
21.04.2017
11:09:17

Google

Victor
21.04.2017
11:09:55

Alexey
21.04.2017
11:10:22

Mikhail
21.04.2017
11:18:32
В таком случае, стоило об этом написать:) А то ты и правда бросил таак, будто "На,ищи ответ тут!"
А за книжку спассибо)

Maksim
21.04.2017
11:51:36
А что сложного? Делаешь stafull Postgress и делаешь из него сервис. Потом берёшь контейнер с hub.docker.oi с nginx-php-fpm (их та м с десяток, выбираешь который тебе больше нравится)
начни с kubectl run <> —image=nginx-php-fpm
https://kubernetes.io/docs/tutorials/stateful-application/run-stateful-application/

Victor
21.04.2017
11:55:49

Maksim
21.04.2017
11:55:52
тут как работать со statfull (Тут правда Mysql Но разница не велика)
Хочешь сделай отдельно)
Ну базу то я тебе не предлагаю туда поставить

Victor
21.04.2017
11:57:59
Хочешь сделай отдельно)
и тут начинаются вопросы) что, например, делать, когда я задеплою все приложения на куб? стеки у них схожие, и выйдет 5 сервисов nginx, 5 сервисов fpm и т.д.

Google

Maksim
21.04.2017
11:58:30
нет сервис будет одн nginx и один fpm
за каждым сервисом будет по n подов
и соответвенно nginx будет тянуть данный от fpm
от сервиса fpm

Victor
21.04.2017
11:59:54
т.е. будет один большущий конфиг для nginx?

Maksim
21.04.2017
12:00:20
по сути в конфиге nignx у тебя будет
fpm.svc:9000;

Victor
21.04.2017
12:00:31
просто еще разные конфиги для dev-stage-prod..

Maksim
21.04.2017
12:00:34
вместо локалхоста
видиме я не доконца понимаю ахитектуру твоего вопроса
у тебя 5 разных fpm с разным окружением?
и в чём разница между 5 nginx?

Fike
21.04.2017
12:02:08
польза от этого понятна, но там вылезает столько геморроя, что по затратам проще брякнуть один контейнер.
сам я фанат разделения, если что

Maksim
21.04.2017
12:03:17

yolkov
21.04.2017
12:03:18
+1

Fike
21.04.2017
12:04:12
в идеале у вас ui и бэкенд - это два разных приложения, причем ui - это исключительно статика

Victor
21.04.2017
12:07:54
так что в fpm статики нет вообще

Google

Fike
21.04.2017
12:09:09
тогда поделить должно быть легко

Victor
21.04.2017
12:10:46
тогда поделить должно быть легко
да, но.. как я уже писал, начинается проблема дублирования сервисов. ну не совсем дублирования, пересекаться они, конечно, не будут, но управлять ими становится сложно, особенно, когда долго не лезешь в рабочий процесс, а потом надо что-то переконфигурировать)

Fike
21.04.2017
12:11:10
по разным неймспейсам просто разбить
и, в идеале, добавить генерацию файлов для куба прямо в приложение

Victor
21.04.2017
12:12:00

Fike
21.04.2017
12:12:37
я пока увидел, что вы хотите разбить prod/dev/test

Victor
21.04.2017
12:12:47
да
и приложения)

Fike
21.04.2017
12:13:07
namespace: {{application_name}}-production
хотя сами по себе приложения должны оформляться одним подом
если у вас там только не совсем микросервисно

Victor
21.04.2017
12:16:37
если у вас там только не совсем микросервисно
в том-то и дело, что хочется совсем. мы все сервисы переносим на куб, а я, к сожалению, в этом профан оказался) когда только пришел, переписал всё на docker-compose, и вручную (Makefile) поднимал-тормозил сервисы. и наивно полагал, что куб - похожая ерунда, и проблем не возникнет))

Victor
21.04.2017
12:17:36
вот и ищу best practice

Fike
21.04.2017
12:17:38
да в общем-то похожая, просто yml побольше
я боюсь, я пока так и не понял, откуда вылезает боль при администрировании

Victor
21.04.2017
12:19:21
и самое главное дикие боли по поводу непрозрачных доков
инфы куча, она периодически дублируется и взаимоисключается))
пока только понравился ман в coreos
но у меня убунту(

Google

Victor
21.04.2017
12:21:44
кто-нибудь, кстати, сталкивался с juju и прокидыванием портов?

Maksim
21.04.2017
12:37:03
Ну читать доку по куберу это отдельный навык) Приобретается со временем)
1. Конфиги можно мапить через config map, можно держать и в контейнере. Best practic такая. Держать дефолтовый в контейнере. и потом мапить нужный
по сути config map это просто фаил конфигурации который монтируется в нужною точнку контенера через -v ключ докера
[root@222720-10009 ~]# kubectl get cm prometheus -o yaml
apiVersion: v1
data:
prometheus.yml: "# A scrape configuration for running Prometheus on a Kubernetes
cluster.\n

Admin
ERROR: S client not available

Maksim
21.04.2017
12:39:40
а вот из deployment
volumes:
- configMap:
defaultMode: 420
name: prometheus
name: config-volume
volumeMounts:
- mountPath: /etc/prometheus
name: config-volume
По сути в cm хрнаится фаил конфигурации который монтируется в /etc/prometheus
создать cm можно простой командой kubectl create cm <name> —from-file=<file>
Ingress это способ вывода приложения в мир через Ingress Controller (Обычно GCE или Nginx, Хотя сейчас вроде как HAproxy пилят) То есть твоё приложения помещается за прокси сервером. (при том сам прокси берёт из сервиса только endpoint то есть адреса подов)
по сути приложение работающие в docker-compose не так сложно перевести в кубер

Ihor
21.04.2017
13:07:16

Victor
21.04.2017
13:08:09
спасибо за конфиги) собственно, так и сделано, только на проде еще одна прослойка в виде juju. читал по ней маны, но думаю снесу нафиг и поставлю с нуля куб по офф докам

Mikhail
21.04.2017
13:08:45

Victor
21.04.2017
13:09:23

Maksim
21.04.2017
13:11:29

Victor
21.04.2017
13:13:04
спасибо за наводку

Ihor
21.04.2017
17:40:52
нет, не опечатка)

Google

Victor
21.04.2017
23:10:11
есть ли смысл ставить куб на kvm/lxc? или если пока нет необходимости, лучше ставить bare metal и потом замасштабировать?

Maksim
22.04.2017
06:40:50
ну в lxc точно смысла особого нет) контейнер в контейнере. Тем более что и докер и lxc работаю на cgroups

Victor
22.04.2017
11:03:18
ну а так типовой стек какой? у меня будут минимум 2 сервера, причём каждый со своим мастером
open stack или так ставить, bare metal?

Fike
22.04.2017
12:37:50
если вам не нужен опенстек как таковой, то зачем его ставить?

Victor
22.04.2017
12:50:34
разве так не гибче выходит? взять те же маны по карго, там опенстэк

Oleg
22.04.2017
19:36:19
кто как разворачивает кубер?

Paul
22.04.2017
19:39:50
для тестов отлично подходит kubeadm

Denis
22.04.2017
19:47:37
кто как разворачивает кубер?
1. Есть такая штука - https://coreos.com/tectonic/
2. У нас свой инсталлер на Ansible, который разворачивает нужные настройки безопасности, сверху Kubernetes, сбоку Docker Registry, Concourse CI, Grafana, Telegraf, InfluxDB.
Следующее в плане добавить:
1. Git Workflow (dev/stage/production/feature branches)
2. Project Profiles

Paul
22.04.2017
20:29:56

Denis
22.04.2017
20:32:56
В каком то смысле

Paul
22.04.2017
20:36:00

Victor
22.04.2017
20:37:46

Denis
22.04.2017
20:39:07
был глобальный смысл или because we can? Если не секрет, конечно
Во первых, мы были первые :) В том смысле, что мы это сделали давно (мы около года назад начали натягивать кубик в прод), во вторых разные специфичные кейсы.
Сейчас мы просто задаём список из IP, логины и пароли - кластер и окружение сбоку настраиваемся на указанных машинах. Короче, one click ?

Let Eat
22.04.2017
20:40:03

Denis
22.04.2017
20:40:47