Михаил
ты же не используешь "пять бинарей" на проде?
как раз таки использую) в случае куба просто обвязал своими плейбуками
Михаил
ну да, рпм туда, рпм сюда
вооо, есть дока почитать?)
Vadim
Так ты хочешь чтобы я плейбук написал, но не редхатовский?
Михаил
Так ты хочешь чтобы я плейбук написал, но не редхатовский?
я хочу сам написать плейбук для OpenShift, но не хочу читать твой, что бы понимать как ставится)
Vadim
Я поддерживаю тебя в этом желании, посылаю позитивную энергию
Михаил
Я поддерживаю тебя в этом желании, посылаю позитивную энергию
поддержи материально опиши how to по установке OpenShift без ansible)
Vadim
oc cluster up
Михаил
зойчем вы меня троллите?
Vadim
Не знаю чего ты хочешь от меня услышать, вместо того чтобы прочесть немного голанговского кода
Vadim
А для "прода" там всего ничего - проверить пререквизиты, поставить сервисы в конейтнеры (если указана установка через system containers) сгенерить конфиги, сертификаты, подготовить service файлы, поставить etcd, запустить его, поставить рпмки (если это containerized), выкачать контейнеры (если containerized), стартануть по очереди мастеры, стартануть ноды, установить сервисы (роутер, регистри), подождать пока они поднимутся, установить опциональные сервисы (веб консоль)
Vadim
теперь апдейты
Nikita
Привет! Скажите, чего нужно подкрутить и добавить чтобы kubernetes начал корректно выдавать сервисам external ip адреса? Установка типа bare metal.
Nikita
kubectl говорит external-ip pending
Anton
разве за назначение external ip не админ отвечает?
Nikita
разве за назначение external ip не админ отвечает?
Может быть, я не могу это пока понять. Но должен же как-то настраиваться проброс портов в кластере автоматический
Anton
https://kubernetes.io/docs/concepts/services-networking/service/#external-ips что то такое хочешь достигнуть?
Anton
тоесть на одной из нод у тебя есть этот самый external ip
Anton
так?
Nikita
тоесть на одной из нод у тебя есть этот самый external ip
У меня одна самостоятельная мастер/миньон нода пока, для упрощения этого всего.
Anton
так на этой ноде есть externalIP?
Nikita
так на этой ноде есть externalIP?
Да, считая externalIP это ip адрес ноды в моей private локальной сети. Ну это в общем-то должно быть без разницы
Anton
и describe для service показывает pending? а describe для ноды показывает нужный адрес при этом?
Nikita
Хм, describe для ноды действительно показывает pending, а для ноды externalIP я не нашел, вот выдержка адресов, например: Addresses: InternalIP: 192.168.178.151 Hostname: cloud.local
Nikita
internalIP это в общем-то нужный мне externalIp
Anton
запость yaml, я не знаю, мож service не может зацепится за поды внутри
Anton
давай все на pastebin
Nikita
давай все на pastebin
это yaml сервиса, мне его dashboard сгенерил: https://paste.fedoraproject.org/paste/E7GQVJhmi0WOHz~H25yESA
Anton
type": "LoadBalancer"
Anton
смущает немного
Nikita
По идее load-balancer должен же мапить один адрес:порт на запущенные поды?
Anton
по идее. но этот тип опирается на инфраструктуру хостера
Anton
почитайте про типы service
Nikita
Да, если ставить ClusterIP, то работает если запрашивать его локально курлом, но это же получается нечто вроде internal service
Anton
ок, мы начали с externalIP же
Vadim
Да, считая externalIP это ip адрес ноды в моей private локальной сети. Ну это в общем-то должно быть без разницы
для externalIP тебе нужна другая подсеть, раз k8s уже использует 192. для внутренней коммуникации
Nikita
для externalIP тебе нужна другая подсеть, раз k8s уже использует 192. для внутренней коммуникации
Внутренняя коммуникация вроде в другой подсети как раз, 10.254.0.0/16
Vadim
Внутренняя коммуникация вроде в другой подсети как раз, 10.254.0.0/16
это виртуальная сеть же, для подов, а ноды коннектятся по 192, насколько я понял
Vadim
в результате куб не дает тебе внешнего, потому что оно считает его внутренним
Nikita
это виртуальная сеть же, для подов, а ноды коннектятся по 192, насколько я понял
Этот момент нужно тоже поковырять, сейчас сеть подов у меня 172.16., интерфейс docker0 (это нормально?) сеть кластера 10.254., flanneld подхватил это автоматически и создал на ноде интерфейс flannel.1
Nikita
угу, а как ты ноду присоединяешь? Какой ip там указан?
Так, это интересно, там хостнейм cloud.local который резолвится в 192.168
Vadim
раз у тебя all-in-one, попробуй поменять этот адрес на 127.0.0.1, например, возможно это поможет
bebebe
в любой не понятной ситуаций, меняй ойпи на лупбек
Nikita
раз у тебя all-in-one, попробуй поменять этот адрес на 127.0.0.1, например, возможно это поможет
Поменял, все пересоздалось, internalIP у ноды пропал. Но доступа извне так и нет
Nikita
вообще пропал или поменялся?
Пропал, Ready True Tue, 06 Feb 2018 11:33:50 +0100 Tue, 06 Feb 2018 11:26:39 +0100 KubeletReady kubelet is posting ready status Addresses: Capacity: cpu:
Vadim
видать не прокатил трюк с лупбеком. Какие еще айпишники есть? =)
Nikita
😀 ну можно попробовать 10.254
Vadim
сильно сомневаюсь что поможет, но видимо тебе нужна нода с двумя интерфейсами для такого
Vadim
иначе токмо clusterIP
Vadim
он же все равно будет маппится на IP
Nikita
Еще странность, kube-proxy создает mapping же. Т.е. в yaml указан nodePort: 30587, и этот порт висит у ноды в 0.0.0.0:30587
Nikita
Но при этом таймаут
Nikita
Тип сервиса поменял на NodePort
Nikita
По идее вот если бы node-port сейчас бы заработал, то можно было и закончить
Maksim
Еще странность, kube-proxy создает mapping же. Т.е. в yaml указан nodePort: 30587, и этот порт висит у ноды в 0.0.0.0:30587
Нет не весит. На надох создаётся DNAT правило в iptables, окторое перекидывает запросы
Vadim
тогда совсем непонятно почему куб не дает external ip
Maksim
Даёт
Maksim
Дай get svc этого сервиса
Maksim
ну или get svc -o yaml этого сервиса
Maksim
ну а потом смотри что у тебя там в фаерволле творится
Nikita
ну или get svc -o yaml этого сервиса
https://paste.fedoraproject.org/paste/J4oquhxO2HkcIib-k7ZDOQ
Nikita
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE nginx 10.254.109.190 <nodes> 18080:30587/TCP 24m
Vadim
Тип сервиса поменял на NodePort
ну так он у тебя будет на другом порту совсем, с нодпортом всегда можно
Maksim
по кластер ip оно отвечает?
Maksim
и по кластер ip ?
Maksim
а по nodeIP:30587 ?
Nikita
а по nodeIP:30587 ?
вот тут timeout
Maksim
тогда изучай iptables