Timur
а зачем он?
Когда-нибудь ты захочешь в кластере из сотен машин поменять пару строчек в парочке systemd юнитов
Denis
:)))
Denis
Боль
Denis
Есть дружественная группа @puppet_ru
Anonymous
странно что нет дружественной группы @ansible_ru : по-моему дискриминация по признаку дружественности
Alexander
жаль, что saltstack_ru
Alexander
нет
Alexander
Alexander
всего лишь нужно положить его на Ceph, как я понимаю
Alexander
ну и тогда он будет общим для всего кластера
Alexander
и, разумеется, Ceph должен будет подключаться к серверу раньше, чем будут стартаповать эти Rkt контейнеры
Anonymous
во, а я по сабжу еще спрошу - не факт что ответят, но может кто увидит вопросы и захочет на какой-нибудь из них нааписать ответ, будет клево :)
в общем, пока играюсь - запустил пару кластеров на локальных машинах и в GKE, щас хочу стажинг переводить и смотреть как себя ведет, наверное документацию плохо пролистал но не нашел ответа или нашел только размытые на такие вопросы:
1) какие полезные юзкейсы у job
2) чем ingress лучше кастомного nginx
3) чем принципиально petset отличается от pod
4) как можно заюзать component statuses в своей инфраструктуре и полезно ли это вообще
5) что такое events и с чем их едят
6) по каким правилам будет действовать несколько limitrages/resourcequotas в одном неймспейсе
7) возможноые юзкейсы serviceaccounts в продакшн-ркди кластерах
Anonymous
Ну скажите ченить ... )
Timur
я тоже жду :)
Timur
все ждут ))
Etki
> какие полезные юзкейсы у job
одноразовые калькуляции, например, у тебя кто-то в базе данных напортачил и тебе надо запустить скрипт, меняющий 0 на null
> чем ingress лучше кастомного nginx
главным образом переносом ответственности, но (насколько понял) он еще в альфе и это скорее проверка гипотезы чем то, чем уже стоит пользоваться
> чем принципиально petset отличается от pod
от replication controller/set, скорее. pet set может минимально конфигурировать окружение для себя и фиксирует названия подов
Etki
вот еще вопрос из министерства дурацких вопросов: я же не могу сделать port mapping внутри пода (сделать так, чтобы порт X пода соответствовал порту Y контейнера, -p aa:bb при обычном workflow докера), только открыть порт пода, соответствующий порту контейнера?
Etki
посмотри в статусе последнее состояние, возможно, OOM почему-то случается
Etki
у меня так в свое время дэшборд упал
Maxim
kubectl logs --namespace=kube-system kube-dns-v18-wz37g -c kubedns
показывает что-нибудь?
Denis
5 сек
Denis
Error from server: a container name must be specified for pod kube-dns-v18-wz37g, choose one of: [kubedns dnsmasq healthz]
Denis
ого
Denis
много всякого
Maxim
гистуй
Denis
E0825 14:12:50.249289 1 reflector.go:216] pkg/dns/dns.go:155: Failed to list *api.Service: Get https://zz.zz.zz.zz:443/api/v1/services?resourceVersion=0: x509: certificate signed by unknown authority
Denis
Я думаю вот это самое важное)
Maxim
дада
Denis
так сказать определяющее
Maxim
днс до апишечки дойти не может
Denis
факоф-фактор
Denis
атата
Maxim
а значит, у тебя неверно формируется дефолт-сикрет
Maxim
нука покажика kubectl get secrets --namespace=kube-system
Maxim
и пропал
Denis
Я здесь
Denis
Я не пропал
Anonymous
и пропал
Походу днс отвалился )
Maxim
ггг
Denis
))
Denis
Но вроде всё ок там
Maxim
что ок?
Denis
# kubectl get secrets —namespace=kube-system
NAME TYPE DATA AGE
basic-auth Opaque 1 24d
default-token-ngexf kubernetes.io/service-account-token 3 33d
frontend-kube-tls kubernetes.io/tls 2 24d
Maxim
в дефолт-токене всего один элемент в Data?
Denis
Да :)
# kubectl describe secret default-token-ngexf --namespace=kube-system
Name: default-token-ngexf
Namespace: kube-system
Labels: <none>
Annotations: kubernetes.io/service-account.name=default,kubernetes.io/service-account.uid=065d205b-5027-11e6-b525-44a842348b74
Type: kubernetes.io/service-account-token
Data
====
ca.crt: 1099 bytes
namespace: 11 bytes
token: eyJhbGciOiJSUzI1NiIsInR...
Denis
Надо туда ключ добавить ca.pem?
Maxim
нене, вот же он
Maxim
ca.crt: 1099 bytes
Maxim
а это точно тот самый сертификат?
Maxim
нука вынь его оттуда и разюючь
Maxim
kubectl get secret default-token-ngexf --namespace=kube-system -o yaml --export
Maxim
там будет что-то типа:
apiVersion: v1
data:
ca.crt: <многабукаф>
...
Maxim
вот эти многабукаф копипасти в какой-нить файл
Denis
Так
Denis
А зачем ?
Maxim
и делай cat /куда/ты/там/накопипастил | base64 -D
Maxim
в итоге будет снова многабукаф, но уже другого вида
Denis
И что с этими буквами сделать?
Maxim
нужно будет убедиться, что эти буквы - буква в букву - совпадают с твоим публичным ключем от CA
Denis
Вот это поворот
Maxim
?
Maxim
не совпадают?
Denis
6 сек
Denis
Maxim
совпадает с имеющимся?
Denis
И он идентичен с тем, что на kube-apiserver (/etc/kubernetes/ssl/ca.pem)
Maxim
ага
Maxim
ну тогда делай как я
Denis
это как?)
Maxim
https://gist.github.com/Bregor/dbb337e9a3e7b7ba6274d02e78a305bf
Maxim
вот так
Maxim
обрати внимание на volumes
Maxim
добавил kubeconfig.yaml в гист
Maxim
https://gist.github.com/Bregor/dbb337e9a3e7b7ba6274d02e78a305bf#file-kubeconfig-yaml
Denis
Ого, спасибо, не слишком ли hackeable? :)
Maxim
тебе шашечки или ехать?
Denis
Это из за чего такая проблема?
Denis
Мне ехать и быстро ))
Maxim
ну что за вопросы тогда