
kay
20.06.2017
13:45:10
тестовый deployment не создаёт поды
затыкается на replicaset, в котором как раз эта ошибка
есть service-account, который забинден с restricted
verb: use

Google

kay
20.06.2017
13:46:10
деплоймент создается, replicaset создается, pod не создается

Maksim
20.06.2017
13:52:40
1. С чего увереность что с RBAC проблем нет?
2. Сервис аккаунт не связан с несозданием пода....Он создан для работы демонов в поде и их связи с API кубера изнутри кубера
Admission control Это посути набор модулей, которые включают или выключатают те или иные функции


kay
20.06.2017
13:56:04
я хочу включить PodSecurityPolicy
без него кластер отлично работает
с ним уже нет
создал роль:
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: Role
metadata:
creationTimestamp: 2017-06-20T12:22:39Z
name: role
rules:
- apiGroups:
- ""
resources:
- pods
- pods/log
- configmaps
verbs:
- get
- list
- watch
- create
- apiGroups:
- extensions
- apps
resources:
- deployments
verbs:
- get
- list
- watch
- create
- apiGroups:
- extensions
resourceNames:
- restricted
resources:
- podsecuritypolicies
verbs:
- use
создал psp:
apiVersion: extensions/v1beta1
kind: PodSecurityPolicy
metadata:
creationTimestamp: 2017-06-20T10:10:29Z
name: restricted
resourceVersion: "3739436"
selfLink: /apis/extensions/v1beta1/podsecuritypoliciesrestricted
uid: afd70712-55a0-11e7-8248-fa163ecf36c6
spec:
fsGroup:
rule: RunAsAny
runAsUser:
rule: RunAsAny
seLinux:
rule: RunAsAny
supplementalGroups:
rule: RunAsAny
volumes:
- '*'
сделал bind:
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: RoleBinding
metadata:
name: role
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: role
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: Group
name: role
- kind: ServiceAccount
name: role
т.е. должно бы и заработать...
вот тестовый deployment, который затыкается:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: test
spec:
replicas: 1
strategy:
type: RollingUpdate
rollingUpdate:
# Ensure we have at least 1 alive pod during update (don't kill old pod until new pod is up and running)
maxSurge: 0
maxUnavailable: 1
template:
metadata:
labels:
app: test
spec:
serviceAccount: role
containers:
- name: test
image: busybox
command:
- /bin/sleep
- '999999999999'


Maksim
20.06.2017
14:04:08
Ну ошибка у тебя связана с тем, что не кому проверить запрос пода (видимо по секурной части)

Google

Maksim
20.06.2017
14:07:22
и такое впечатление, что нехватает аннотации в деплое
https://github.com/kubernetes/kubernetes/blob/master/examples/podsecuritypolicy/rbac/README.md

kay
20.06.2017
14:30:42
liggitt [6 minutes ago]
you need to use clusterrole and clusterrolebinding
liggitt [6 minutes ago]
1.7 adds the ability to grant within a single namespace
liggitt [6 minutes ago]
with a rolebinding
liggitt [6 minutes ago]
also, "restricted" is not a good name for that PSP... that's a super-powerful policy
короче фишка, которую я использовал появится только в 1.7
и в настоящий момент нужно использовать clusterrole и clusterrolebinding

Maksim
20.06.2017
14:33:01
Ну учитывая что RBAC в namespace заработал только в 1.5
)

kay
20.06.2017
14:34:01
придется пилить clusterrole

Vitaliy
20.06.2017
15:32:37
Привет. У кого как работает аутентификация? CSV файлик совсем больно сейчас.

kay
20.06.2017
15:33:13
rbac
пилишь сертификаты, в них объявляешь группы через O=groupname subject

Vitaliy
20.06.2017
15:33:49
Это авторизация)
API server отзыв сертификатов не поддерживает, только перевыпуск intermediate Ca

kay
20.06.2017
15:34:48
аутентификация работает в rbac по subject сертификата
это да. всё никак не запилю этот гребаный crl
может поможешь? )

Vitaliy
20.06.2017
15:35:31
Мне нужно коллег аутентифицировать, желательно через лдап...

kay
20.06.2017
15:37:34
тогда openshift https://docs.openshift.com/enterprise/3.1/install_config/syncing_groups_with_ldap.html

Vitaliy
20.06.2017
15:37:38
Слаб я в golang:) Щас с горя пытался накатать прокси сервер с лдап аутентификацией, и сломался на вебсокетах
В чате 500+ человек. Я надеюсь есть люди не с openshift и gke)

Google

Let Eat
20.06.2017
16:17:40

Vitaliy
20.06.2017
16:22:35
dex
он из коробки работает? пользователь в веб-интерфейсе dex логинится через лдап и получает токен для kubectl?
я пару месяцев назад пробовал и не осилил. Там нужен был отдельный севрер с example-app и т.д.
ещё хочется обычный http basic, чтобы в дашборд ходить

bebebe
20.06.2017
16:29:03
хм, если ставить каргой k8s, то там это есть из коробки
только не лдап, хотя вроде не так сложно его прикрутить

Vitaliy
20.06.2017
16:36:04
пойду перечитаю dex...

bebebe
20.06.2017
16:36:49
ну как не надо, там из коробки PR висит что бы dashboard: true отрабатывал :)
но в общем случае да
кстати, тут есть люди которую каргу используют?

Roman
20.06.2017
18:15:22
ололо, а много здесь тех, кому сейчас скучно?

Dmitry
20.06.2017
18:22:29

Basil_Snowman
20.06.2017
18:24:07
видимо, у человека кластер не собирается

Dmitry
20.06.2017
18:25:14
Я тут три дня убил на очередные заигрывания с k8s и, честно говоря, не очень понимаю, почему люди его используют на bare metal/в public cloud
Гемороя с "собиранием" же немерено

Let Eat
20.06.2017
18:26:27
в public cloud норм

Dmitry
20.06.2017
18:26:33
Когда какой-нибудь swarm mode заводится с полпинка двумя командами у k8s сплошные приключения: kubeadm в альфе и не для прода, network-плагины полусырые и отданы на аутсорс

Let Eat
20.06.2017
18:27:01
какая беда?

Dmitry
20.06.2017
18:27:28
А наа weave пальцем лучше не показывать, его жор CPU и почти полное отсутствие документации радует

Google

Konstantin
20.06.2017
18:27:46
а причем тут k8s?

Dmitry
20.06.2017
18:28:01
Я сейчас не говорю про GCE/AWS, где есть VPC и все в шоколаде

Let Eat
20.06.2017
18:28:30

Dmitry
20.06.2017
18:28:38

Let Eat
20.06.2017
18:28:44
ну AWS вполне себе public cloud :)

Dmitry
20.06.2017
18:29:05
k8s там - просто рай на земле. Наверное.
А говоря public cloud я имею ввиду что-то вроде DigitalOcean.
Или, в условиях нашей великой страны, что-то еще более бюджетное

Admin
ERROR: S client not available

Roman
20.06.2017
18:31:41

Dmitry
20.06.2017
18:32:51
А вообще я не понимаю, как ж так вышло то, что на голой чистой убунте (с последним/1.12 докером) kubeadm + calico (по официальному мануалу http://docs.projectcalico.org/v2.3/getting-started/kubernetes/installation/hosted/kubeadm/) не взлетают

Roman
20.06.2017
18:33:16
https://blog.sonm.io/join-test-alpha-b4f999105fef
мне интересно что будет если эту сырую пре-альфу чуток глючащего образа для докера дать тем у кого кластеры на кор-осе постоянно под рукой =)

Dmitry
20.06.2017
18:33:22
И соответственно никакого connectivity нет в помине

Konstantin
20.06.2017
18:35:33
DO под k8s лучшне не использовать

Dmitry
20.06.2017
18:37:00

Konstantin
20.06.2017
18:37:59
У нас были проблемы с сетью и артефакты вылазили не понятные. Используем для разворачивания kargo и сейчас переехали на свое железо

Google

Roman
20.06.2017
18:38:23

Dmitry
20.06.2017
18:38:34

Konstantin
20.06.2017
18:39:09
k8s + flannel + ubuntu 16 + kargo

Dmitry
20.06.2017
18:39:09
Лично у меня kargo ни разу нормально не отработал. Ни на конфигурации из трех нод, ни даже на одной

Konstantin
20.06.2017
18:39:54
было пару issue, но они быстро прикрыли
Docker 1.13

Dmitry
20.06.2017
18:40:22
И вообще мне кажется, что kargo творит слишком много магии для продакшена. И как troubleshoot'ить это потом при случае вообще не понятно
А запускать эту штуку на production-кластере под нагрузкой страшно втройне

Konstantin
20.06.2017
18:42:09
Сейчас не скажу, но раньше точно использовали какой-то тэг
Там же ansible все читается

Dmitry
20.06.2017
18:43:06
Читается. Но блин это хуже php
Ох, ладно. Моя боль так и останется моей. Просто я не понимаю, зачем нужно столько костылей.
Буквально вчера поднимал кластер from scratch. Все шло идеально ровно до момента kube-dns и настройки сети
Когда документация вдруг резко закончилась

Konstantin
20.06.2017
18:46:01
С докой беда, только гуглить и самому разбираться. Ну и может в доку, что-то законтребьютить)

Dmitry
20.06.2017
18:46:44
Казалось бы все очевидно: запихни переменные в шаблон, kubectl apply -f *.yml и готово
Но нет, не поднимается. Притом членораздельных ошибок тоже не вываливает
Ну и как с этим жить? А главное зачем?
А самое "прекрасное" то, что даже Rancher заводит k8s через раз
А в случае с разделением control plane и compute plane так вообще не заработало
И блин, это только самое начало. С разверткой k8s сталкиваются сотни человек как минимум. Где адекватные туториалы? Такое ощущение, что все живут либо в GCE/AWS, либо на bare metal с tectonic/еще чем-нибудь
И почему черт подери у команды докера получилось все свести до элементарных docker swarm init + docker swarm join? Почему у них нормально и быстро работает сетка и есть опциональный ipsec из коробки? Multimaster, raft, ingress все дела...