Ответы пользователя по тегу Kubernetes
  • Как использовать istio virtualservice внутри кластера вне mesh сети?

    @MadridianFox
    Web-программист, многостаночник
    Istio не влияет на работу класткрного dns. Обращаясь к нему вы получаете ip подов и всё работает по старому.
    Чтобы трафик шёл через меш, istio добавляет в под init контейнер, который через iptables захватывает весь исходящий трафик и направляет его в сайдкар.

    По хорошему внешние сервисы должны обращаться к внутренним через ingress, который, будучи таким же подом как и все другие, исходящий трафик шлёт уже через меш.
    Если нужно чтобы обращения были по внутренним доменам, то можно давать ингресам такие домены, а на стороне внешнего сервиса поиграться с dns.

    Другой вариант - поднять на стороне внешнего сервиса агент istio - тот же сервис, который работает в сайдкар. Вот официальная документация как раз для такого случая https://istio.io/latest/docs/setup/install/virtual...
    Ответ написан
  • Как автоматически выдавать регион и id?

    @MadridianFox
    Web-программист, многостаночник
    Кубернетис нужен как раз для того чтобы приложения не знали ничего о машинах. Это платформа, которая скрывает детали реализации и даёт вам абстрактные рычаги управления.
    Если вам важно запускать приложение на особенных машинах, то надо пометить машины тэгом и настроить правила выбора машины через affinity/tolerations/nodeSelector.
    Например так можно настроить чтобы приложение запускалось только на машинах с gpu, или только на машинах в конкретном ДЦ.
    Здесь важно что вы не выясняете подходит ли вам текущая машина, а требуете чтобы приложение было запущено на подходящей.

    Есть, однако, и возможность передать в под информацию о нем самом в виде env переменных. Это называется downward api - при объявлении env переменной в манифесте пода можно указать что значением будет характеристика самого пода, например значение указанного лейбла, название неймспейса, или, как вариант, название ноды, на которой запущен под.
    Ответ написан
    Комментировать
  • Kubernetes: не получается добавить custom service-monitor?

    @MadridianFox
    Web-программист, многостаночник
    Prometheus-operator следит за созданием сервисмониторов в определённых неймспейсах, и фильтрует сервисмониторы по лейблам.
    Соответственно, вам необходимо посмотреть в манифесте прометеуса, какие значения там выставлены, и создать свой сервисмонитор с соответсвующем неймспейсе с необходимыми лейблами.
    Ответ написан
    2 комментария
  • Как сделать readinessProbe по тексту файла?

    @MadridianFox
    Web-программист, многостаночник
    Как уже написали в соседнем ответе вы можете обойтись одним только grep, однако ваша ошибка в другом.
    Во-первых, вы используете возможности shell, там где его нет. Пайп это специальная команда, которая есть в sh и bash. А хелсчек exec вызывает программы напрямую.
    Во-вторых, command это массив аргументов запуска. Каждая опция, каждый аргумент должен быть отдельным элементом массива, а вы просто дописали всё во второй элемент и оно распознаётся как один большой аргумент cat.

    Делайте греп и помещайте каждую опцию в отдельный элемент списка.
    Ответ написан
    Комментировать
  • Не могу разобраться с kubectl --insecure-skip-tls-verify, выдает что No resources found in default namespace?

    @MadridianFox
    Web-программист, многостаночник
    Сообщение "No resources found in default namespace" означает, что вы успешно запросили у кубера список ресурсов, и он ответил, что неймспейсе default никаких ресурсов нет. Это нормальная ситуация.
    Ответ написан
    Комментировать
  • В чем разница kubectl run и kubectl create deployment?

    @MadridianFox
    Web-программист, многостаночник
    команда run запускает один под
    а create deployment создаёт деплоймент, который в свою очередь создаёт под
    Ответ написан