В наши дни в моде сервисные сетки, и, поскольку это происходит в технологической отрасли, почему бы не принять для этого соглашение?
«ServiceMeshCon — это независимая от поставщиков конференция по технологиям сервисных сеток, в которой участвуют специалисты по сопровождению различных проектов сервисных сеток, а также демонстрируются уроки, извлеченные из запуска сервисных сеток в производственной среде». — linuxfoundation.org
В этой статье будут обобщены слайды и презентации спикеров на ServiceMeshCon утром; это не должно быть всеобъемлющим, а вместо этого побуждает к дальнейшим размышлениям. Для тех, кто лично присутствовал в Сан-Диего в понедельник, 18 ноября, это может послужить кратким обзором.
Если видео будут опубликованы позже, я обновлю эту статью ссылками на них. Будет много контента, для которого эта статья не может быть справедлива, поэтому я рекомендую проверить их, когда они будут выпущены.
Следите за новостями об дневном сеансе, который я опубликую.
Лин Сун, IBM: вступительные заявления
- Google Trends для service mesh за последние 5 лет вырос
- 19 мая был пик — что было важного в этот день? Что ж, это был KubeCon Europe 2019! Надеюсь, после KubeCon San Diego 2019 будет еще один всплеск.
Уильям Морган, Buoyant: сессия, спонсируемая Buoyant
- Создатель Linkerd
- Сервисная сетка позволяет людям работать вместе для достижения общей цели
- Dive — развертывание k8s — автоматически отслеживает развертывание
- Событие «Места погружения» на глобальной временной шкале
- Погружение можно использовать для определения политик
Ана Калин, Paybase и Риша Марс, Buoyant: В моей сервисной сетке ошибка! Что вы делаете, когда инструмент, на который вы полагаетесь, является причиной?
- OSS: НЕ пользователи и сопровождающие, а пользователи И сопровождающие
- Пользователи и сопровождающие должны иметь симбиотические отношения; Калин сравнил это с симбиотическими отношениями между грибом и деревом.
- Подчеркнутая важность подробных отчетов об ошибках + шаблонов
- Демонстрация усилий и того, что вы пытались, скорее всего, хорошо отразится на вас в глазах сопровождающих.
«Быть хорошим — это хорошо».
Платежная база
- Платежная форма на основе API
- В2В; строго регулируемый
- Использует Линкерд
- 80% ОСС; 100% на к8с
- 50+ микросервисов
- Балансировка нагрузки gRPC для масштабируемости
- Распределенная трассировка
Грег Хэнсон, IBM App Connect: Путь IBM App Connect к Istio
- App Connect использует Istio около года.
- 150+ микросервисов
Болевые точки
- Найдена стабильность в версии 1.1; до этого много нестабильности с более ранними версиями Istio
- Время запуска пода
- Не удалось выполнить некоторые первоначальные подключения
- Повторной попытки иногда не получалось
- При сбое некоторые поды не падали
Будущее/дорожная карта
- Включите больше возможностей плоскости управления Istio
- Обновление до последней версии
- Принять модель оператора для установки
- Маршрутизация с учетом локали
- Введение ошибок
- Отключить компоненты, которые не используются
- Планирование входного решения: вы продолжаете использовать существующее входное решение или используете входной шлюз Istio?
- Убедитесь, что вы применяете передовые облачные практики
- Контролируйте выход, где это возможно
- Спланируйте, как вы будете обрабатывать обновления для Istio
Это просто работает
- Как только App Connect заставит Istio работать, связь будет работать только внутри сетки.
Fuyuan Bie & Zhimeng Shi, Pinterest: Плоскость управления для большой сетки в гетерогенной среде
Задача № 1: Унификация и согласованность
- Платформы, языки программирования, наблюдаемость: хочу, чтобы они были унифицированы
- Та же конфигурация приводит к тому же поведению: согласованность
Задача № 2: Безопасность и скорость
Задача № 3: Безопасность
Задача № 4: Разделение ответственности
- Инфраструктура: трафик, сервисные фреймворки, сервисная сетка
- Безопасность: секреты, аутентификация, авторизация, аудит
- Владелец сервиса: маршрутизация, повтор, ограничение скорости
посланник
- Первый вариант использования был на грани
- Начал с Envoy плюс конфигурационные файлы cDS
Решения по безопасности
- Кроссплатформенные решения для подключения
- Плоскость централизованного управления
- Полностью связать все сервисы
Башня — их доморощенный самолет управления
- Встроенный Голанг
- go-control-plane доставляет cDS v2 на последней миле
- Zookeeper как хранилище и для обмена сообщениями
- без гражданства
- Модель производитель/потребитель
- Магазин ресурсов на основе акторов
- gRPC потоковая передача дельта-изменений
Маяк (на хост-агенте)
- Данные без сохранения состояния и зеркальные данные из Tower
- Модель подписки
- Снимок локального диска
- Кэш xDS
Миграция — ключ к успеху
- Решайте проблемы! Людей, естественно, беспокоят большие перемены, особенно большие.
- Помогите им обрести уверенность
- Планируйте! Запланированные миграции еще впереди, включая обнаружение и регистрацию служб.
- Сотрудничество! Вовлекайте заинтересованные стороны на раннем этапе: технические переговоры, прототипирование, проектирование, проверка готовности производства
Свен Моусон, Google Cloud: как Google управляет Sidecars для миллионов контейнеров, ничего не ломая (много)
Почему коляска?
Продолжающееся расхождение в зависимости от языка
- Настройки по умолчанию
- Ошибки (совместимость между ошибками)
- Профили производительности
Трудности с внедрением изменений в масштабах всего парка
- Сколько процессов содержит ошибку X?
- Перестроить, переквалифицировать, повторно развернуть
- А если это критическое исправление?
Включение коляски страшно!
- Настоятельно рекомендуем модель opt-in для тех, кто хочет что-то получить
- Новые языки (например, Golang) и новые функции могут быть привлекательными.
«Основным недостатком сервисных сеток является задержка».
Сделай быстро, сделай дешево!
- Потратил много времени и денег на скорость — по сути, никогда не переставал инвестировать в повышение производительности.
- Умножьте сокращение задержки на количество прыжков
- Умножьте экономию ресурсов на количество колясок
Общие советы
- Предупредите своих пользователей
- Не торопитесь — по умолчанию включите медленно. Делайте это кластер за кластером и задание за заданием.
- Сделайте отказ действительно простым
- Будь проще!
Обновление тоже страшно
- Два трека: dev (еженедельно) и стабильный (ежемесячно)
Избегайте изменений в поведении по умолчанию
- Динамическая загрузка функций по запросу
- Защитите новые функции с помощью подписки и отказа
- Будьте особенно осторожны с любыми новыми связями
«Любое изменение опасно».
Даниэль Берг, IBM: существенное улучшение UX и развертывание Canary на основе аналитики с помощью Istio
- Istio — без регулярного каденса
- В Istio 1.4 появился новый оператор
- Новый ресурс плоскости управления Istio
- Несколько улучшений UX сообщества
- Дал обзор некоторых новых функций в Istio
Алехандро Педраса, Buoyant: сотрудничество важно для веб-перехватчиков доступа в сервисных сетках
- Делал обзор рабочего процесса приема до 1.15
Проблема с жизненным циклом колясок
- Когда модуль отключается, прокси-сервер может уже исчезнуть.
- 1.18: жизненный цикл.тип: Коляска
- крюк preStop в коляске
- Прошел краткую живую демонстрацию
Джон Джойс, Cisco: Введение в сетку сетевых служб (NSM) и ее связь с сеткой служб
Что такое сетка сетевых служб?
- Проект песочницы CNCF
- Новый подход к решению сложных сценариев использования L2/L3 в Kubernetes.
- Основная цель — предоставить возможность вставлять сетевые функции между рабочими нагрузками облачным способом.
Что такое ценностное предложение NSM?
- Предоставляет платформу, позволяющую разработчику запрашивать сложную сеть с помощью простых аннотаций.
Люк Кайсоу, HashiCorp: подключение и миграция разнородных приложений с помощью Consul Service Mesh
Что такое Консул?
- Инструмент от HashiCorp
- Всегда сосредоточен на регистрации сервисов, знании их местонахождения и их IP-адресов.
- Прошел краткую демонстрацию
И вот оно! Это было прекрасное утро, полное полезной информации о сервисных сетках. Спасибо всем, кто помог организовать, и всем, кто выступил с презентациями, и еще раз, следите за новостями послеобеденной сессии!