Volodymyr
ну так про обратное говорили, что там proxy_pass на https://kubernetes.github.io с https://kubernetes.io
Volodymyr
там бы был редирект луп
Aleksandr
всё правильно, там в конфиге указано
location / {
...
proxy_set_header Host kubernetes.io;
proxy_pass https://kubernetes.github.io;
Роман
нельзя маунтиить в файл
volumeMounts:
mountPath: /var/www/config/file.yml
subPath: file.yml
name: php
...
volumes:
- name: php
configmap:
name: file-yaml
Роман
Версия 1.7
Anonymous
Crypto tradind - уникальный канал, который научит вас трейдингу на криптовалюте. @Cryptootrading
Роман
А как работает kube-dns? Приложения каждый раз отправляют запрос на резолв или где-то это кэшируется?
Постоянная ошибка, что приложение не может зарезолвить сервис postgres, однако, запущено уже 24 инстанса с kube-dns...
Denis
А сервис настроен точно?
Logan
Роман
А сервис настроен точно?
Работает. Но время от времени в логах эта ошибка. При больших нагрузках появляется с постоянной периодичностью.
Denis
Так может надо заскейлить днс серверы?
G72K
так и так 24 уже
G72K
Роман
G72K
хм, откуда 24 инстанса тогда? там имеется Horizontal pod autoscaler , который стартует новые поды если CPU слишком высокий, это он вам 24 запустил?
Роман
G72K
а CPU загружен в kube-dns?
G72K
может у вас ноды перегружены по CPU? у kube-dns requests.cpu по умолчанию что-то вроде 100m (0.1 CPU), что не так важно если нода свободна, но если CPU в дефиците, то этот параметр превращается по сути в weight
G72K
и если рядом есть поды с requests.cpu == 2, то kube-dns остаются объедки :)
Yury
Кто-нибудь ставил 1.7 через kubeadm? dns резолвить kubernetes.default ни в какую не хочет
Роман
Роман
Yury
А сеть какая?
пробовал и flannel и weave - результат один. сеть ходит. А без суффикса не резолвится сервис
Роман
Sn00part
кто k8s на ранчере 1.6.3 разворачивал, есть тут такие
Sn00part
?
Салтыдык
Aleksey
Дня доброго! Подскажите, кто валидирует ямлины при apply —dry-run? Локальный клиент или кластер?
G72K
Aleksey
оба
А можно выяснить кто именно завернул ямлину? У меня nodeSelector через раз проходит валидацию и я уже хз куда копать (показать не могу, начальство запретило)
Aleksey
При том именно через раз. Не прошло @ Выпил чаю @ Прошло @ Сходил погулять @ Не прошло %)
G72K
хм, у вас точно нет loadbalancer за которым apiserver разных версий? :))
Aleksey
G72K
локальную валидацию можно было отключать флагом (оно в сообщении об ошибке выводит его)
G72K
удаленную отключить нельзя
Aleksey
Хм, то есть без фалага мы уверены, что оно валидируется два раза, при том первый прогон локально?
G72K
100% валидируется локально без всякийх флагов и стандартном kubeconfig. может не так тщательно, как на сервере, но какие-то проверки на известные/неизвестные поля проходит
G72K
знаю, потому что руки и кривые и оно мне на мои ямлы ругалось локально часто
Aleksey
Но блин, куда копать, если алерт флапается на неизменяемом файле? 0_0
G72K
ну накиньте —v=10 может чего прояснится
G72K
я бы ставил на заблудший apiserver отличной версии от остальных, других объяснений на ум не приходит :)
Aleksey
Спасибо, потыкаюсь
G72K
как ошибка то выглядит? гуглится?
Aleksey
error validating data: found invalid field nodeSelector
Aleksey
Ну и если повезло и валидация прошла, то всё хорошо и вешается куда надо
G72K
будет чудо, если это не разные версии apiserver
G72K
впрочем nodeSelector с незапамятных времен , так что может и не разные версии :)наврят ли у вас 0.10 где-то запущенно :)
Роман
G72K
уменьшите 24 до разумного :)
Роман
ASTASHOFF
G72K
ASTASHOFF
полученный describe - описан следующим yaml
apiVersion: extensions/v1beta1
kind: Ingress
spec:
rules:
-
host: "domain.net"
http:
paths:
-
backend:
serviceName: backend-1
servicePort: 8888
path: /
-
backend:
serviceName: backend-2
servicePort: 8888
path: /
Denis
хм а как это должно работать если один и тот же путь на два сервиса?
ASTASHOFF
я вот что нашел:
https://github.com/kubernetes/ingress/issues/257 / https://github.com/kubernetes/ingress/pull/981
сразу скажу - это не то что мне надо, то есть тут сохраняется тенденция привязки 1 service - 1 endpoint (ибо 1 ClusterIP), но по крайней мере я прочитал вот это
https://github.com/kubernetes/ingress/issues/257#issuecomment-278998855
соответственно может как-то подхачить Endpoints API?
еще я заметил упоминания о kong api, как там через lua апстримы менеджатся..
ASTASHOFF
мне надо между двумя сервисами балансировать одно и то же доменное имя целиком
ASTASHOFF
у меня один сервис это один под, там никогда не будет replicas > 1
G72K
сделайте другой сервис, искусственный, пусть он покрывает все ваши поды
G72K
и укажите его в ingress
G72K
пусть даже ClusterIP: None
ASTASHOFF
создать какой-то третий сервис и замапить его на эти два и ингресс для него запилить?
G72K
ага
ASTASHOFF
просто мне нужно еще обеспечить доступность per-service URL извне
G72K
ну можете первые два сервиса удалить за ненадобностью , если они нигде больше не нужны :)
G72K
ну для per-service сделайте ingress с различающимся path и/или host
ASTASHOFF
то есть прикол в том, что есть три урла:
global.domain.net
backend-1.domain.net
backend-2.domain.net
клиент изначально на global.domain.net приходит, но после первого запроса дальше он будет общаться с каким-то из backend-1/backend-2, в зависимости куда раунд робин его направит
G72K
ну вот, у вас 3 сервиса и 3 ingress
ASTASHOFF
различающиеся path да, будут работать, но нужно чтобы корень балансировался
ASTASHOFF
формально мне тупо хватит чтобы можно было два айпишника в апстрим запихнуть, чтоб они и по отдельности работали, и глобально - под балансируемым доменом. Но с концепцией эндпойнтов в кубере по ходу это не так просто сделать
G72K
я может чего-то не вижу, но всё как раз просто
ASTASHOFF
я знаю что это тупой дизайн и неправильно, но вот так...
ASTASHOFF
как? я просто уже долго копаюсь и понять не могу)
G72K
apiVersion: extensions/v1beta1
kind: Ingress
spec:
rules:
-
host: "global.domain.net"
http:
paths:
-
backend:
serviceName: allBackendsService
servicePort: 8888
-
host: "backend-1.domain.net"
http:
paths:
-
backend:
serviceName: backend-1
servicePort: 8888
ASTASHOFF
а в allBackendsService мне надо еще один нжинкс запихать который будет разбрасывать между backend-{1,2} ?
G72K
нет
G72K
это просто сервис у кого в селекторе выбираются backend-1 и backend-2
ASTASHOFF
гм, щас буду гуглить, спасибо, об этом я не думал