Rainbow
В kubernetes только stateless, делайте рядом install нового кластера и обновляйтесь таким переездом. 100% вариант.
0 приколов с update, его нет.
Andor
Вангую что это будет тот же самый монолит
Andor
И падение одного сервиса будет класть всю систему
Andor
Бестпрэктис
Vadim
Vadim
Да и с таким доморощенным blue-green все равно нужно как-то балансить нагрузку во время переезда
Валентин
Тогда уж NoCode, чего мелочиться
Ну уж если программисты будут там nocode гонять - их дело. Собственно нафига тащить в куб то, что в нем работает не лучше, чем в виртуалках (я про всякие бд и чему там еще данные понадобится могут)?
Валентин
Anton
подскажите пожауйста как запретить pod запускать вместе на одной ноде? что то ищу не могу найти в инете
Alex
Это не про affinity?
Aleksey
Это не про affinity?
да конечно же оно
https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
Andor
Anton
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- es-node
Aleksey
хотя это про ноды
Anton
это получается привязка к ноде
Anton
а вот чтобы pod не запускался на ноде, если такой же под уже там есть - такое есть в кубере?
Andor
Анти-аффинити надо
Aleksey
ну у меня для эластика вот так
spec:
serviceAccountName: {{ $serviceAccountName }}
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: release_group
operator: In
values:
- {{ $envAll.Values.release_group | default $envAll.Release.Name }}
- key: application
operator: In
values:
- "elasticsearch"
- key: component
operator: In
values:
- "client»
topologyKey: "kubernetes.io/hostname»
Vadim
https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#always-co-located-in-the-same-node
Andor
Там было кодовое слово "запретить"
𝚔𝚟𝚊𝚙𝚜
podAffinity
Anton
спасибо. посмотрю
G72K
Игорь
ах..нный ник
Etki
ох, да что ж я такой токсичный-то
Сергей
всем привет
Сергей
подскажите по dns
Сергей
хотя даже по самому кубернетису
Сергей
разворачивал через kubeadm
Сергей
сеть calico
Сергей
192.168.0.0/16
Сергей
простите, привычка дурацкая
Сергей
так вот. pod-range и service-range это сильно разные вещи? у меня получается, что поды это 192.168.0.0/16 и это calico, а сервисы 10.96.0.0/12 и сервисы не маршрутизируемые
Сергей
в моей голове было, что настраиваю pod-range и всё окей, но надо видимо отдавать часть под поды, а часть под сервисы?
Etki
Vladimir
Подскажите плз, имея доступ к консоли могу ли я получить токен биарер? Если да то ткните носом, не найти инфо
Сергей
𝚔𝚟𝚊𝚙𝚜
Rainbow
@Andorka papertrail, alert на "test failed" и через webhook в телеграм. Настроил себе.
Andor
чо?
Rainbow
А, чет я не с того конца. Вчера обсуждали как детектить фэйлы ingess конфига
Andor
ааа
Andor
ну ты из логов алертишь
Andor
там понятный подходы
Andor
мне было бы интересно получать это метрикой из контроллера
G72K
Сервисы откусываются из pod range (если пересекаются ), но можно и не пересекать. Сервисы обычно не маршрутизируются , так что любая незанятая непубличная подсеть подойдет
Rainbow
а смысл делать по другому? Это общие рельсы для всего кластера.
Andor
экспортировать метрики в прометея - общие рельсы для всего кластера
Etki
указать хостнейм, привязанный к сервису
Etki
И что мешает его указать? Не говоря уж о том, что webapp1-svc тоже будет резолвиться в том же неймспейсе.
Сергей
ну вот этот домен резолвится в немаршрутизируемую сеть 10.96
Etki
А проблема в чем? Не достучаться по нему?
Сергей
когда я пытаюсь его пинговать, то получается следующее:
[root@amun ~]# ping 10.110.113.20
PING 10.110.113.20 (10.110.113.20) 56(84) bytes of data.
From 10.0.0.2 icmp_seq=1 Destination Host Unreachable
From 10.0.0.2 icmp_seq=2 Destination Host Unreachable
From 10.0.0.2 icmp_seq=3 Destination Host Unreachable
From 10.0.0.2 icmp_seq=4 Destination Host Unreachable
Сергей
он преобразовывается в адрес моего хоста
Сергей
причём мастера
Сергей
а, я кажется понял
Etki
он не должен пинговаться
Etki
Он должен быть доступен по тем портам, которые ты указал в сервисе. Это не физическая машина и не полноценный интерфейс же.
Сергей
[root@amun ~]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
webapp1-svc ClusterIP 10.110.113.20 <none> 80/TCP 6d22h
в идеале если я выполню curl 10.110.113.20:80 с хоста, то я должен получить ответ от сервиса или нет?
Etki
да
Сергей
а ответа я не получаю из-за криво настроеного кубернетиса или кривого маршрута:
10.0.0.0/8 dev eth0 proto kernel scope link src 10.0.0.2
G72K
Ответ получите только из пода внутри кубернетеса
Сергей
то есть если я разверну под и зайду внутрь через kubetl exec ... ?
G72K
Ага
G72K
Если хотите извне к сервису, то есть варианты: сервис типа NodePort (или Loadbalancer если в облаке), externalIP на сервисе или через Ingress
𝚔𝚟𝚊𝚙𝚜
Grisha
Ребзя, какой type должен быть у хедлес сервиса?
Mr.
Никакой. Вроде просто clusterip:none
Grisha
# * spec.clusterIP: Invalid value: "None": field is immutable
Grisha
# * spec.clusterIP: Invalid value: "None": field is immutable
# * spec.ports[0].nodePort: Forbidden: may not be used when type is 'ClusterIP'
Grisha
даже вот так
Grisha
это если я не указываю тип
Mr.
Nodeport там как затесался?
Grisha
воу) точно
Grisha
# services "vss-depl" was not valid:
# * spec.clusterIP: Invalid value: "None": field is immutable
#
apiVersion: v1
kind: Service
metadata:
creationTimestamp: 2018-11-06T14:49:02Z
labels:
app.kubernetes.io/instance: vss
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/name: depl
helm.sh/chart: depl-0.1.4
name: vss-depl
namespace: default
resourceVersion: "17062"
selfLink: /api/v1/namespaces/default/services/vss-depl
uid: 19ea944e-e1d3-11e8-8209-52540045383d
spec:
clusterIP: None
externalName: vss-deploy
externalTrafficPolicy: Cluster
selector:
app.kubernetes.io/instance: vss
app.kubernetes.io/name: depl
sessionAffinity: None