Size: a a a

Kubernetes — русскоговорящее сообщество

2020 November 29

V

Vladislav in Kubernetes — русскоговорящее сообщество
Развернул EKS Кластер.
Получилось так что одна пода core-dns в публичной сети, другоя в частной. Также бывает с другими подами и в реузульте один сервис может не видеть другой по имени...

Подскажите как должно быть по уму ?

Что держать в публичных подсетях, что в приватных ?
источник

ES

Evgeny Smirnov in Kubernetes — русскоговорящее сообщество
Vladislav
Развернул EKS Кластер.
Получилось так что одна пода core-dns в публичной сети, другоя в частной. Также бывает с другими подами и в реузульте один сервис может не видеть другой по имени...

Подскажите как должно быть по уму ?

Что держать в публичных подсетях, что в приватных ?
По уму не должно быть нод в паблик сетях. Но даже если есть - к подам на машинах из разных сетей должно быть можно обращаться по имени сервиса.
источник

V

Vladislav in Kubernetes — русскоговорящее сообщество
Evgeny Smirnov
По уму не должно быть нод в паблик сетях. Но даже если есть - к подам на машинах из разных сетей должно быть можно обращаться по имени сервиса.
Можно диаграмму - как должно быть ?
источник

IG

Iskander Gaifullin in Kubernetes — русскоговорящее сообщество
Vladislav
Можно диаграмму - как должно быть ?
расшарь доступ ему просто - сейчас он кофе допьёт, настроит как надо
источник

ES

Evgeny Smirnov in Kubernetes — русскоговорящее сообщество
Vladislav
Можно диаграмму - как должно быть ?
Это же зависит от конкретного кейса. Например в простом случае, если нужен только http/https в паблике, в паблик сети лоадбалансер. Все ноды в private.
источник

BD

Banschikov Denis in Kubernetes — русскоговорящее сообщество
Evgeny Smirnov
Это же зависит от конкретного кейса. Например в простом случае, если нужен только http/https в паблике, в паблик сети лоадбалансер. Все ноды в private.
+
источник

A

Alex in Kubernetes — русскоговорящее сообщество
Всем привет! Нужен совет знатоков:
развернул локально для тестов в minikube deployment с одним-единственным подом,локально же собранным docker образом. Если запустить его отдельно как Pod и сделать
kubectl port-forward myapp 8080
, то до него можно достучаться при помощи
curl 127.0.0.1:8080
. Вопрос в том, как можно добиться похожего поведения, чтобы можно было при помощи curl с локальной машины достучаться до deployment, используя service к нему?
источник

S

Solyar in Kubernetes — русскоговорящее сообщество
Alex
Всем привет! Нужен совет знатоков:
развернул локально для тестов в minikube deployment с одним-единственным подом,локально же собранным docker образом. Если запустить его отдельно как Pod и сделать
kubectl port-forward myapp 8080
, то до него можно достучаться при помощи
curl 127.0.0.1:8080
. Вопрос в том, как можно добиться похожего поведения, чтобы можно было при помощи curl с локальной машины достучаться до deployment, используя service к нему?
Хочется отправить читать документацию но одновременно хочется помочь :(
источник

A

Alex in Kubernetes — русскоговорящее сообщество
Я уже второй день гуляю по докам и stackoverflow, но пока безрезультатно, т.к. большая часть статей про развертывание в облаках, а не в minikube локально 🙁 Понимаю, вопрос тривиальный, но поначалу очень тяжко во все это въехать
источник

S

Solyar in Kubernetes — русскоговорящее сообщество
Alex
Всем привет! Нужен совет знатоков:
развернул локально для тестов в minikube deployment с одним-единственным подом,локально же собранным docker образом. Если запустить его отдельно как Pod и сделать
kubectl port-forward myapp 8080
, то до него можно достучаться при помощи
curl 127.0.0.1:8080
. Вопрос в том, как можно добиться похожего поведения, чтобы можно было при помощи curl с локальной машины достучаться до deployment, используя service к нему?
В деплойменте и сервисе есть лейблы по которым матчится приложение. Если сервис у которого в блоке selector находит лейблы деплоймента то он будет форвардить трафик на него
источник

A

Alex in Kubernetes — русскоговорящее сообщество
Ага, понял! А как определить, по какому адресу стучаться?
kubectl get services
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP          19h
myapp-svc   NodePort    10.97.207.141   <none>        8080:30018/TCP   12m

Выглядит, будто сервис наружу не смотрит
источник

z

z̛e͏́͠r͜c҉ in Kubernetes — русскоговорящее сообщество
Vladislav
Развернул EKS Кластер.
Получилось так что одна пода core-dns в публичной сети, другоя в частной. Также бывает с другими подами и в реузульте один сервис может не видеть другой по имени...

Подскажите как должно быть по уму ?

Что держать в публичных подсетях, что в приватных ?
А ты как разворачивал ? eksctl или в интерфейсе ?
источник

S

Solyar in Kubernetes — русскоговорящее сообщество
Alex
Ага, понял! А как определить, по какому адресу стучаться?
kubectl get services
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP          19h
myapp-svc   NodePort    10.97.207.141   <none>        8080:30018/TCP   12m

Выглядит, будто сервис наружу не смотрит
Смотрит, там написано NodePort. Если нет балансера это единственный способ прокинуть во вне кластера сервис
источник

S

Solyar in Kubernetes — русскоговорящее сообщество
В вашем случае это адрес 127.0.0.1:30018
источник

VS

Vasilyev Sergey in Kubernetes — русскоговорящее сообщество
Alex
Ага, понял! А как определить, по какому адресу стучаться?
kubectl get services
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP          19h
myapp-svc   NodePort    10.97.207.141   <none>        8080:30018/TCP   12m

Выглядит, будто сервис наружу не смотрит
А у вас ендроинты в сервисе есть?
k get ep
источник

A

Alex in Kubernetes — русскоговорящее сообщество
Vasilyev Sergey
А у вас ендроинты в сервисе есть?
k get ep
kubectl get ep                                             
NAME         ENDPOINTS           AGE
kubernetes   192.168.49.2:8443   19h
myapp-svc   172.17.0.3:8080     16m
источник

A

Alex in Kubernetes — русскоговорящее сообщество
Да, есть, крайний
источник

A

Alex in Kubernetes — русскоговорящее сообщество
Solyar
В вашем случае это адрес 127.0.0.1:30018
Спасибо! Видимо, у меня где-то еще проблема, т.к. туда запросы не проходят
источник

VS

Vasilyev Sergey in Kubernetes — русскоговорящее сообщество
Так. Миникуб это же виртуалка. НодеПорт - это порт открытый на интерфейсе виртуалки. Какой у виртуалки ойпи?
источник

DS

Dmitry Sergeev in Kubernetes — русскоговорящее сообщество
Alex
Ага, понял! А как определить, по какому адресу стучаться?
kubectl get services
NAME         TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
kubernetes   ClusterIP   10.96.0.1       <none>        443/TCP          19h
myapp-svc   NodePort    10.97.207.141   <none>        8080:30018/TCP   12m

Выглядит, будто сервис наружу не смотрит
в minikube вроде как есть встроенный ingress controller (L7 балансировщик) . Можете через него ходить в ваше приложение
источник