
Huan
06.05.2018
19:15:44
https://gitlab.com/gitlab-org/gitlab-ce/issues/22864
Можно через вебку гитлаба подключаться к ссш пода

Ivan
06.05.2018
19:17:37
хм, не проблвал. не знаю если честно зачем

Huan
06.05.2018
19:17:38
Удобно. Дэвам не надо объяснять как подключиться к поду, если им надо

Google

Huan
06.05.2018
19:17:52

Ivan
06.05.2018
19:17:52
Но я кстати не настраивал enviroments, похоже надо

Huan
06.05.2018
19:18:07
Да
Там еще надо заменять $ci_environment_slug

Ivan
06.05.2018
19:19:39
хмм, это в каком месте, сорри туплю

Huan
06.05.2018
19:20:35
Добавлял лейбу в деплойменте, потом в ci добавлял:
Envsubst < deploy.yml > new_deploy.yml
kubectl apply -f new_deploy.yml
И только тогда заработало
Ну и плюс энв тоже надо добавить

Ivan
06.05.2018
19:22:08
deploy.yml можете показать ?

Paul
06.05.2018
19:22:17
https://www.youtube.com/watch?v=OUYTNywPk-s&list=PLj6h78yzYM2N8GdbjmhVU65KYm_68qBmo
думаю, интересно будет всем

Ivan
06.05.2018
19:22:23
у меня тут явно вечер, я никак не соображу что за label

Huan
06.05.2018
19:24:39
deploy.yml можете показать ?
apiVersion: apps/v1
kind: Deployment
metadata:
name: name_of_deploy
labels:
run: name
app: $CI_ENVIRONMENT_SLUG
spec:
replicas: 2
selector:
matchLabels:
run: name
template:
metadata:
labels:
run: name
app: $CI_ENVIRONMENT_SLUG

Google

Ivan
06.05.2018
19:25:05
ах вот как. спасибо друг! я попробую

Huan
06.05.2018
19:25:28
не за что. сам еле допер как это делать
только обязательно укази environment
и надо чтоб в гитлабе был подключен кубер (не обязательно устанавливать компоненты в кубер с гитлаба, достаточно подключить)

Ivan
06.05.2018
19:26:52
Да, у меня подключен, я тока про enviroment так и не понял нахрена это

Huan
06.05.2018
19:28:21
Deploy to Kubernetes:
image: git.domain.com/kubernetes/kube-base
stage: deploy
when: manual
tags:
- kubernetes
script:
- envsubst < deploy.yml > deployment.yml
- kubectl apply -f deployment.yml
only:
- master
environment:
name: UAT
это .gitlab-ci.yml
потом добавится в лейбы app: UAT-43hvvjs

Ivan
06.05.2018
19:29:24
А у меня runner старый, без images, но не важно, я туда kubectl сам ставлю

Huan
06.05.2018
19:29:38
а как ты туда ставишь кубцтл?
прям в раннер?

Ivan
06.05.2018
19:29:55
да

Huan
06.05.2018
19:30:13
тогда наверное стоит пересобрать раннер с кубцтл
у меня раннер запускает image: git.domain.com/kubernetes/kube-base
и там применяет. конфиги кубцтл не надо подсовывать

Ivan
06.05.2018
19:31:14
да не, мне не не мешает, я подсовываю, но спасибо, да , я с image тоже хотел попробовать однажды

Huan
06.05.2018
19:32:16
Dockerfile:
FROM alpine
MAINTAINER huankarlos@domain.com
ENV KUBE_LATEST_VERSION=v1.10.2
ENV HELM_VERSION=v2.9.0
ENV HELM_FILENAME=helm-${HELM_VERSION}-linux-amd64.tar.gz
RUN apk add --update ca-certificates \
&& apk add --update -t deps curl \
&& apk add --update gettext tar gzip \
&& curl -L https://storage.googleapis.com/kubernetes-release/release/${KUBE_LATEST_VERSION}/bin/linux/amd64/kubectl -o /usr/local/bin/kubectl \
&& curl -L https://storage.googleapis.com/kubernetes-helm/${HELM_FILENAME} | tar xz && mv linux-amd64/helm /bin/helm && rm -rf linux-amd64 \
&& chmod +x /usr/local/bin/kubectl \
&& chmod +x /bin/helm \
&& apk del --purge deps \
&& rm /var/cache/apk/*
ENTRYPOINT ["/bin/helm"]

Ivan
06.05.2018
19:32:59
У меня похоже тока не изолированно получается в docker, прямо в runner такое же

Huan
06.05.2018
19:33:57
я тоже думаю в раннер запихнуть
быстрее получается

Ivan
06.05.2018
19:34:20
ага

Google

Ivan
06.05.2018
19:34:31
а кроме вот этой веб консоли, ещё плюсы интеграции появились?
хоть что то
а то у меня такое чувство плохое осталось от этого всего

Huan
06.05.2018
19:34:56
после подключения кубера появились чарты
мне бы еще ингресс подключить
а я пока не совсем понимаю как

Ivan
06.05.2018
19:35:50
а чарты прямо там внутри gitlab?
ingress я не делал, я сделал просто service , и вывел ипы в gitlab-ci , через ubectl get svc solver-svc

Huan
06.05.2018
19:36:32
вот такое

Ivan
06.05.2018
19:36:34
но это всё какой то эрзац
Да эти чарты ж у меня и без интеграции есть
или у вас что то ещё возможно

Huan
06.05.2018
19:38:10
та пока все
думаю эта интеграция еще сырая

Ivan
06.05.2018
19:38:57
понятно, но делитесь если чего откопаете
у меня в компании щас gitlab прямо любят
и в наших мечтах было что мы прямо вообще в консоль k8s никогда ходить не будем, auto devops все дела
а по факту, кисло очень

Huan
06.05.2018
19:40:08
хорошо
у нас вообще номад щас юзают

Google

Huan
06.05.2018
19:40:32
вот поставили задачу на кубер переходить
для меня это новая хрень. учу понемногу

Ivan
06.05.2018
19:41:17
я прошел на edx курс по k8s когда надо было знакомится

Huan
06.05.2018
19:41:33
как прикрутить ингресс?

Ivan
06.05.2018
19:41:45
было ок, как я помню, во всяком случае все эти pod , ingress и прочее стало понятно что

Huan
06.05.2018
19:41:46
у меня есть пока фронтэнд один в кубере

Ivan
06.05.2018
19:41:58
к gitlab как ingress я хз

Huan
06.05.2018
19:42:08
апстрим настроил с нашим доменом
вообще как его прикрутить без гитлаба
перед кубером кто-то юзает хапрокси?

Ivan
06.05.2018
19:43:20
ну насколько я понимаю так же как любой deploy
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: web-ingress
namespace: default
spec:
rules:
- host: blue.example.com
http:
paths:
- backend:
serviceName: webserver-blue-svc
servicePort: 80
- host: green.example.com
http:
paths:
- backend:
serviceName: webserver-green-svc
servicePort: 80

Huan
06.05.2018
19:44:53
а как юзер будет знать о blue.example.com? ингресс надо привязать к ноде какой-то?
или все через мастер?

Ivan
06.05.2018
19:45:16
как я понимаю это backend: servicename через service привязано
т.е. у вас есть pod (ы) к нему service и к ним уже ingress
но я уверен тут в чате каждый второй лучше меня ответит

Huan
06.05.2018
19:46:20
у нас юзается хапрокси как точка входа. т.е. мне надо в хапрокси указать в бэкенде мастер ноду кубера?
а ингресс все разрулит?

Ivan
06.05.2018
19:47:29
эрм, мне кажется нет. мне кажется у ingress будет создан внешний ип, и вот его в haproxy надо

Huan
06.05.2018
19:47:53
а какой у него внешний ип будет?

Google

Huan
06.05.2018
19:48:00
как ему указать какой надо?

Ivan
06.05.2018
19:48:36
а после создания его можно получить
через типа kubectl get svc solver-svc -o jsonpath='{.status.loadBalancer.ingress[0].ip}'
я так для svc получаю

Vasilyev
06.05.2018
19:51:28
Если есть внешняя сущность, типа хапрокси, то можно ингресс не поднимать, а сделать сервис с типом нодепорт. И уже на этот порт направьте внешний хапрокси.
Нодепорт будет слушать на всех нодах

Huan
06.05.2018
19:53:01
нужно именно через ингресс. у нас хапрокси в любом случает точка входа для юзеров
а как в ингрессе указать эндпоинт?

Vasilyev
06.05.2018
19:54:35
У вас какой ингресс? Нджинкс?

Huan
06.05.2018
19:54:42
его пока вообще нет
нужно создать

Vasilyev
06.05.2018
19:54:47
)

Huan
06.05.2018
19:55:03
подскажите как

Vasilyev
06.05.2018
20:00:45
https://github.com/kubernetes/ingress-nginx/blob/master/docs/deploy/index.md

Ivan
07.05.2018
06:38:48

Huan
07.05.2018
06:54:23

Alex Milushev
07.05.2018
07:53:21
Пиши в личку
Воу воу, скиньте потом консолидированную инфу сюда, будет полезно. Кста, а тут хегтег есть какой для пометок полезной информации?

Ivan
07.05.2018
07:57:09
Пока не докопали. У меня gitlab недоволен сертификатом что я положил туда с вебки google k8s

Aleksandr
07.05.2018
07:57:46
всем привет есть вопрос по докеру скорее: есть компоуз файл, есть бд постгрес и сервисы от нее зависимые. прописал depends_on у этих сервисов на postgres, в postgres прописал healthcheck на состояние базы через pg_isready утилиту, но все равно сервисы валятся мол connection reset by peer. Дело в том что бд не успевает развернуться, а docker compose уже говорит зависимым сервисам мол все готово (убежден в этом, потому что сервисы которые стартовали позже смогли законнектиться). Подскажите плиз как можно вообще корректно эти вещи обработать? пробовал и баш скрипты wait-for-it все еще безрезультатно