G72K
bebebe
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
pod "alpine-test-msk6" deleted
0.22user 0.02system 0:02.56elapsed 9%CPU (0avgtext+0avgdata 90888maxresident)k
632inputs+0outputs (4major+8319minor)pagefaults 0swaps
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
pod "alpine-test-msk7" deleted
0.20user 0.04system 0:02.77elapsed 9%CPU (0avgtext+0avgdata 90256maxresident)k
0inputs+0outputs (0major+8195minor)pagefaults 0swaps
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
pod "alpine-test-msk5" deleted
0.21user 0.03system 0:06.29elapsed 3%CPU (0avgtext+0avgdata 92524maxresident)k
872inputs+0outputs (4major+8694minor)pagefaults 0swaps
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
pod "alpine-test-msk4" deleted
0.21user 0.03system 0:06.60elapsed 3%CPU (0avgtext+0avgdata 91572maxresident)k
688inputs+0outputs (4major+8503minor)pagefaults 0swaps
Почему то на некоторых нодах 2 секунды. На других 6
Прогоните ещё раз
Max
Max
на одних нодах ssd, на других hdd
Max
возможно из-за этого?
Dmitry
а в каком состоянии находятся у вас поды до того, как взлететь ?
bebebe
Dmitry
у нас была проблема с долгим пендинд-состоянием и все было в нехватке памяти для етсд (расход был ограничен)
Vadim
если etcd на нодах с hdd, то будет весело
Max
Max
ну иногда 3 и 8 секунд соответственно
G72K
G72K
Тред пропустил, а за сколько хочется под запустить?
Max
простите)
bebebe
Max
Max
но даже на машинах с ssd время еще на что-то уходит, порядка 3х секунд
Max
будем копать 🙂
Max
спасибо за наводки
G72K
Max
Зачем такая скорость?
по большей степени мой внутренний перфекционизм, т.к. мне кажется что кубу 3-5 секунд слишком много на банальные вызовы докер api и обращение к etcd
𝚔𝚟𝚊𝚙𝚜
А git diff норм работает?
сейчас проверил, когда репо залочен показывает: Binary files differ, когда разлочен показывает нормальный diff
Max
не думал что hdd добавляет к запуску альпина 4-5 секунд
Andor
overlayfs?
Max
overlay2
Max
а новые ядра это > 4.15+?
Max
на нодах ubuntu 18.04
Andor
reflink вроде в совсем новых
Andor
новее чем в 18.04
𝚔𝚟𝚊𝚙𝚜
hwe
Andor
для 18.04 ещё нет hwe
Max
жаль
Max
видимо с 18.04.2 появится?
Andor
хз
𝚔𝚟𝚊𝚙𝚜
ставь pve-kernel ;)
Andor
вряд ли это поможет
𝚔𝚟𝚊𝚙𝚜
Max
непонятно почему даже мелкие image запускаются по 5 секунд чисто в докере, без куба
𝚔𝚟𝚊𝚙𝚜
linux-image-generic/bionic-updates 4.15.0.38.40 amd64
Generic Linux kernel image
Andor
угу, потому и нету hwe
𝚔𝚟𝚊𝚙𝚜
Andor
andor@titude:~$ docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
473ede7ed136: Pull complete
c46b5fa4d940: Pull complete
93ae3df89c92: Pull complete
6b1eed27cade: Pull complete
Digest: sha256:29934af957c53004d7fb6340139880d23fb1952505a15d69a03af0d1418878cb
Status: Downloaded newer image for ubuntu:latest
andor@titude:~$ time docker run -it ubuntu uname -a
Linux c3c7f35393f6 4.15.0-38-generic #41-Ubuntu SMP Wed Oct 10 10:59:38 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
real 0m2.306s
user 0m0.028s
sys 0m0.025s
Andor
вот на ноуте, тоже 2.3 секунды
𝚔𝚟𝚊𝚙𝚜
ну а вообще тебе и правда cri-o нужен, если хочешь чтоб прям быстро было
Max
root@msk4:~# time docker run -it --rm alpine:3.8 /bin/sh -c id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
real 0m4.435s
user 0m0.095s
sys 0m0.017s
Andor
причём второй и далее запуски 0.9 секунды
Max
то есть было 4.5, стало 3.5
𝚔𝚟𝚊𝚙𝚜
root@msk4:~# time docker run -it --rm alpine:3.8 /bin/sh -c id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),11(floppy),20(dialout),26(tape),27(video)
real 0m4.435s
user 0m0.095s
sys 0m0.017s
да там --rm отнимает больше половины
Max
почитал про crio, что-то не понял в чем его плюсы? Помимо того, что в нем нет ненужного и он заточен под куб
𝚔𝚟𝚊𝚙𝚜
𝚔𝚟𝚊𝚙𝚜
к сведению: containerd - это такой же cri-o только от докера
𝚔𝚟𝚊𝚙𝚜
ну грубо говоря, они выпилили из докера все ненужное получился containerd
Vadim
containerd не от докера, это докер перепелили внутренности на containerd
𝚔𝚟𝚊𝚙𝚜
не знал, думал это они его написали
Vadim
то есть, оно на основе libcontainer, который от докера, но какое-то время оба проекта параллельно шли
Vadim
теперь да
Max
Подскажите, я правильно использую weights в podAntiAffinity?
podAntiAffinity: {
preferredDuringSchedulingIgnoredDuringExecution: [{
weight: 1,
podAffinityTerm: {
topologyKey: 'kubernetes.io/hostname',
labelSelector: {
matchExpressions: [{
key: 'projectID',
operator: 'NotIn',
values: [String(project.id)]
}]
}
}
}, {
weight: 50,
podAffinityTerm: {
topologyKey: 'kubernetes.io/hostname',
labelSelector: {
matchExpressions: [{
key: 'game',
operator: 'NotIn',
values: [game.short_name]
}]
}
}
}]
}
Max
мне нужно чтобы поды с разными labels game и projectID размещались на разных нодах, если есть возможность
Max
но важнее чтобы поды с разными game были на разных нодах, нежели projectID
G72K
Sergey
в Vault есть отзыв секретов и токенов
𝚔𝚟𝚊𝚙𝚜
А в случае с vault не надо?
Sergey
и делегирование ролей
Sergey
https://habr.com/company/flant/blog/325358/
𝚔𝚟𝚊𝚙𝚜
Вот допустим есть у вас база данных, в ней есть сервисный юзер и пароль.
Пароль от базы сохранен в Vault.
К этому паролю имеет доступ:
- сама база (она устанавливает его перед запуском)
- сервис которые использует эту базу (узнает пароль перед запуском)
- юзер который деплоит сервис
Я правильно понимаю концепт?
𝚔𝚟𝚊𝚙𝚜
в случае кода юзер увольняется, мы должны поменять пароль в Vault и рестартануть базу и сервис
𝚔𝚟𝚊𝚙𝚜
а, понял
𝚔𝚟𝚊𝚙𝚜
плюс я не совсем понимаю как шифрование самой базы для Vault организовать