
Александр
20.02.2018
07:27:40
Коллеги, а как заставить k8s перезапускать автоматически pod если обновился image?

Maksim
20.02.2018
07:28:22
деплоймент это делает сам
соглансо UpdatePolicy

Александр
20.02.2018
07:30:02
Хм, наверное я не внимательно почитал, спасибо, перечитаю

Google

Игорь
20.02.2018
07:38:55
@abideev
kubectl set image deploy/nginx-deployment nginx=nginx:1.9.1
deployment "nginx-deployment" image updated
меняется образ и соотвественно перезапускает

Александр
20.02.2018
07:39:51
@gorschal Если тэг всегда latest, то это уже не сработает?

Alexey
20.02.2018
07:40:10
"imagePullPolicy": "IfNotPresent"
исправь на олвэйс
да, и на лэйтест, имэдж пулл всегда включен по-умолчанию

Александр
20.02.2018
07:42:33
imagePullPolicy установлен в Always, но вот с тэгом latest не хочет автоматически перезапускать поды

Alexey
20.02.2018
07:44:21
ты имеешь ввиду, что когда ты залил новый образ на докер-хаб например, твой кластер увидел изменения и подтянул их сам?
если ни один из параметром деплоймента не изменился, то кубернетес не будет ничего обновлять сам. нужно дропнуть старые поды

Александр
20.02.2018
07:45:10
Да, именно это я и имел в виду. Хотелось бы, что бы он автоматически это делал

Alexey
20.02.2018
07:46:29
ну я выполняю kubectl delete po -l anylabel=app
и он тянет новые версии, если они новые

Dmitry
20.02.2018
07:46:42
на какой OS ?
centos 7 3.10.0-693.11.6.el7.x86_64, docker 17.12.0-ce, build c97c6d6
Причем систему уже больше месяца назад обновил, все ок было.
Симптомы схожи с этим issue:
>kubelet on the host would start to show PLEG timeout
>docker ps -a would show the container ID with status created (but not docker ps, but docker inspect the container would hang
https://github.com/moby/moby/issues/36010

Vladyslav
20.02.2018
08:01:09

66271
20.02.2018
08:01:51
а зачем тогда брать версию с таким забавным коммитом ? )

Vladyslav
20.02.2018
08:02:32
В ногу со временем

Google

66271
20.02.2018
08:02:58
тож на центоси но правда с 13ым докером

Maksim
20.02.2018
08:03:49

Dmitry
20.02.2018
08:04:10
У меня бэйрметал, т.ч. вряд ли он куда мигрировал ночью по ДЦ)

Anton
20.02.2018
08:09:44
спасибо, кажется я понял куда дальше ковыряться
чет старый порт 4194 не доступен на ноде больше благодаря --cadvisor-port=0 в kubelet =)
я правильно понял что нужно в /metrics/cadvisor смотреть?
https://github.com/kubernetes/kubernetes/issues/53615#issuecomment-335414837

Andor
20.02.2018
08:10:14
Надо порт указать, 0 выключает его
У меня на 1.9 заработало

Anton
20.02.2018
08:12:01
а без экпозинга этого порта?

Andor
20.02.2018
08:12:12
Оно на локалхосте слушает

Sergey
20.02.2018
08:24:36

Anton
20.02.2018
08:30:18

Andor
20.02.2018
08:30:40
Хм, прикольно
Ну у меня так и работает, но был уверен, что у меня кубелеты слушают отдельно

Let Eat
20.02.2018
08:42:56

Dmitry
20.02.2018
08:45:10
Да, я уже увидел что оно, придется ребутнуться на старое ядро.

Let Eat
20.02.2018
08:48:27

Anton
20.02.2018
08:49:43

Andor
20.02.2018
08:51:34
хм
я с портом указал

Google

Роман
20.02.2018
08:54:36
Что-то не понятно, как работает restartPolicy у CronJob. Создал я крон-задание, поставил restartPolicy: Never. А под пересоздаётся каждый раз (так как падает из-за ошибки). Я думал, что он не будет перешедюливать, если стоит Never. Мне надо, чтобы, если упал с ошибкой, под не пересоздавался. Что я делаю не так?

Navern
20.02.2018
08:56:19

Роман
20.02.2018
08:57:09

Navern
20.02.2018
08:58:12

Dmitry
20.02.2018
09:16:06
tl;dr - .spec.backoffLimit

Let Eat
20.02.2018
09:20:36

Игорь
20.02.2018
09:31:17
@tetramin
Job в любом случае будет пытаться завершиться, но можно указать лимит сколько раз он может попытаться
spec:
backoffLimit: 5
activeDeadlineSeconds: 100

Роман
20.02.2018
09:32:34
Спасибо. Буду пробовать.

Andor
20.02.2018
09:35:23
$ help :
:: :
No effect; the command does nothing. A zero exit code is returned.
$ help true
true: true
Return a successful result.
описание разное, но суть та же

Navern
20.02.2018
09:36:41
blasdsa
zsh: command not found: blasdsa
echo $?
127
blasdsa || true
zsh: command not found: blasdsa
blasdsa || :
zsh: command not found: blasdsa
echo $?
0
ну да, норм=)

Anton
20.02.2018
09:37:54
вопрос есть один, по service discovery в prometheus.
создаю сервайс:
kind: Service
apiVersion: v1
metadata:
labels:
app: prometheus
exporter: rabbitmq-exporter
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "9090"
name: mq-metrics
namespace: monitoring
spec:
type: ExternalName
externalName: some-fqdn-of-host
ожидаю что пром его найдет и начнет скрапить, но фиг там.
как правильно добавить сервис для скрэпинга экспортеров вне кластера?

Andor
20.02.2018
09:38:21
а у прометея что указано?
у него таргеты появились?

Anton
20.02.2018
09:38:40
тоесть пром не добавляет таргет. по mq-metrics:9090 из контейнера с промом коннект есть

Andor
20.02.2018
09:39:01
а в конфиге у прометея что вписано?

Google


Anton
20.02.2018
09:40:21
я ожидаю что его правило подхватит
- job_name: kubernetes-service-endpoints
scrape_interval: 1m
scrape_timeout: 10s
metrics_path: /metrics
scheme: http
kubernetes_sd_configs:
- api_server: null
role: endpoints
namespaces:
names: []
relabel_configs:
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scrape]
separator: ;
regex: "true"
replacement: $1
action: keep
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_scheme]
separator: ;
regex: (https?)
target_label: __scheme__
replacement: $1
action: replace
- source_labels: [__meta_kubernetes_service_annotation_prometheus_io_path]
separator: ;
regex: (.+)
target_label: __metrics_path__
replacement: $1
action: replace
- source_labels: [__address__, __meta_kubernetes_service_annotation_prometheus_io_port]
separator: ;
regex: (.+)(?::\d+);(\d+)
target_label: __address__
replacement: $1:$2
action: replace
- separator: ;
regex: __meta_kubernetes_service_label_(.+)
replacement: $1
action: labelmap
- source_labels: [__meta_kubernetes_namespace]
separator: ;
regex: (.*)
target_label: kubernetes_namespace
replacement: $1
action: replace
- source_labels: [__meta_kubernetes_service_name]
separator: ;
regex: (.*)
target_label: kubernetes_name
replacement: $1
action: replace
соседние сервисы с ClusterIP подхватываются, но не ExternalName


Andor
20.02.2018
09:41:48
вроде всё верно
лучше наверное в церкви метрик спроси про это

Anton
20.02.2018
09:42:12
ок, спос =)

Andor
20.02.2018
09:42:37
мне прост лень щас вдумываться, сорри :)

Anton
20.02.2018
09:43:31
https://github.com/coreos/prometheus-operator/issues/218

Alexander
20.02.2018
09:44:43
Всем привет!
при запуске приложения используется GPU
docker run -it —privileged —cap-add=ALL —device=/dev/dri/renderD128
как это можно описать для kubernetes ?

Anton
20.02.2018
09:46:37
device надеюсь найдешь сам =)

Alexander
20.02.2018
09:50:30
Спасибо!

Andrey
20.02.2018
10:00:35
FailedToStartNodeHealthcheck kube-proxy, minikube Failed to start node healthz on 0: listen tcp: address 0: missing port in address
куда копать? minikube + kvm2

Alexey B
20.02.2018
10:02:54
Народ, делаю
-n my-namespace patch deploy/kar -p '{"spec":{"containers":[{"name":"kar","image":"dkr.ecr.eu-west-1.amazonaws.com/kar:0.0.5"}]}}'
и получаю
deployment "kar" not patched
Что я делаю не так?
Нужно обновить image для деплоймента

Maksim
20.02.2018
10:08:31
ну самое простое это использовать set а не patch

Alexey
20.02.2018
10:20:49
Нужно обновить image для деплоймента
kubectl patch statefulset core -p '{\"spec\":{\"template\":{\"spec\":{\"containers\":[{\"name\":\"core\",\"image\":\"Myimage:"$TAG"\"}]}}}}'
я вот так патчу
для деплоя есть kubectl set image deployment

Google

Alexey
20.02.2018
10:21:16
стэйтфул сет не умеет сет имэдж делать
в твоём случает патч не работает из-за того, что спек, а потом темплейт вроде должен идти

Alexey B
20.02.2018
10:24:40
да, всем спасибо
set image deployment/kar kar=dkr.ecr.eu-west-1.amazonaws.com/kar:0.0.5
зашло отлично

Alexander
20.02.2018
11:29:14
device надеюсь найдешь сам =)
я переоцинил себя и как прокинуть device не нашел :(
Пробую прокинуть через volumes
volumes:
- name: render-d128
hostPath:
path: /dev/dri
не уверен что двигаюсь правильно

sherzod
20.02.2018
13:22:12
Подскажите, есть ли спецчат для gcloud?

Sergey
20.02.2018
13:22:43
https://t.me/gcp_ru

sherzod
20.02.2018
13:24:15
Спасибо!) Что-то там мало пока народу, продублирую еще здесь)
Подскажите можно ли дать машинке compute engine доступ к GCR, чтобы docker на машинке без запросов аутентификации мог качать образы?

Alexander
20.02.2018
13:24:41

Andor
20.02.2018
13:24:56

sherzod
20.02.2018
13:25:32
ну вот как это автоматизировать, есть в gcloud такая возможность?
искал scope но что-то такого scope не нашёл

P.
20.02.2018
13:27:50
За это отвечает скоуп который предоставляет доступ к GCS на чтения

Khramov
20.02.2018
14:53:37
А никто не сталкивался с тем, что куб src ip заменяет на ip ноды? Как это лечить?
Я видел варианты , если сервис nodeport или loadbalancer, а можно ли это как-то сделать при externalip?

Let Eat
20.02.2018
14:58:06

Khramov
20.02.2018
14:58:42

Let Eat
20.02.2018
15:17:43

Maksim
20.02.2018
15:22:50

Khramov
20.02.2018
15:34:46

Andor
20.02.2018
15:38:48

Andrey
20.02.2018
16:03:17