
Kvendingoldo
03.10.2017
10:04:02
Господа, а можно в манифест кубернетеса как-то вкрутить переменную?
У меня в этом манифесте запускается контейнер
я хочу версию передавать

Роман
03.10.2017
10:05:08

Google

Kvendingoldo
03.10.2017
10:05:22
kubectl

Роман
03.10.2017
10:07:09
Он не умеет переменные (окружения, по крайней мере). Только если ты будешь подставлять поля по типу:
valueFrom:
fieldRef:
fieldPath: status.hostIP

Ivan
03.10.2017
10:11:08
Да. На самом деле это IPIP Tunnel. У меня calico.
я калико не использую.
вообще сейчас обнаружил, что сетка service_network (10.3.х.х) фигурирует в конфигах только в одном месте - только на мастер-ноде в ключах апи-сервера
т.е. другие ноды про этот айпишник ничего не знают (кроме как через апи)
и ещё - на всех нодах все айпишники разные и только у интрефейса docker0 на всех нодай айпишник 172.17.0.1
по-моему это дичь)))
в общем мне судя по всему надо как то вывести на интерфейсы физических нод сетку сервисов (10.3)

Maksim
03.10.2017
10:20:30
ip и должны по хорошему быть разные. Здесь работает правила L3 маршрутизации

Роман
03.10.2017
10:41:36

Maksim
03.10.2017
10:54:07
в том случае если не меняешь окружения докера

Dorian
03.10.2017
14:18:21
Парни, сколько хостов в infra зоне должно быть в OS 3.6 ?
Почему мне кажется из документации что 3 ?
С одним даже router не ставится, заявляя что ему нужно 3 пода

Роман
03.10.2017
14:25:16
А как по крону задания выполнять? Читал, что есть CronJob, но там нужно включать v2alpha1. Что-то не хочется...

Maksim
03.10.2017
14:26:18
работает через CronJob

Google

Maksim
03.10.2017
14:26:31
Другой способ написать самому скриптик и засылать job

Denis
03.10.2017
14:58:33
Всем привет. Кто на AWS разворачивал? Какие спеки для машин использовали?

Mikhail чердак
03.10.2017
15:01:10
Юзал kops, он сам подбирал.

Denis
03.10.2017
15:02:04
Ха ?
Привет Нетрису)
> For the master, for clusters of less than 5 nodes it will use an m3.medium, for 6-10 nodes it will use an m3.large; for 11-100 nodes it will use an m3.xlarge.
> For worker nodes, for clusters less than 50 nodes it will use a t2.micro, for clusters between 50 and 150 nodes it will use a t2.small and for clusters with greater than 150 nodes it will use a t2.medium.
Source: https://kubernetes.io/docs/getting-started-guides/aws/

Mikhail чердак
03.10.2017
15:02:26

vladget
03.10.2017
15:21:13
привет.. kubectl понимает анкоры yaml?
у меня без —validate=false не понимает

Denis
03.10.2017
15:28:46

Maksim
03.10.2017
15:39:12

vladget
03.10.2017
15:40:02

Maksim
03.10.2017
15:40:14
да

vladget
03.10.2017
15:43:06
да
ну вот я описываю
anchor: &anchor "что-то там"
потом:
name: *anchor
ругается
unknown field "anchor" in io.k8s.kubernetes.pkg.apis.extensions.v1beta1.Ingress;

Maksim
03.10.2017
15:43:33
стоп а что ещё за anchor в кубере?

vladget
03.10.2017
15:43:46
yaml

Maksim
03.10.2017
15:43:58
при чём тут yaml и поле ancord
yaml это язык манифестов

vladget
03.10.2017
15:44:37
конфиги куба на ямле

Google

vladget
03.10.2017
15:44:41
ок?

Maksim
03.10.2017
15:45:53
ну да, только при чём тут anchor

vladget
03.10.2017
15:46:12
якорь
хотите я назову его ass? %)
https://en.wikipedia.org/wiki/YAML#Advanced_components
там еще есть references %)


Maksim
03.10.2017
15:47:36
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: kubernetes-dashboard
namespace: kube-system
labels:
k8s-app: kubernetes-dashboard
kubernetes.io/cluster-service: "true"
addonmanager.kubernetes.io/mode: Reconcile
spec:
selector:
matchLabels:
k8s-app: kubernetes-dashboard
template:
metadata:
labels:
k8s-app: kubernetes-dashboard
annotations:
scheduler.alpha.kubernetes.io/critical-pod: ''
spec:
containers:
- name: kubernetes-dashboard
image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.6.3
resources:
# keep request = limit to keep this container in guaranteed class
limits:
cpu: 100m
memory: 300Mi
requests:
cpu: 100m
memory: 100Mi
ports:
- containerPort: 9090
livenessProbe:
httpGet:
path: /
port: 9090
initialDelaySeconds: 30
timeoutSeconds: 30
tolerations:
- key: "CriticalAddonsOnly"
operator: "Exists"
Это yaml который кушает кубер

vladget
03.10.2017
15:48:26
так тут нет якорей

Maksim
03.10.2017
15:49:15
сорки, моя не понимать что такое анкор...
скорее всего оно вообще не понимает расширения yaml

Fike
03.10.2017
17:17:39
т.е. видимо сам якорь-то резолвится, но anchor остается в структуре и из-за этого не десериализуется, потому что десериализатор выбрасывает ошибку при встрече незнакомого поля (а не просто игнорирует его)

Artemiy
03.10.2017
19:10:59
ребят, может кто поделится ссылкой на issues, по поводу баги, из-за которой initContainers при kubectl apply не обновляются ?
починили это в 1.8 ?

Let Eat
03.10.2017
20:01:06
аннотации? или нативные инит контейнеры
кажется только аннотация не работала
(ну и при любом раскладе, обновления init container не вызывает пересоздания подов в deployment)

Vitaliy
03.10.2017
20:51:22
кстати, вопрос в воздух... разумно ли ожидать что при проблемах с kubectl apply обновление бинарника kubectl решит проблему или там все глубоко переплетено?

Google

Fike
03.10.2017
20:51:42
зависит от проблем
но kubectl делает минимальную работу по доставке yaml до самого кубера, так что маловероятно

Vitaliy
03.10.2017
20:52:20
ясно, я так и ожидал. спасибо

Anton
04.10.2017
07:24:55
по мониторингу вопрос, развернул prometheus, тот обнаружил таргеты с метриками: kubernetes-apiservers, kubernetes-nodes, kubernetes-service-endpoints.
попробовал несколько дашбордов в grafana для k8s, всем на cAdvisor опираются.
Кто подскажет для этих изкоробки k8s метрик (apiserver/nodes) дашборд?

Роман
04.10.2017
07:27:27

Anton
04.10.2017
07:27:50
не, cAdvisor я разберусь как поставить =)

Роман
04.10.2017
07:28:37
А что там за метрики?

Anton
04.10.2017
07:30:29
у apiserver /metrics
у каждой ноды: https://kubernetes.default.svc:443/api/v1/nodes/<nodename>/proxy/metrics
такая информация по нодам есть например
# HELP kubelet_docker_operations Cumulative number of Docker operations by operation type.
# TYPE kubelet_docker_operations counter
kubelet_docker_operations{operation_type="create_container"} 14
kubelet_docker_operations{operation_type="info"} 1
kubelet_docker_operations{operation_type="inspect_container"} 65
kubelet_docker_operations{operation_type="inspect_image"} 33
kubelet_docker_operations{operation_type="list_containers"} 555904
kubelet_docker_operations{operation_type="list_images"} 20622
kubelet_docker_operations{operation_type="remove_container"} 4
kubelet_docker_operations{operation_type="start_container"} 14
kubelet_docker_operations{operation_type="stop_container"} 11
kubelet_docker_operations{operation_type="version"} 67883

Роман
04.10.2017
07:37:42
Попробуй дашборды с id: 2, 162, 704, 22, 747, 737

Anton
04.10.2017
07:38:40
ок =) спасибо
я чет про cadvisor не пойму, его функциональность встроена в к8с?

Роман
04.10.2017
09:01:48
В кубере вся документация ниже 1.8 теперь считается устаревшей. Но на 1.8 страшно пока переходить...

Maksim
04.10.2017
09:02:15
оо

Anton
04.10.2017
09:03:21
да, разобрался уже куда спрятали:
# This is required for Kubernetes 1.7.3 and later, where cAdvisor metrics
# (those whose names begin with 'container_') have been removed from the
# Kubelet metrics endpoint. This job scrapes the cAdvisor endpoint to
# retrieve those metrics.
#
# In Kubernetes 1.7.0-1.7.2, these metrics are only exposed on the cAdvisor
# HTTP endpoint; use "replacement: /api/v1/nodes/${1}:4194/proxy/metrics"
# in that case (and ensure cAdvisor's HTTP server hasn't been disabled with
# the --cadvisor-port=0 Kubelet flag).

Maksim
04.10.2017
09:04:15

Google

Lev
04.10.2017
09:05:54
давно

Роман
04.10.2017
09:06:10
Да. 5 дней назад.

Maksim
04.10.2017
09:06:32
давно
5 дней...как давно то....

Paul
04.10.2017
09:06:40
для кубера это, считай, эпоха
вечность

Роман
04.10.2017
09:11:35
Что-то надоело мне, что glusterfs постоянно эндпоинт отваливается. В логах - всё нормально. Никаких сообщений. Просто пропадает и всё...
Хочу что-то по типу облака. Чтобы монтировать, как hostPath, но каталоги меж собой синхронизировались автоматом при изменении файлов. Кто-нибудь делал что-то подобное? Файлов не много - буквально 200 метров. Нужна высокая доступность. И сравнительно быстрая синхронизация при изменении.

Maksim
04.10.2017
09:12:15

Paul
04.10.2017
09:13:02

Роман
04.10.2017
09:13:10
Я не верил)

Paul
04.10.2017
09:13:16

Maksim
04.10.2017
09:13:46
Зато тут тепло и мухи не летают)

Роман
04.10.2017
09:19:17
Так что - всё-таки ceph?
Или cephfs?

Paul
04.10.2017
09:19:56
ceph, без fs
обязательно обдумайте резервное копирование. Я вот не обдумал и теперь мучаюсь

Роман
04.10.2017
09:21:24
Поскольку у меня чуть чуть файлов - бэкапится просто rsync'ом. Или там подводные камни есть?

Maksim
04.10.2017
09:21:24