inqfen
В зависимости от потребностей
Alexander
Коллеги, подскажите пожалуйста, есть ли какие либо критерии выбора, где деплоить k8s: Bare Metal vs Private/Public Cloud vs Managed?
Тут такой trade off: свое железо - паришся с установкой и как это все отказоустойчиво сделать на железе и софте ставить в облаке - паришся с установкой, но отказоустойчивость дали для железа, думай о софте managed в облаке - легче ставить, отказоустойчивость дали для железа и видимо для control plane, но ограничили версию(Amazon отстает на две версии).
Alexander
С облаками тоже надо выбирать. Некоторые фичи(их немного) зависят от вендора облака типа Cluster Autoscaler. И тут будут нюансы.
Dmitriy
Спасибо большое!)
Terry
именно так ;) но ведь работает ? ;)
𝚔𝚟𝚊𝚙𝚜
именно так ;) но ведь работает ? ;)
docker без проблем работает уже 2 года как)
Alexander
Ну и вообще где-то 70% толи всех, толи облачных куберов живут в Амазоне. А миллион леммингов не могут ошибатся )
Alexander
А у них какой CRI?
Docker на managed, но большое число установок - это же сами. Amazon достаточно медленно предоставил managed решение. У него своии велосипеды на контейнерах и даже не один )
Alexander
Container Runtime Version: docker://18.6.1
Renarde
configmap?
посмотрел - он к сожалению не подойдет, потому что параметров много, и внутрь контейнера они попадут как env variables, а мне бы хотелось иметь возможность прочитать их из файла
Renarde
Конфигмапу можно положить как файл
а не проще ли тогда просто сделать маунт в Job?
Mikhail [azalio]
Renarde
нет, я имею в виду вот что - у меня есть папка в которой куча json-файлов с параметрами, в докере я могу эту папку просто подмаунтить к контейнеру - в кубере можно так сделать?)
Renarde
Ага, через конфигмапу например :). Это самый правильный способ
ааа, все, дошло, я не сразу понял как это правильно сделать, пока два раза док не прочитал) спасибо!
Nik
народ, а кто использует csi-ceph (rbd)? Не ловили проблему, что rbd монитруется на хост успешно, приезжает в нужную кубову папку монитруется, но куб орет что не подали ему pvc?
Andrey
ох, я бы вообще на горячую там ничего не правил. нестабильный трындец, а как фиксить проблемы хз
Nik
народ, а кто использует csi-ceph (rbd)? Не ловили проблему, что rbd монитруется на хост успешно, приезжает в нужную кубову папку монитруется, но куб орет что не подали ему pvc?
++ вижу куб или csi путают id подов. монитрует в один, файлы видит в одном. а chmod кубелет пытается применить на тот же pvc но в другом id пода и фейлится
Nik
Volume has not been added to the list of VolumesInUse in the node's volume status for volume
Nik
и еще такие вещи
Grisha
{{- range .Values.ingress.hosts }} - host: {{ .host | quote }} http: paths: - path: {{ .paths }} backend: servicePort: {{ .port }} serviceName: {{ .Values.labels.app | lower }} {{- end }} хелпните плиз когда делаю такуб конструкцию, получаю ошибку at <.Values.labels.app>: nil pointer evaluating interface {}.labels]
Lucky SB
Оно ищет это в рендже
Grisha
понимаю, но как указать что это аутрендж
Pavel
.labels -это вообще что у вас?
Grisha
это labels: app: firstName build: CI_PIPELINE_IID team: CI_PROJECT_NAMESPACE product: exim4 env: CI_COMMIT_REF_SLUG
Lucky SB
Хз. Надо доку читать
Grisha
разобрался
Grisha
{{- $app := .Values.labels.app -}}
Grisha
{{- range .Values.ingress.hosts }} - host: {{ .host | quote }} http: paths: - path: {{ .paths }} backend: servicePort: {{ .port }} serviceName: {{ $app }} {{- end }}
Grisha
вот так норм
Fidelina
что-то в доке не могу найти, как указать 2 порта в route для сервиса? apiVersion: route.openshift.io/v1 kind: Route metadata: labels: name: olap-planeta name: olap-planeta namespace: planeta spec: host: platena port: targetPort: db-7771 port: targetPort: db-7777 to: kind: Service name: postgres-planeta weight: 100 wildcardPolicy: None
Fidelina
вот это не рабочий вариант
Fidelina
хватет только что первым указано
Anonymous
apiVersion: v1 kind: Service metadata: name: fmtntas-core-${profileName} labels: app: fmtntas-frontoffice chart: {{ .Chart.Name }} release: {{ .Release.Name }} component: core spec: type: ClusterIP ports: - name: ssh port: 22022 targetPort: 22 - name: tas-port port: 22980 targetPort: 1980 - name: core-ws-http port: 22066 targetPort: 22066
Anonymous
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: fmtntas-core-${profileName}-ingress labels: app: fmtntas-frontoffice chart: {{ .Chart.Name }} release: {{ .Release.Name }} component: core annotations: kubernetes.io/ingress.class: nginx kubernetes.io/tls-acme: 'true' spec: rules: - host: fmtntas-${profileName}-parlay.app.okd.lanit http: paths: - path: / backend: serviceName: fmtntas-core-${profileName} servicePort: 22385 - host: fmtntas-${profileName}-core-ws.app.okd.lanit http: paths: - path: / backend: serviceName: fmtntas-core-${profileName} servicePort: 22066 - host: fmtntas-${profileName}-core.app.okd.lanit http: paths: - path: / backend: serviceName: fmtntas-core-${profileName} servicePort: 22500 - host: fmtntas-${profileName}-call-recorder.app.okd.lanit
Anonymous
Хост для route имеет смысл использовать при https
Anonymous
И там вроде как нельзя несколько хостов
Anonymous
Потому что это route
Fidelina
никак, порты открываются на роутере
так у меня и приведен конфиг роута
Just a baka
route только для хттп и хттпс, если в кишки не лезть
Anonymous
так у меня и приведен конфиг роута
Ало, я уже привел пример файла
Anonymous
Делай по нему
Fidelina
окей
ᴅⁱᵐⁱᴅʳ0ˡ
можно ли в одном ингресе с несколькими точками входа указать реврайт для одного?
Fidelina
вообще мне нужно, чтобы не я видела эти порты, а мои сервисы, что к ней обращаются
Fidelina
к этой БД
Anonymous
можно ли в одном ингресе с несколькими точками входа указать реврайт для одного?
Не совсем понял, что ты имеешь ввиду, но скорее всего да
Anonymous
Service Port
Anonymous
Вот так это выглядит в итоге
ᴅⁱᵐⁱᴅʳ0ˡ
apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations: nginx.ingress.kubernetes.io/app-root: /app1 name: approot namespace: default spec: rules: - host: approot.bar.com http: paths: - backend: serviceName: front-svc servicePort: 80 path: / paths: - backend: serviceName: back-svc servicePort: 80 path: /
ᴅⁱᵐⁱᴅʳ0ˡ
как реврайтит ьтолько фронт допустим?
ᴅⁱᵐⁱᴅʳ0ˡ
при обращении к approot.bar.com/app1 попадал в сервис front-svc/
Anonymous
path: /app1 ?
Andrey
Конечно helm говно, но nginx ingress operator это какая-то наркомания
Как ни странно, я согласен, но получилось красиво
Anonymous
Конечно helm говно, но nginx ingress operator это какая-то наркомания
Потом привыкаешь и такой "Ну, есть можно"
Vadim
расскажите как вы будете хелмом его обновлять, в идеале без даунтайма
Andrey
Плюс, мб, как-нибудь добавлю в него поддержку других ингресс-контроллеров, с которыми пока еще не игрался. Traefik вызывает интерес, но не внушает доверия в плане производительности и прочего. Хотя обязательно попробую.
Anonymous
Вообще я хочу сказать, что на Helm есть много плагинов, которые пишут добрые люди
Anonymous
И как бы можно крякнуть, плюнуть и надежно склеить скотчем
Anonymous
при обращении к approot.bar.com/app1 попадал в сервис front-svc/
Только serviceport не может быть у двух портов одинаковый, сделай второй 8080, например
Anonymous
может
И как это должно работать?
Anonymous
Если у тебя одинаковый хост, путь и порты?
Anonymous
Нет, работать то оно будет
Anonymous
Только разницы нет
ᴅⁱᵐⁱᴅʳ0ˡ
ᴅⁱᵐⁱᴅʳ0ˡ
да короч отдельный ингрес сделаю
Anonymous
По факту, ты выбрасываешь, скажем 80 > 5000 80 > 6000 Хост одинаковый, path одинаковый
Anonymous
Куда я зайду на 80 порту, на 5000 или 6000?