
Alexey
09.10.2018
07:50:41
быстрее было уже поставить цеф на одну ноду ?

Anton
09.10.2018
07:52:53
Монтировать нужно не на /mnt/disks, а в поддиректорию
Pv на машине может быть чётко угодно

Anton
09.10.2018
07:54:40

Google

Anton
09.10.2018
07:55:24
И кстати local volume provisioner умеет диски передавать
Целиком в под
А попадробнее в доке ж можно прочесть

Alexey
09.10.2018
07:58:07

Дмитрий
09.10.2018
07:59:19

Alexey
09.10.2018
08:00:11

Валентин
09.10.2018
08:00:58

Дмитрий
09.10.2018
08:01:16

Anton
09.10.2018
08:01:43
А попадробнее в доке ж можно прочесть
https://github.com/kubernetes-incubator/external-storage/tree/master/local-volume
$ mkdir /mnt/disks
$ for vol in vol1 vol2 vol3; do
mkdir /mnt/disks/$vol
mount -t tmpfs $vol /mnt/disks/$vol
done
они тут вообще tmpfs монтируют

Anton
09.10.2018
08:02:35

Anton
09.10.2018
08:03:09

Alexey
09.10.2018
08:04:24

Anton
09.10.2018
08:07:19

Google

Anton
09.10.2018
08:08:45
$ mkdir /mnt/disks
$ for vol in vol1 vol2 vol3; do
mkdir /mnt/disks/$vol
mount -t tmpfs $vol /mnt/disks/$vol
done
получается что надо все удалить, примонтировать диски в /mnt/disks/vol1

Andrew
09.10.2018
08:09:06
А никто не пользовался pks от вмваре и их кубером? В чем плюсы?

Pavel
09.10.2018
08:24:02
Привет, друзья! Я успешно забрал кластер у внезапно "пропавшего" коллеги. У меня есть парочка вопросов с Gitlab CI:
Я завел успешно gitlab-runner в k8s.
Когда запускаю пайплайн у меня на этапе деплоя не работает helm:
```$ helm version
Client: &version.Version{SemVer:"v2.9.1", GitCommit:"20adb27c7c5868466912eebdf6664e7390ebe710", GitTreeState:"clean"}
Error: cannot connect to Tiller```Подскажите пожалуйста, верно ли я понимаю: у меня gitlab runner в k8s, и когда запускается деплой, то раннер стартует другой контейнер, образ которого указан в image стейжа?
Или я пошел не тем путем..?

Валентин
09.10.2018
08:24:12
как там в розовом мире?
А в чем проблема? Сделать пакет в aur делов на 1 минуту. Зато потом cd сам будет пересобирать и обновлять в репозитории пакет

bebebe
09.10.2018
08:26:42

Pavel
09.10.2018
08:29:25

Anton
09.10.2018
08:45:53
https://toster.ru/q/569353
Теперь диски находтся и создаются.
Но Elasticsearch все равно говорит
no persistent volumes available for this claim and no storage class is set
Все данные на тостере обновил

Vadim
09.10.2018
08:49:48

Alexey
09.10.2018
08:52:09

Oleg ?
09.10.2018
09:17:50
Всем привет. Тут есть отчаянные кто в кластер добавлял виндовые ноды ?

Sergey
09.10.2018
09:21:09

Oleg ?
09.10.2018
09:22:00
Есть сервисы под венду написанные которые думаю в кластер запихнуть

Alexander
09.10.2018
09:22:35

Sergey
09.10.2018
09:22:48
дотнет уже пихают в кубер

Oleg ?
09.10.2018
09:23:29
Дотнет да, никто не собирается его выпиливать, поэтому и думаю про агент виндовый

Alexander
09.10.2018
09:23:31
дуднет и под никсами тоже работает. Не всякий, конечно.

Stanislav
09.10.2018
09:23:40
mono давно существует

Sergey
09.10.2018
09:23:49

Oleg ?
09.10.2018
09:24:01
Хм

Fike
09.10.2018
09:24:04
проще переезжать по частям все-таки, сначала кубер, потом на линупс

Google

Sergey
09.10.2018
09:24:22
в каком сервисе\языке загвоздка? почему нужна форточка?

Oleg ?
09.10.2018
09:24:39
Не знал что можно на лиуксе запустить дотнет

Sergey
09.10.2018
09:24:50
на хабре полно инфы

Oleg ?
09.10.2018
09:24:52
Там какие то специфичные утилиты для этого?
Mono?

Fike
09.10.2018
09:25:00
бггг на хабре
да, mono project
там большая часть net framework портирована, но каких-то вещей нет

Oleg ?
09.10.2018
09:25:34
Хм окей, почитаю

Stanislav
09.10.2018
09:25:56
нет всякого winapi

Georgy
09.10.2018
09:27:11
называется dotnet core
работает просто заебись. есть еще проблемы с некоторыми тулами, но уже можно в продакшон

Oleg ?
09.10.2018
09:28:43
Спасибо за инфу

Alexander
09.10.2018
09:28:50
нет всякого winapi
это какие-то очень специфические серверные задачи требуют винапи. С ходу могу только что-нибудь про сертифицированную отечествуенную криптографию придумать.

Georgy
09.10.2018
09:30:14
тем более всегда можно извернуться и сделать отдельный сервис с вендою чисто лишь для одной задачи
поднять впсину на авс, и нехай оно там дергает че ему нравится из апи


Peter
09.10.2018
09:49:01
незачем, поэтому curl && chmod +x
Когда поднимается локальный кластер выставляется symlink
/usr/local/bin/kubectl -> /Applications/Docker.app/Contents/Resources/bin/kubectl
Когда останавливается линк зачем-то убивается, но появляется другой
/Users/peter/Library/Group Containers/group.com.docker/bin/kubectl
А по этому пути даже bin не существует.
Просто руками выставил первый линк и мои волосы стали снова шелковистыми.

Anton
09.10.2018
09:50:51
В примерах документации что?
Что интересно диск с системой тоже замонтировался
mount |grep /dev/vda1
/dev/vda1 on / type ext4 (rw,relatime,data=ordered)
/dev/vda1 on /var/lib/kubelet/pods/89d44bff-cb9e-11e8-b52a-fa163e47d93f/volume-subpaths/config/elasticsearch/0 type ext4 (rw,relatime,data=ordered)

Google

Anton
09.10.2018
09:51:34
Подскажите что не правильно сделал. все описал тут с логами
https://toster.ru/q/569353

Anton
09.10.2018
09:57:43
прочитайте документацию пожалуйста. там совсем не много
отладить неплохо было бы, запросить (get) pv, pvc, сделать для них describe. сравнить что там, подумать


Anton
09.10.2018
10:01:47
сделал "запросить (get) pv, pvc, сделать для них describe."
наверное в тостер никто не заглядывает.
придется логи сюда постить
Примонтирован 50ГБ диск в эту папку
mount /dev/vdb1 /mnt/disks/vdb1
Проверяем
mount | grep mnt
/dev/vdb1 on /mnt/disks/vdb1 type xfs (rw,relatime,attr2,inode64,noquota)
Проверяем PV
kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
local-pv-5bec36e4 49Gi RWO Delete Available local-storage 2m15s
local-pv-aa880f42 49Gi RWO Delete Available local-storage 2m15s
local-pv-b6ffa66b 49Gi RWO Delete Available local-storage 2m15s
Запускаем установку elasticsearch
helm install incubator/elasticsearch --name my-release --set data.storageClass=local-storage,data.storage=10Gi
Смотрим PVC
kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
data-my-release-elasticsearch-data-0 Pending 3m15s
data-my-release-elasticsearch-master-0 Pending 3m15s
Смотрим describe PVC
kubectl describe pvc data-my-release-elasticsearch-data-0
Name: data-my-release-elasticsearch-data-0
Namespace: default
StorageClass:
Status: Pending
Volume:
Labels: app=elasticsearch
component=data
release=my-release
Annotations: <none>
Finalizers: [kubernetes.io/pvc-protection]
Capacity:
Access Modes:
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal FailedBinding 2s (x4 over 31s) persistentvolume-controller no persistent volumes available for this claim and no storage class is set
Логи:
kubectl logs local-volume-provisioner-9wmqm --namespace kube-system
I1009 08:34:19.214312 1 common.go:259] StorageClass "local-storage" configured with MountDir "/mnt/disks", HostDir "/mnt/disks", BlockCleanerCommand ["/scripts/quick_reset.sh"]
I1009 08:34:19.214560 1 main.go:42] Configuration parsing has been completed, ready to run...
I1009 08:34:19.214991 1 common.go:315] Creating client using in-cluster config
I1009 08:34:19.245635 1 main.go:52] Starting controller
I1009 08:34:19.245659 1 controller.go:42] Initializing volume cache
I1009 08:34:19.249252 1 populator.go:85] Starting Informer controller
I1009 08:34:19.249273 1 populator.go:89] Waiting for Informer initial sync
I1009 08:34:20.249475 1 controller.go:72] Controller started
I1009 08:34:20.250066 1 discovery.go:254] Found new volume of volumeMode "Filesystem" at host path "/mnt/disks/vdb1" with capacity 53659832320, creating Local PV "local-pv-5bec36e4"
I1009 08:34:20.301162 1 discovery.go:280] Created PV "local-pv-5bec36e4" for volume at "/mnt/disks/vdb1"
I1009 08:34:20.301826 1 cache.go:55] Added pv "local-pv-5bec36e4" to cache
I1009 08:34:20.343959 1 cache.go:64] Updated pv "local-pv-5bec36e4" to cache
I1009 08:34:20.353803 1 cache.go:64] Updated pv "local-pv-5bec36e4" to cache
Смотрим df | grep disks у пода local-volume-provisioner-9wmqm
kubectl --namespace kube-system exec local-volume-provisioner-9wmqm -- df | grep disks
/dev/vda1 9774628 6355168 2961036 69% /mnt/disks
/dev/vdb1 52402180 32944 52369236 1% /mnt/disks/vdb1


Anton
09.10.2018
10:03:59
мне кажется написано все в describe pvc

Anton
09.10.2018
10:04:02
Что интересно диск с системой тоже замонтировался
mount |grep /dev/vda1
/dev/vda1 on / type ext4 (rw,relatime,data=ordered)
/dev/vda1 on /var/lib/kubelet/pods/89d44bff-cb9e-11e8-b52a-fa163e47d93f/volume-subpaths/config/elasticsearch/0 type ext4 (rw,relatime,data=ordered)

Artem
09.10.2018
10:05:23

Anton
09.10.2018
10:05:27
no persistent volumes available я так думаю потом учто pvc примонтировался к /dev/vda1 - а это системный диск

Vadim
09.10.2018
10:05:30
PV есть, а у PVC StorageClass не указан
очередная победа хелма похоже

Anton
09.10.2018
10:06:27

Nick
09.10.2018
10:07:20
Не мало ли 10?

Google

Alexey
09.10.2018
10:08:28


Anton
09.10.2018
10:11:45
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: 2018-10-09T08:37:21Z
finalizers:
- kubernetes.io/pvc-protection
labels:
app: elasticsearch
component: data
release: my-release
name: data-my-release-elasticsearch-data-0
namespace: default
resourceVersion: "1231"
selfLink: /api/v1/namespaces/default/persistentvolumeclaims/data-my-release-elasticsearch-data-0
uid: 89e00b45-cb9e-11e8-b52a-fa163e47d93f
spec:
accessModes:
- ReadWriteOnce
dataSource: null
resources:
requests:
storage: 30Gi
storageClassName: local-storage
status:
phase: Pending
~
добавил storageClassName: local-storage
error: persistentvolumeclaims "data-my-release-elasticsearch-data-0" is invalid
похоже что то с elasticsearch
helm install stable/prometheus --name stable-prometheus --set server.persistentVolume.storageClass=local-storage --set alertmanager.persistentVolume.storageClass=local-storage
kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
stable-prometheus-alertmanager Bound local-pv-aa880f42 49Gi RWO local-storage 9s
stable-prometheus-server Bound local-pv-5bec36e4 49Gi RWO local-storage 9s


Banschikov
09.10.2018
10:53:27
Товарищи, подскажите как быть если деплой Helm зафейлился по некоторым причинам, и состояние релиза FAILED. После этого Helm может затупить из за этого и выдавать ошибки, по типу релиза не сущевствует. Мне помогало удаление релиза при помощи helm del, но на продакшене не всегда есть такая возможность. Как лучше поступать в подобных ситуациях?

Timur
09.10.2018
10:54:38

bebebe
09.10.2018
10:55:41

Timur
09.10.2018
10:55:44
угу

Anton
09.10.2018
11:22:15
Никого не смущает
Create cluster with Storage class ssd on Kubernetes 1.5+
$ helm install incubator/elasticsearch --name my-release --set data.storageClass=ssd,data.storage=100Gi
в официальном readme https://github.com/helm/charts/tree/master/incubator/elasticsearch
в общем отправил им fix pull request

bebebe
09.10.2018
11:22:54

Artem
09.10.2018
11:27:18
в charts/stable еще очень много дичи

Taviscaron
09.10.2018
11:37:48
Привет. Идеологический вопрос. Представим комплексное окружение, микросервисы, вот это все. Каждое окружение - отдельный namespace, в который весь стек деплоится из helmfile. Как быть с шареными настройками/секретами, типа database credentials или домена? Деплоить общие настройки окружения в виде отдельного чарта или дублировать в configmap/secret'ы каждого сервиса? Кто как делает?

Alexey
09.10.2018
11:38:16
дублировать
иначе чистить через пол года... придется.

Taviscaron
09.10.2018
11:39:25
Ну чистить вроде не сложно, пересоздал namespace - и все почистилось ?

Alexey
09.10.2018
11:39:40
если общие секреты?
помнить, что правка этого секрета может кому-то что-то сломать и тп.
гоферы советуют с собой таскать vendor. Это прям вынос мозга был, а на деле даже удобно оказалось. Тут так же.