Alexander
Спасибо, попробую
Сергей
подскажите как в файле values.yml правильно написать эту запись?
affinity:
podAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: team
operator: In
values:
- "4"
topologyKey: kubernetes.io/hostname
Сергей
вот сам файл
https://github.com/helm/charts/blob/master/stable/nfs-server-provisioner/values.yaml
Antlar
R2
Привет.
Не создаются войлумы. Клаудпровайдер vsphere
в логах кублета такая дичь:
Mar 5 10:01:35 kw03md kubelet[84254]: E0305 10:01:35.834257 84254 plugin_watcher.go:115] error dial failed at socket /var/lib/kubelet/plugins/kubernetes.io/vsphere-volume/mounts/[esx02_hdd] kubevols/kubernetes-dynamic-pvc-98761ea0-0e6b-11e9-bfc0-0050569bed37.vmdk/elk-data/nodes/0/indices/NZjszkt9Sn--AjzX-PEbhg/4/index/_577p.fdx, err: failed to dial socket /var/lib/kubelet/plugins/kubernetes.io/vsphere-volume/mounts/[esx02_hdd] kubevols/kubernetes-dynamic-pvc-98761ea0-0e6b-11e9-bfc0-0050569bed37.vmdk/elk-data/nodes/0/indices/NZjszkt9Sn--AjzX-PEbhg/4/index/_577p.fdx, err: context deadline exceeded when handling create event: "/var/lib/kubelet/plugins/kubernetes.io/vsphere-volume/mounts/[esx02_hdd] kubevols/kubernetes-dynamic-pvc-98761ea0-0e6b-11e9-bfc0-0050569bed37.vmdk/elk-data/nodes/0/indices/NZjszkt9Sn--AjzX-PEbhg/4/index/_577p.fdx": CREATE
R2
хелп, кто сталкивался.
Aleksandr
Всем привет.
Собираюсь переносить своё приложение в k8s, стоит ли описывать конфиг с помощью helm или достаточно yaml файлов kubernetes?
Antlar
Antlar
если планируешь потом менят ьи допиливать апликуху, то лучше хелм темплейты юзать ) не придется по файлам рыться потом, чтобы найти где и что поменять
Antlar
ну и ставиться в разных окружениях с хельмом все-таки удобнее )
Сергей
Antlar
Aleksandr
Antlar
у тебя эта штука идет сюда https://github.com/helm/charts/blob/19a77c3346f8b409ec88ac9c212128b30dab7e1c/stable/nfs-server-provisioner/templates/statefulset.yaml#L77
Rainbow
Antlar
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.13/#affinity-v1-core
Antlar
вот тут потыкай
Сергей
у меня просто стоит rancher и я при редактировании answer.yaml когда пишу
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: "thisnode"
operator: In
values: ["TheChosenOne"]
то он парсит и после создания пишет ошибку)
Antlar
https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#an-example-of-a-pod-that-uses-pod-affinity офф дока
Andor
а как же команда fix-cluster в ранчере?
Andor
она должна же всё сама сделать
Сергей
Сергей
Andor
ну как же ты, если юзаешь ранчер, там это основная команда
Antlar
Antlar
слишком непонятно )
Antlar
ksonnet так точно
Rainbow
рокетсаенс для меня )))
kustomize простой. Как минимум на 20% сокращает yaml просто за счет того, что label сам проставляет
Сергей
а как же команда fix-cluster в ранчере?
вот так же правильно?
affinity:
nodeAffinity: {requiredDuringSchedulingIgnoredDuringExecution: {nodeSelectorTerms: [{matchExpressions: [{key: app, operator: In, values: [storage]}]}]}}
он сам так объект отпарсил
Сергей
https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#an-example-of-a-pod-that-uses-pod-affinity офф дока
выдаёт ошибку
Failed to install app nfs-provisioner-xmymf. Error: release nfs-provisioner-xmymf failed: StatefulSet in version "v1beta2" cannot be handled as a StatefulSet: v1beta2.StatefulSet.Spec: v1beta2.StatefulSetSpec.Template: v1.PodTemplateSpec.Spec: v1.PodSpec.Affinity: readObjectStart: expect { or n, but found ", error found in #10 byte of ...|ffinity":"[object Ob|..., bigger context ...|se":"nfs-provisioner-xmymf"}},"spec":{"affinity":"[object Object]","containers":[{"args":["-provisio|…
Antlar
Сергей
Сергей
Rainbow
Antlar
v1.11
перепиши apiVersion: apps/v1beta2 в стейтфул сете на apps/v1
Antlar
возможно поможет
Antlar
v1.11 уже v1 апишку поддерживает, если верить апи рефу
Andor
Andor
Antlar
мне бы ленно было
Rainbow
Andor
у тебя настолько вариативный деплой?
Antlar
ты можешь пул реквест им запилить кстати
Rainbow
Мой пример самый простой. У меня большую часть деплоев покрывает. из вариативности - база другая, другое количество реплик и может ещё пару разных env, тут не нужны if
Antlar
и мейнтейнить не придется
Denis
у тебя настолько вариативный деплой?
Ага. Есть небольшая специфика у сервисов, и ногда env окружение может динамически менятся, в зависимости от значений в файле values.yaml, поэтому приходится стоит различные ветвления. Хэлм мне показался отличным для этого инструментов. Но я к слову не helm использую, а helm template chart_name | kubectl apply -f -
Andor
Rainbow
Andor
появляются-не-появляются переменные?
Andor
@alexesDev ты кстати в гуглоклауд-то поехал?
Rainbow
Andor
zbs
engelbart
А как через kubectl посмотреть суммарно по нодам memory avail, memory assigned?
Andor
Andor
то есть нельзя import: true сделать, например?
Rainbow
Andor
чтобы переменная была, но с другим значением
engelbart
а по кластеру целиком?
Denis
Andor
я хз что это за строчки, но это всё ещё не выглядит для меня как ветвление
Rainbow
cent
А у кого-то calico ругался так
[PANIC][9887] table.go 786: Failed to program iptables, giving up after retries error=exit status 2 ipVersion=0x4 table="filter
?
Denis
Там много разлчиных значений, в зависимости от которых будет темлейтится env: окружени.
Ну х.з если service.import: [] , то тогда не вставляем этот env в спецификацию
Rainbow
Rainbow
в go, где все типизировано все равно проверки вроде
if os.Getenv("MY_VAR") != "" {
}
там пофиг в общем. А во всяких node и подавно
Denis
Denis
Но я понял что там еще похлеще портянки получаются чем helm-чарты
Rainbow
Rainbow