
Andor
11.10.2018
11:29:40
значит не всё

kvaps
11.10.2018
11:29:54

DASTAN
11.10.2018
11:30:23
всем привет, подскажите как версионировать helm релизы? мне нужно динамически обновлять Chart.yaml или хранить в values.yaml?

Banschikov
11.10.2018
11:31:49

Google

bebebe
11.10.2018
11:32:38
можно генерить этот репозиторий скриптами, и выкладывать куда-либо

Anton
11.10.2018
11:33:50
Коллеги, может потворяющиеся вопросы просить задавать где нибудь например на тостере или ru.stackoverflow.ru? Ответить там. А потом на повторяющийся вопрос отправлять на этот ресурс

DASTAN
11.10.2018
11:34:16
semver гугли
я знаю, что мажорные релизы обратно несовместимые, а минорные и патчи совместимые, однако когда я делаю изменение в проекте, делаю коммит и деплою в кластер, мои изменения не видны. я так понимаю это из за того, что хелм думает что у меня в релизе ничего не изменилось и он не стягивает образ с реестра, поэтому нужно менять версии релизов, я прав?


bebebe
11.10.2018
11:37:27
бампать версию Charts.yaml через shell heredoc?
любым удобным для вас способом, по идеи workflow должен быть такой:
есть git репозиторий для самого чарта
вы делаете изменения в чарте, бампаете версию, было 0.1.0, стало 0.1.1
делаете пуш своих изменений в git репозиторий
CI система должна проверить ваш чарт (helm upgrade —debug —dry-run) и если все ок, собрать чарт и запихнуть в chartmuseum
CD система должна отловить изменение чарта в репозитории chartmuseum и раздеплоить новую версию в стейджинг окружение
дальше по вкусу
Версия чарта должна быть запинена в CD для прод окружения

DASTAN
11.10.2018
11:39:49
или может я по своей безграмотности называю чартом не то что нужно называть
таким образом ввел вас в заблуждение

bebebe
11.10.2018
11:41:29
chartmuseum - это что-то вроде репозитория для чартов (совсем грубо), его можно заменить на yet another bash script
https://github.com/helm/helm/blob/master/docs/chart_repository.md

Banschikov
11.10.2018
11:42:34

DASTAN
11.10.2018
11:43:54
спасибо за уделенное время, bebebe @f545_j_43g43u_jer3tfgu32fh3333

Denis
11.10.2018
11:48:19

Google

Сергей
11.10.2018
11:57:36
подскажите что лучше юзать для распределенного хранения файлов?
сейчас юзаю nfs

Sergey
11.10.2018
12:00:58
насколько часто требуется к ним обращаться? кто будет обращаться?

Сергей
11.10.2018
12:01:54

Sergey
11.10.2018
12:02:06
а частота?

Andor
11.10.2018
12:02:12
S3?

Vadim
11.10.2018
12:03:15

Сергей
11.10.2018
12:03:31
а частота?
частота не большая будет, проект не запущен еще, пока что в тесте

Vadim
11.10.2018
12:03:41
ну вот, вроде все классические проблемы обсудили? Теперь планка будет выше, я думаю

Andor
11.10.2018
12:04:03
S3 уже советовали?

Сергей
11.10.2018
12:04:49
ладно, зайду с другой стороны, насколько плох может быть nfs?

Andor
11.10.2018
12:05:30
почему не S3?

Sergey
11.10.2018
12:05:43

kvaps
11.10.2018
12:05:58

Denis
11.10.2018
12:13:22

kvaps
11.10.2018
12:14:36
значит там по дефолту все
https://kubernetes.io/docs/tasks/administer-cluster/out-of-resource/#hard-eviction-thresholds
начиная с 1.12 можно настраивать динамически
здесь:
kubectl get -n kube-system configmaps | grep kubelet
kubelet-config-1.11 1 101d
kubelet-config-1.12 1 12d

Denis
11.10.2018
12:17:16
а как выпести текущие значиния по дефолту?

Google

Andor
11.10.2018
12:17:37
что сделать?

Denis
11.10.2018
12:18:20

kvaps
11.10.2018
12:21:43
ну или так
kubelet --help | awk '$1 == "--eviction-hard"'

Denis
11.10.2018
12:24:46
dbakalov@cloudshell:~ (s2s-dev-int)$ kubelet --help
-bash: kubelet: command not found :(

kvaps
11.10.2018
12:26:35
в 1.10 этот параметр для каждой ноды индивидуально настраивается, т.к. это просто опция для kubelet

Denis
11.10.2018
12:32:06

Даниил
11.10.2018
12:36:38
подскажите пожалуйста, как можно создать config.json чтоб его можно было юзать в dind контейнере
генерил при помощи
kubectl create secret docker-registry aws-registry \
--docker-server=$DOCKER_REGISTRY_SERVER \
--docker-username=$DOCKER_USER \
--docker-password=$DOCKER_PASSWORD \
--docker-email=no@email.local
но у меня получился только .dockercfg

Alisher
11.10.2018
12:40:31
На локальном кластере kubernetes, что является альтернативой google storage bucket? Есть приложение в описании установка на gcp, а мне надо его на локальный кластер установить.

Andor
11.10.2018
12:41:11
ну можешь поставить minio для разработки
главное в прод не тащи

Alisher
11.10.2018
12:42:50
это как раз для тестинга
спасибо

Peter
11.10.2018
12:52:03
В терминологии rancher2 насколько правильно на одной ноде держать etcd, Control Plane и Worker?

Валентин
11.10.2018
13:04:34

Oleg
11.10.2018
13:08:57
Посоветуйте как лучше сделать. Хочу динамически создавать идентичные поды через API под каждого пользователя, при этом мне нужна маршрутизация www.myservice.com/:podname

Anton
11.10.2018
13:29:43
Товарищи, хочу разверуть эластик с оф образа, во всех рассмотреных мной примерах сервис указывается как clusterIP: None и соответсвенно не ресолвится внутри пода, как следствие при указании discovery.zen.minimum_master_nodes > 1 он не запускается так как не может найти другие узлы

Даниил
11.10.2018
13:31:02
Создай два сервиса
Один для внутренних коннектор и один для внешних

Google

Даниил
11.10.2018
13:31:27
И делай резола внутри кластера при помощи днс
Pod-name.service-name.namespace.svc.local

Anton
11.10.2018
13:32:57
я пробовал такой вариант
failed to resolve host [elasticsearch]

Даниил
11.10.2018
13:34:03
Ну тебе если нужен дискавери внутри кластера, то ходи по днс. Как раз таки кластерайпи при таком кофеине должен быть none
Это друг друга?

Anton
11.10.2018
13:34:35
это в логах элстика

Даниил
11.10.2018
13:34:36
Или из другого неймспейса?

Anton
11.10.2018
13:34:50
из этогоже, одного из мастеров

Artem
11.10.2018
13:35:03
Ставь из хелм чарта, там уже все сделано

Corleone
11.10.2018
13:35:34

Andor
11.10.2018
13:35:37

Anton
11.10.2018
13:35:55

Даниил
11.10.2018
13:36:06
Блин, а я вот что-то хельму не могу довериться(

Anton
11.10.2018
13:36:10
ты покажи уже конкретно конфиги и логи
сервис
apiVersion: v1
kind: Service
metadata:
namespace: logging
name: elasticsearch
labels:
app: elasticsearch
spec:
clusterIP: None
selector:
app: elasticsearch
ports:
- port: 9200
name: http
- port: 9300
name: transport
protocol: TCP

Даниил
11.10.2018
13:36:16
Всепо старинке

Andor
11.10.2018
13:36:29
а нафиг тебе внутри кластера 9200?
хедлесс сервис же чисто для дискавери нужен?


Anton
11.10.2018
13:37:04
ты покажи уже конкретно конфиги и логи
DS
apiVersion: extensions/v1beta1
kind: DaemonSet
metadata:
namespace: logging
name: elasticsearch
spec:
template:
metadata:
labels:
app: elasticsearch
spec:
nodeSelector:
scope: main
containers:
- name: elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:6.4.2
imagePullPolicy: Always
env:
- name: ES_JAVA_OPTS
value: "-Xms4g -Xmx4g"
- name: cluster.name
value: logs
- name: node.name
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: node.master
value: "true"
- name: node.data
value: "true"
- name: node.ingest
value: "true"
- name: http.enabled
value: "true"
- name: http.compression
value: "true"
- name: http.cors.enabled
value: "true"
- name: http.cors.allow-origin
value: "*"
- name: discovery.zen.minimum_master_nodes
value: "2"
- name: discovery.zen.ping.unicast.hosts
value: elasticsearch
- name: xpack.ml.enabled
value: "false"
- name: processors
valueFrom:
resourceFieldRef:
resource: limits.cpu
resources:
requests:
cpu: 0.25
limits:
cpu: 1
ports:
- containerPort: 9200
name: http
- containerPort: 9300
name: transport
livenessProbe:
tcpSocket:
port: transport
initialDelaySeconds: 20
periodSeconds: 10
readinessProbe:
httpGet:
path: /_cluster/health
port: http
initialDelaySeconds: 20
periodSeconds: 5
timeoutSeconds: 5
volumeMounts:
- name: data
mountPath: /usr/share/elasticsearch/data
volumes:
- name: data
emptyDir: {}

Google

Anton
11.10.2018
13:37:40
а нафиг тебе внутри кластера 9200?
apiVersion: v1
kind: Service
metadata:
namespace: logging
name: elasticsearch
labels:
app: elasticsearch
spec:
selector:
app: elasticsearch
ports:
- port: 9200
name: http
---
apiVersion: v1
kind: Service
metadata:
namespace: logging
name: elasticsearch-descovery
labels:
app: elasticsearch
spec:
clusterIP: None
selector:
app: elasticsearch
ports:
- port: 9300
name: transport
protocol: TCP
Соответственно
- name: discovery.zen.ping.unicast.hosts
value: elasticsearch-descovery

Andor
11.10.2018
13:39:28
descovery
как там было, #платиновые_треды_кубернетис ?

Anton
11.10.2018
13:39:52
ну это сейчас от руки писиял, очепятался

bebebe
11.10.2018
13:40:20

Andor
11.10.2018
13:40:34
Соответственно
- name: discovery.zen.ping.unicast.hosts
value: elasticsearch-descoveryа это чо такое ваще?
давно переменные окружения можно делать с точками?

Anton
11.10.2018
13:41:29

Andor
11.10.2018
13:41:49
где? в именах переменных?

Anton
11.10.2018
13:42:16
где? в именах переменных?
Да, в оф мануале эластика для докера
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"

Andor
11.10.2018
13:42:32
ссылку

Anton
11.10.2018
13:42:51
ссылку
https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html

Andor
11.10.2018
13:43:34
мне эта дока взрывает мозг

Anton
11.10.2018
13:43:45
не одному тебе

Andor
11.10.2018
13:44:01
нельзя же было точки в именах переменных окружения никогда
$ abc.xyz=1
bash: abc.xyz=1: command not found

Anton
11.10.2018
13:45:17

Fike
11.10.2018
13:45:18

Anton
11.10.2018
13:46:14
$ abc.xyz=1
bash: abc.xyz=1: command not found
export
declare -x cluster.name
declare -x discovery.zen.minimum_master_nodes
declare -x discovery.zen.ping.unicast.hosts
declare -x http.compression
declare -x http.cors.allow-origin
declare -x http.cors.enabled
...