dodocli

Команда: traffic 🚥

Использование

dodo app traffic [command]

Доступные команды:

Доступные параметры:

Как работает

Данный код управляет ресурсами Dodoappservice, выставляя опцию disableTraffic в true или false.

{
  "apiVersion": "k8s.paas.dodois.io/v1",
  "kind": "DodoAppService",
  "metadata": {
    "name": "auth"
  },
  "spec": {
    "workloads": {
      "deployments": {
        "web": {
          "publicIngress": {
            "disableTraffic": true,
            "hosts": {
              "app-sre.d.yandex.dodois.dev": [
                "/"
              ]
            }
          }
        }
      }
    }
  }
}

Оператор при обнаружении этой опции добавляет в аннотацию nginx.ingress.kubernetes.io/server-snippet в ingress, которая возвращает HTTP статус код 503 при открытии любой страницы, не передавая траффик на под сервиса: location ~* ^/ { deny all; return 503; }. Обрабатывает запросы в этом случае ingress controller, трафик не доходит до подов.

Примеры

Разберем управление трафиком на примере, где namespace будет sre и приложение будет auth.

Включить трафик

Выключить трафик

Посмотреть текущее состояние трафика