
Alexey
23.08.2018
08:49:24

Artem
23.08.2018
08:50:01
похоже на то
https://github.com/coreos/dex

Alexey
23.08.2018
08:51:28

Google

Igor
23.08.2018
08:52:20

Alexander
23.08.2018
09:05:01

Alex
23.08.2018
09:08:24
Привет!
Подскажите,в чем может быть проблема:
kubectl get nodes
возвращает все ноды кластера (5 штук, все Ready),
kubectl top node
- все, кроме одной (4 штуки).
При этом поды на отсутствующей в выводе ноде работают корректно, kubelet на ней перезапускал, ошибок подключения к этой ноде в логе heapster'a нет.
При попытке получить данные по отсутствующей в списке ноде командой kubectl top node %NODENAME% возвращается ошибка Error from server (NotFound): the server could not find the requested resource (get services http:heapster:)

Vadim
23.08.2018
09:11:13

Andrey
23.08.2018
10:12:34
Ребят, есть вопрос:
Обновлял кластер до v1.11.2 с v1.10.3 через kubespray, на тестовом кластере все прошло хорошо. Сеть calico.
На другом вылезла интересная трабла: локально на нодах api сервера доступны, но при попытке выкатить под, он выкатывается, но после этого до api серверов не достучаться вообще (на любые порты)
Грешу на то, что из репы с общими настройками проскочила опция enable_network_policy: true, которая раньше была в false и фаерволл все это блочит…
P.S. Да, hard way для лучшего понимания еще не юзал, ибо не успел добраться
P.P.S. Попутно переносил один инстанс etcd на другую машину, но с ним все ок, healthy, и endpoint’ы везде актуальные


Anton
23.08.2018
10:43:02
Ребят, есть вопрос:
Обновлял кластер до v1.11.2 с v1.10.3 через kubespray, на тестовом кластере все прошло хорошо. Сеть calico.
На другом вылезла интересная трабла: локально на нодах api сервера доступны, но при попытке выкатить под, он выкатывается, но после этого до api серверов не достучаться вообще (на любые порты)
Грешу на то, что из репы с общими настройками проскочила опция enable_network_policy: true, которая раньше была в false и фаерволл все это блочит…
P.S. Да, hard way для лучшего понимания еще не юзал, ибо не успел добраться
P.P.S. Попутно переносил один инстанс etcd на другую машину, но с ним все ок, healthy, и endpoint’ы везде актуальные
Нормально перезжал через kebespray с 10.2 на 10.3 - не меняя конфиги (обновив только версию), буквально вчера, правда обновлял мастер ноды по одной (-l)

Andrey
23.08.2018
10:43:38
Да я тоже переезжал, а тут не переехал) Вот прошу помощи с дебагом

Anton
23.08.2018
10:44:21
локалььно тоже не достучатся?
с той же мастер ноды на родной api server?

Andrey
23.08.2018
10:57:06
С мастернод локально все работает. Работает и на других, пока не пытаешься запустить там любой pod

Andrey
23.08.2018
11:00:46

Igor
23.08.2018
11:08:18

Alex
23.08.2018
11:11:35

Google

Igor
23.08.2018
11:15:46

Alex
23.08.2018
11:16:14

Igor
23.08.2018
11:20:59
1.11 все ноды
я бы смотрел почему https запрос к API серверу
https://10.90.8.15:6443/api/v1/namespaces/kube-system/services/http:heapster:/proxy/apis/metrics/v1alpha1/nodes/srv-kub02
возвращает 404
с других нод этот запрос отдает 200?


Banschikov
23.08.2018
11:56:59
Подскажите в чем может быть проблема?
Error in scraping containers from kubelet:10.10.77.212:10250: failed to get all container stats from Kubelet URL "http://10.10.77.212:10250/stats/container/": Post http://10.10.77.212:10250/stats/container/: malformed HTTP response "\x15\x03\x01\x00\x02\x02\x16"
Heapster вот такое в логах пишет

Let Eat
23.08.2018
11:58:00
HTTPS может хочет?

bebebe
23.08.2018
11:58:13
https скорее всего

Banschikov
23.08.2018
11:58:46
ага понял. Я как понимаю там придется сертификаты указывать?

Alex
23.08.2018
12:00:55

Igor
23.08.2018
12:36:01
/report

AE
23.08.2018
12:38:49
/report

Yuriy
23.08.2018
12:39:00
/report

JohnBizokk
23.08.2018
12:39:44
/report

Vahe
23.08.2018
12:39:57
/report

Andrey
23.08.2018
13:11:41
Ребят, есть вопрос:
Обновлял кластер до v1.11.2 с v1.10.3 через kubespray, на тестовом кластере все прошло хорошо. Сеть calico.
На другом вылезла интересная трабла: локально на нодах api сервера доступны, но при попытке выкатить под, он выкатывается, но после этого до api серверов не достучаться вообще (на любые порты)
Грешу на то, что из репы с общими настройками проскочила опция enable_network_policy: true, которая раньше была в false и фаерволл все это блочит…
P.S. Да, hard way для лучшего понимания еще не юзал, ибо не успел добраться
P.P.S. Попутно переносил один инстанс etcd на другую машину, но с ним все ок, healthy, и endpoint’ы везде актуальные
В общем, починил основной функционал, но остался баг с externalip: буду уже завтра логи смотреть, при выкатке сервиса с external ip ноды, нода валится с вышеописанными симптомами. С NodePort все ок

kvaps
23.08.2018
13:13:33
началось, гитхаб стал квадратным []__[]

Sergey
23.08.2018
13:18:21
это бета раньше была, сейчас зато используется больше места, раньше были пустые куски

Google

kvaps
23.08.2018
13:19:06
мне ток сейчас предложили

Evgenii
23.08.2018
13:53:01
Привет. Кто-то сталкивался с таким: https://github.com/kubernetes/kubernetes/issues/62061 (rbd том не детачится от умершей ноды и мигрирующие поды зависают на создании)? Как лечили/обходили, подскажите. Воспроизводится на k8s 1.9.5

No1
23.08.2018
13:53:36
вот это боль ?

kvaps
23.08.2018
14:15:14

Evgenii
23.08.2018
14:15:43
Тут виртуалки vmware, без общения с vCloud Director-ом

kvaps
23.08.2018
14:19:23
ну тогда пилить свой велосипед

Evgenii
23.08.2018
14:20:01
Ну в тикете пишут что всё должно раздупливаться через 6 минут, поэтому хочется починить то что должно работать

kvaps
23.08.2018
14:20:45
это в каком?

Evgenii
23.08.2018
14:21:48
https://github.com/kubernetes/kubernetes/issues/62061#issuecomment-379693181

kvaps
23.08.2018
14:22:48
да, сорри чтот пропустил

Artem
23.08.2018
14:29:48

kvaps
23.08.2018
14:30:27
ну не знаю, судя по логике он не может и не будет его детачить, потому что он не знает умерла ли нода наверняка

Evgenii
23.08.2018
14:30:46
А какие тогда провайдеры тру? Только AWS/GCE?
Понятно что не всегда можно надёжно сказать, в каком состоянии нода

Artem
23.08.2018
14:31:35
Из self hosted - openstack

kvaps
23.08.2018
14:31:52
на самом деле я сейчас fencing агент для куба пилю, он будет решать эту проблему, без клауд провайдера

Artem
23.08.2018
14:32:53
Должен быть механизм, реализующий https://en.wikipedia.org/wiki/STONITH

Google

Artem
23.08.2018
14:33:32
для проксмокса, например, можно гарантированно пристретить сервак через ipmi

kvaps
23.08.2018
14:33:37
да, вот его и нет

Artem
23.08.2018
14:34:44
софт дог это самоубийство, а тут - гарантия, что оно действительно выключено

kvaps
23.08.2018
14:36:19
ну STONITH это скорее механизм для двух нод
если есть кворум - то это не проблема
watchdog тоже хардверный бывает
@SinTeZoiD посмотришь письки?

Sergey
23.08.2018
14:37:51

Михаил
23.08.2018
14:37:53

Alexey
23.08.2018
14:43:22
Никак не могу нагуглить инструмент для отслеживания Request-Id по микросервисам. От твиттера был и кажется от fb. Кто-то помнит названия? Где просадки, сколько времени провели в сервисе и тп

twwlf
23.08.2018
14:44:47
zipkin?

Andrey
23.08.2018
14:46:33


Алексей
23.08.2018
14:58:49
Коллеги приветствую. Подскажите по шаблону HELM пожалуйста.
Сделал такой вот сложный range c вложенными range соответственно. Но проблема с переменными.
{{- range $key, $val := .Values.deployment }}
{{- $ServiceName := $key }}
{{- if eq $key "worker" }}
{{- $ServiceNameEnv := "sentry" }}
{{- else }}
{{- $ServiceNameEnv := $key }}
{{- end }}
# первый вложенный range
{{- range $key, $val := $item.volumes }}
- name: sentry-postgresql-data
persistentVolumeClaim:
claimName: sentry-postgresql
{{- end }}
# второй вложенный range
{{- range $key, $val:= $env }}
{{/*$ServiceNameEnv*/}}
{{- if eq $key $ServiceName }}
{{- range $key, $val := . }}
- name: {{$key}}
{{- if . }}
value: {{ . }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
{{end}}
Проблема в том, что одна перменная во вложенных range видится, в вторая нет.
Видится $ServiceName
не видится $ServiceNameEnv
Можете подсказать с чем может быть связано?
Вне вложенных range $ServiceNameEnv выводится без ошибок.


Pavel
23.08.2018
15:21:50
{{- range $key, $val := . }}
Пееропределение переменных

Алексей
23.08.2018
15:26:58
Переопределение работает только внутри range

Pavel
23.08.2018
15:27:56
можно полны текст


Алексей
23.08.2018
15:37:01
можно полны текст
{{- $fullName := include "sentry.fullname" . -}}
{{- $ChartName := include "sentry.chart" . -}}
{{- $ReleaseName := .Release.Name -}}
{{- $ReleaseService := .Release.Service -}}
{{- $env := .Values.env -}}
{{- $secret_env := .Values.secret_env -}}
{{- range $key, $val := .Values.deployment }}
{{- $item := . -}}
{{- $servicePort := $item.service.port -}}
{{- $ServiceName := $key }}
{{- if eq $key "worker" }}
{{$key}}
{{- $ServiceNameEnv := "sentry" }}
$ServiceNameEnv == sentry - {{ $ServiceNameEnv }}
{{- else }}
{{$key}} {{$key}} {{$key}}
{{- $ServiceNameEnv := $key }}
$ServiceNameEnv: {{ $ServiceNameEnv }}
{{- end }}
---
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: {{ $fullName }}-{{ $key }}
labels:
app: {{ $fullName }}
chart: {{ $ChartName }}
release: {{ $ReleaseName }}
heritage: {{ $ReleaseService }}
service: {{ $ServiceName }}
spec:
replicas:
template:
metadata:
labels:
app: {{ $fullName }}
chart: {{ $ChartName }}
release: {{ $ReleaseName }}
heritage: {{ $ReleaseService }}
service: {{ $ServiceName }}
spec:
volumes:
{{- range $k1, $v1 := $item.volumes }}
{{/*$ServiceNameEnv*/}}
- name: sentry-postgresql-data
persistentVolumeClaim:
claimName: sentry-postgresql
{{- end }}
containers:
- name: sentry-postgresql
image: {{.image.repository}}
ports:
- name: {{$ServiceName}}
containerPort: {{.service.port}}
env:
- name: POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
{{- range $k2, $v2:= $env }}
{{/* $ServiceNameEnv */}}
{{- if eq $k2 $ServiceName }}
{{- range $k2, $val := . }}
- name: {{$k2}}
{{- if . }}
value: {{ . }}
{{- end }}
{{- end }}
{{- end }}
{{- end }}
# From Secret
{{- range $k3, $v3 := $secret_env }}
{{- $secretName := $k3 }}
{{- if eq $k3 $ServiceName }}
{{- range . }}
- name: {{ . }}
valueFrom:
secretKeyRef:
name: {{ $secretName }}
key: {{ . }}
{{- end }}
{{- end }}
{{- end }}
volumeMounts:
{{- if .volumeMounts }}
{{- range $key, $val := .volumeMounts }}
- name: {{$key}}
mountPath: {{.path}}
{{- if .subPath }}
subPath: {{ .subPath }}
{{- end }}
{{- end }}
{{ end }}
{{- end }}
Вот внутри range $k1 $k2 $k3 $ServiceNameEnv недоступна, а $ServiceName видна

Google

Артем
23.08.2018
15:40:24
/report

Pavel
23.08.2018
15:50:08
{{- if eq $key "worker" }}
{{$key}}
{{- $ServiceNameEnv := "sentry" }}
$ServiceNameEnv == sentry - {{ $ServiceNameEnv }}
{{- else }}
{{$key}} {{$key}} {{$key}}
{{- $ServiceNameEnv := $key }}
$ServiceNameEnv: {{ $ServiceNameEnv }}
{{- end }}
У Вас в записи if два формата,
Вы либо назначайте значение либо это шаблонное значение

Алексей
23.08.2018
16:01:53

Pavel
23.08.2018
16:04:33
этот блок весь можно выкинуть?
{{- if eq $key "worker" }}
{{- $ServiceNameEnv := "sentry" }}
{{- else }}
{{- $ServiceNameEnv := $key }}
{{- end }}
или так оставить

Alexey
23.08.2018
16:05:24
@twwlf @shursh Спасибо ?

Pavel
23.08.2018
16:08:14

Andrey
23.08.2018
16:13:22

Алексей
23.08.2018
16:15:50

Pavel
23.08.2018
16:16:00
В теории вы внутри блока определил новую переменную и область видимости у нее внутри этого блока.