Maksim
потому что ip пода реален и работает по всем правила OSI
𝚔𝚟𝚊𝚙𝚜
да, в целом логично
𝚔𝚟𝚊𝚙𝚜
отлично, но по моему telnetom на kube-dns у меня тоже не работало, сейчас попробую еше раз
Maksim
там же делается overlay сеть с маршрутизаций и всей другой мишурой
Maksim
мм ну я лупил nslookup по kube-dns и всё работало
Maksim
я получал резолвы
𝚔𝚟𝚊𝚙𝚜
с ноды?
Maksim
да
𝚔𝚟𝚊𝚙𝚜
значит у меня что-то пошло не так :)
Maksim
nslookup kubernetes.default.svc.cluster.local <ip dns svc>
Maksim
и получал ip этого самого сервиса
Maksim
Именно для этого ExternalIP и существует
Maksim
ты пишешь внешний ip ноды и с ней трафик начинает ходит в поды
𝚔𝚟𝚊𝚙𝚜
отсюда еще вопрос, объясните в чем отличие типов сервисов NodePort от ClusterIP?
Ведь и там и там можно присобачить ExternalIP и port/targetPort и получать ответ от подов при запросе на эти порты снаружи
𝚔𝚟𝚊𝚙𝚜
читал что clusterip сервисы используются только для организации доступа внутри кластера, а NodePort что бы выкидывать наружу.
Но ведь по сути оба типа работают одинаково
G72K
𝚔𝚟𝚊𝚙𝚜
добавьте @ratememyfriendbot в чат, буду плюсики раздавать :)
𝚔𝚟𝚊𝚙𝚜
или сделать wget/curl если это http
ты был прав, curl и правда работает, ping нет, но и не должен, но моя проблема оказалось в другом:
# kubectl describe endpoints kube-dns -n kube-system
Name: kube-dns
Namespace: kube-system
Labels: k8s-app=kube-dns
kubernetes.io/cluster-service=true
kubernetes.io/name=KubeDNS
Annotations: <none>
Subsets:
Addresses: <none>
NotReadyAddresses: 172.16.6.4
Ports:
Name Port Protocol
---- ---- --------
dns 53 UDP
dns-tcp 53 TCP
Events: <none>
𝚔𝚟𝚊𝚙𝚜
и оно никак не хочет этот адрес переводить из NotReadyAddresses в Addresses
𝚔𝚟𝚊𝚙𝚜
разобрался, я какой-то кривой dns запустил и он не мог получить доступ к kubernetes-api-server.
Развернул новый kubernetes и скопировал конфиг для dns оттуда, заработало :)
Anonymous
это нормально, что kubespray уже второй затыкается на каком-то шаге (сначала ectd, теперь мастер) из-за того, что нода не отвечает?
G72K
это нормально, что у вас важная нода не отвечает? :)
bebebe
Anonymous
bebebe
bebebe
ради эксперимента укажи flannel
bebebe
kube_network_plugin: "flannel"
dns_mode: kubedns
bebebe
у меня с calico были проблемы на aws и на digital ocean
bebebe
впрочем я их поборол, но на вскидку сейчас не вспомню как
Anonymous
Anonymous
а нормально же просто перезапускать kubespray, он там откатит предыдущие изменения?
в принципе он скипит некоторые шаги, что подсказывает, что скорее всего они это предусмотрели
bebebe
Rustam
Ещё есть репа с терраформом для поднятия кубера: https://github.com/hobby-kube/guide
Поддерживаются scaleway и DO + ещё в днс умеет прописывать хосты
Rustam
Там vpn между нодами поднимается, который в kernel space работает )
Anonymous
Anonymous
к слову мастер-нода до сих пор не отвечает, прям хз что с этим делать мда
сетка теперь flannel
bebebe
bebebe
А на чем падает
Anonymous
bebebe
Еба
bebebe
Я знаю в чем проблема
Anonymous
ого!
bebebe
Сек
bebebe
вангую что у тебя на интерфейсах левые ойпи адреса которые твой клауд провайдер натит
bebebe
покажи мне с одной ноды ip a show куда-нибудь в приват через hastebin.com
Роман
Скажите, а конфигмап - это только ключ=значение? Можно как-то для ключа сделать значение, равное нескольким строкам?
Maksim
мм я туда несколько файлов с конфигам запихивал)
Maksim
Целую папку так сказать
Denis
Denis
kind: ConfigMap
apiVersion: v1
metadata:
name: foo
data:
foo.xml: |-
<configuration>
<foo>
</foo>
</configuration>
Eugene
Ключём может быть nginx.conf а значением все содержимое
Роман
Круто. Спасибо. Я вроде пробовал что-то подобное с утра, но не вышло. Может не то делал. Сейчас гляну файлы...
Maksim
kubectl create cm test —from-file=test.txt
Volodymyr
$ kubectl -n dev exec -ti console — redis-cli -h redis-sentinel -p 26379 sentinel get-master-addr-by-name mymaster | head -1
1) "100.96.5.5"
подскажите пожалуйста, как мне запроксировать этот под что бы он был виден наружу на всех мастерах и обновлялся при смене мастера?
Maksim
всмысле при смене Мастера?
Maksim
И вообще мастер расплывчитое понятие
Volodymyr
редис-мастера
Volodymyr
хотелось бы именно мастера, а не всех redis pods...
Volodymyr
там 100500 слейвов
Volodymyr
у меня просто есть приложение вне кубера и ему нужен этот редис
Eugene
Вот ещё немного подумайте и сформулируйте вопрос, а вообще юзайте dynomite
Volodymyr
За dynomite спасибо - посмотрю..
У меня есть редисы с сентинелемями в кубе, есть приложении вне куба, которому нужно писать в тот же редис что и приложениям в кубе, как проксировать именно под, который в данный момент является мастером в редисе?
Volodymyr
такая формулировка норм?
𝚔𝚟𝚊𝚙𝚜
приатачить к мастер редису отдельный label и сделать сервис с селектором этого label?
Volodymyr
а после смены мастера?
𝚔𝚟𝚊𝚙𝚜
а куб не знает кто мастер?
Volodymyr
переаттачить лейбл?
Volodymyr
нет
𝚔𝚟𝚊𝚙𝚜
если есть возможность сделать хук, который будет вызываться при смене мастера можно дергать api и менять лейбл у нужного пода
𝚔𝚟𝚊𝚙𝚜
но это в теории)
Volodymyr
а как мне из пода постучаться в api?
Etki
но в целом запускать ha-кластер redis это немножко беда
Volodymyr
ну, а если нужно, что делать?
Logan
Volodymyr
ну там почти