@kubernetes_ru

Страница 35 из 958
Maxim
30.08.2016
17:52:10
;)

Denis
30.08.2016
17:54:38
в дефолт-неймспейсе
Максим, всё отлично в итоге вышло, мы запустили всё в обновленной версии, теперь работает красиво и даже dashboard новый с одной команды поставился. Хоть этот апдейт был с проблемами и далось большой ценой, оно того стоило. Хочу поблагодарить тебя, что был рядом этим выходные и помогал шаг за шагом с этим справиться. Чтобы хоть как-то компенсировать то, что я забрал тебя у семьи на все выходные и компенсировать это, хочу вам с супругой подарить билеты в Большой Театр, вы как, нормально к театру относитесь?

Maxim
30.08.2016
17:55:15
мы к театру вообще отлично

жаль только, не в москве живем ;)

Google
Denis
30.08.2016
17:55:54
ээ

Питер? :)

Maxim
30.08.2016
17:56:22
да

Denis
30.08.2016
17:56:50
Можешь мне помочь подобрать тогда театр и спектакль? Для меня это важно :)

Maxim
30.08.2016
17:58:03
как-то неожиданно ты с этим

не хочется, чтобы люди подумали, что я за ништяки помогаю

:)

в любом случае, спасибо за предложение

Denis
30.08.2016
17:59:27
Так, понял, гоу в личку)

Понятно, что ты это делал от сердца и это было мега очевидно)

и это ещё ценней в наше время

Maxim
30.08.2016
19:22:03
так

а между тем я подебил ABAC

Google
Maxim
30.08.2016
19:22:26
и авторизацию по токенам

теперь вместо users: - name: ololo user: key: <long-unreadable-x509-key-here> cert: <long-unreadable-x509-cert-here>

можно написать: users: - name: ololo user: token: short-and-pretty-token

это про токены

а вот ABAC: # cat /etc/kubernetes/authorization-policy.jsonl {"apiVersion": "abac.authorization.kubernetes.io/v1beta1", "kind": "Policy", "spec": {"user": "*", "nonResourcePath": "*", "readonly": true}} {"apiVersion": "abac.authorization.kubernetes.io/v1beta1", "kind": "Policy", "spec": {"user": "admin","namespace": "*", "resource": "*", "apiGroup": "*"}} {"apiVersion": "abac.authorization.kubernetes.io/v1beta1", "kind": "Policy", "spec": {"user": "scheduler","namespace": "*", "resource": "*", "apiGroup": "*"}} {"apiVersion": "abac.authorization.kubernetes.io/v1beta1", "kind": "Policy", "spec": {"user": "kubelet", "namespace": "*", "resource": "*", "apiGroup": "*"}} {"apiVersion": "abac.authorization.kubernetes.io/v1beta1", "kind": "Policy", "spec": {"group": "system:serviceaccounts", "namespace": "*", "resource": "*", "apiGroup": "*", "nonResourcePath": "*"}} ...

чортов телеграм :(

https://dl.dropboxusercontent.com/s/pxvd9acirf0iaen/1._rootweb02-amplifr-ru__ssh_2016-08-30_22-26-59.png?dl=0

вот так это выглядит

Alexander
31.08.2016
09:18:26
Ребята, всем доброго времени суток. Сижу ломаю голову - у меня есть DaemonSet или RC. Как мне прокинуть node_ip внутрь контейнера? Прям очень-очень надо))) У меня агенты запускаются на каждой ноде и мне бы получать про эту ноду инфу... Сейчас полезу смотреть как это делает Prometheus

Fike
31.08.2016
09:19:56
env + valueFrom?

Maxim
31.08.2016
09:20:16
и что ты в этот valueFrom запишешь?

Fike
31.08.2016
09:21:41
окей, расширим для понятности: env + valueFrom не сработает?

Maxim
31.08.2016
09:22:08
ну а как ты его заполнишь?

valueFrom what?

Fike
31.08.2016
09:22:22
да я уже понял ответ на вопрос

спасибо

Тимур
31.08.2016
09:22:38
вешать докер на опеределенный ip и в контейнере просто указывать этот ip(который слушает докер)

везде будет один и тот же :)

если я конечно правильно понял вопрос

Maxim
31.08.2016
09:23:28
неа

Google
Maxim
31.08.2016
09:24:14
DaemonSet запускается на всех нодах [где совпадает nodeSelector]

Alexander хочет в подах этого демонсета получать IP той ноды, где запущен этот под

Тимур
31.08.2016
09:27:02
ну ip же нужен, чтобы обратиться к какому-то сервису. надо просто чтобы этот сервис на "хостноде" слушал все ip, в том числе и ip докера

Maxim
31.08.2016
09:27:43
то есть все поды запускать с hostNetwork: true

Тимур
31.08.2016
09:28:03
не

необязательно

Maxim
31.08.2016
09:28:21
и потом бегать с ручной настройкой iptables, чтобы они снаружи были недоступны

Тимур
31.08.2016
09:28:29
ip докера везде один и тот же

Maxim
31.08.2016
09:28:36
и еще с kube-proxy не пересечься при этом

Тимур
31.08.2016
09:28:53
мы так решали проблему доступа из коксового контейнера к постфиксу который на хостноде

коксовый контейнер не могли запустить с хостнетворк

Maxim
31.08.2016
09:30:29
ip докера везде один и тот же
и? ему же вроде надо получить айпи ноды для какой-то там обработки в поде

Тимур
31.08.2016
09:31:05
это да :)

я уже решил что тебе ip ноды на самом деле не надо ))

Alexander
31.08.2016
16:10:26
Друзья, простите был загружен весь день - только освободился. Итак. У меня есть DS, как я описал выше, в нем агент по сбору информации, не важно какой... допустим количество запущенных контейнеров (через проброшенный сокет могу это узнать). Докер - он не на IP, а на сокете висит, никакого IP у него нету. Итак, есть Nodes с уникальными именами DS запускается на каждой ноде и в итоге имеем N-подов с уникальными также именами. Мне нужно чтобы агент знал либо в каком Поде он находится (имя пода, например) а еще лучше - на какой ноде это происходит. Мы же по описанию пода можем получить имя ноды. Где-то видел как можно прокидывать метаинформацию внутрь прямо через *.yml файлы

Я вроде понял как Prometheus работает - он имеет доступ к kubernetes-api

в каждом поде есть hostname - как раз название пода

и по этим данным я могу все узнать через kuber-api

- job_name: 'kubernetes-node-exporter' tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt insecure_skip_verify: true bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token kubernetes_sd_configs: - api_servers: - 'https://kubernetes' in_cluster: true role: node

Google
Maxim
31.08.2016
16:14:09
> Где-то видел как можно прокидывать метаинформацию внутрь прямо через *.yml файлы можно через секреты: http://kubernetes.io/docs/user-guide/secrets/#using-secrets-as-environment-variables можно через конфигмапы: http://kubernetes.io/docs/user-guide/configmap/#consuming-configmap-in-pods но тебе не подходит ни то ни другое, судя по описанию задачи

Alexander
31.08.2016
16:14:10
вот так можно достучаться из пода до API сертификаты инджектятся в каждый контейнер (вроде)

Maxim
31.08.2016
16:15:12
> сертификаты инджектятся в каждый контейнер только публичная часть CA

c другой стороны, имея публичную часть CA и bearer token можно попробовать постучать в апи

Admin
ERROR: S client not available

Maxim
31.08.2016
16:16:16
зависит от того, чего разрешено этой сервисной группе

если политика авторизации отлична от AllowAll

http://blog.kubernetes.io/2016/08/security-best-practices-kubernetes-deployment.html

https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/kubernetes-announce/XXq5p19HU_w/25yQMwMoCQAJ

Viacheslav
02.09.2016
08:02:01
как деплоить новую версию контейнера без даунтайма на кубернетесе, на есть рецепты?

Maxim
02.09.2016
08:03:26
Так оно само

Деплоймент обновляешь, он сначала новый под запускает, потом старый убивает

Viacheslav
02.09.2016
08:20:54
кул

и как, без проблем работает?

Maxim
02.09.2016
08:27:34
вот пример: apiVersion: extensions/v1beta1 kind: Deployment ... spec: minReadySeconds: 10 replicas: 2 strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 0 type: RollingUpdate template: ...

type: RollingUpdate говорит кубернетесу, что сначала надо запускать, а потом убивать

параметр spec.strategy.rollingUpdate.maxUnavailable: 0 указывает, что сначала нужно запустить хотя бы один новый, чтобы можно было начать убивать старые

что спасает нас от убийства старых подов в случае фальстарта новых

Тимур
02.09.2016
08:32:58
вот Максим добрый

Maxim
02.09.2016
08:33:27
?

Google
Тимур
02.09.2016
08:34:27
ну я б на такой вопрос к доке для начала отправил :) если видно, что попробовал и что-то не получается, тогда конечно помогаю

Maxim
02.09.2016
08:34:57
да ты тут хоть кого-то видел, кто пробовал читать?

ну, из тех, кто вопросы задает

Тимур
02.09.2016
08:35:17
)))

Maxim
02.09.2016
08:40:28
вообще кстати, эти maxSurge и maxUnavailable с первого раза немного поставили меня в тупик

http://kubernetes.io/docs/user-guide/deployments/#max-unavailable

то есть вот нельзя и то и другое по нулям поставить

нужно всегда думать за баланс :D

Viacheslav
02.09.2016
08:49:37
спасибо! плюс в карму

M
02.09.2016
11:08:01
Помоему если настройки по умолчанию, то две реплики мало для без даунтайма

Сделай три

Либо крути maxsurge

Maxim
02.09.2016
11:19:59
нене, даже с одной работает

у меня есть тут всякие тестовые деплойменты, которым не надо реплик

Страница 35 из 958