В работе будет рассмотрено программное обеспечение с открытым исходным кодом – проект Network Service Mesh, разрабатываемый компанией Cisco при содействии Red Hat, Huawei, Intel, Vmware. Данный проект расширяет сетевые возможности программного обеспечения Kubernetes, а именно позволяет динамически конфигурировать и создавать сетевые интерфейсы между несколькими POD. Классический случай установки соединения является случаем, когда клиентский и конечный POD находятся на одном узле. Также POD могут находиться на разных узлах.
В данной работе были проверены сценарии установки соединений между POD, находящимися на разных узлах, а также были проверены сценарии, когда один или несколько из ключевых компонентов инфраструктуры выходил из строя.
Под отказоустойчивостью в данной работе понимается, что система сохраняет работоспособность при отказе одного или нескольких основных компонентов инфраструктуры NSM. В инфраструктуру NSM входят следующие компоненты: сервисный менеджер (NSM), агент пересылки (Forwarder), а также вспомогательные контейнеры для сервисного менеджера, такие как клиент к реестру Kubernetes (nsmd-k8s), клиент для плагина устройств (nsmdp).
Исследование отказоустойчивости показало, что проект поддерживает 7 из 9 проверенных сценариев. Было обнаружено, что в данный момент отсутствует решение для проблемы, когда unix сокет файлы, используемые для коммуникации между компонентами, повреждаются и система не способна обнаружить эту неполадку, что приводит к ее неработоспособности. Также было обнаружено, что система не в состоянии оповестить клиента о падении в случае, когда все ключевые компоненты, кроме клиента и конечной точки, вышли из строя. Было предложено использовать мониторинг для решения данных проблем.
1. Network Service Mesh. The Hybrid/Multi-cloud IP Service Mesh: website. – URL: https://networkservicemesh.io/ (accessed: 18.12.2019).
2. Лукша М. Kubernetes в действии. – М.: ДМК Пресс, 2018. – 672 с.
3. Стивенс У.Р., Раго С.А. UNIX. Профессиональное программирование. – 3-е изд. – СПб.: Питер, 2018. – 944 с.
4. Зелигер Н.Б., Чугреев О.С., Яновский Г.Г. Проектирование сетей и систем передачи дискретных сообщений. – М.: Радио и связь, 2015. – 176 c.
5. Кульгин М. Технологии корпоративных сетей. – СПб.: Питер, 2019. – 704 с.
6. Рэтлифф Б., Баллард Д. Microsoft Internet security and acceleration (ISA) server 2004: справочник администратора. – М.: Русская редакция, 2017. – 400 c.
7. Спортак М.А., Паппас Ф.Ч., Рензинг Э. Компьютерные сети. Кн. 1. High-Perfomance Networking. – М.: ДиаСофт, 2016. – 432 с.
8. Столлингс В. Современные компьютерные сети. – СПб.: Питер, 2017. – 783 с.
9. Цвики Э., Купер С., Чапмен Б. Создание защиты в интернете. – 2-е изд. – М.; СПб.: Символ-Плюс, 2019. – 928 с.
10. Щербо В.К., Киреичев В.М., Самойленко С.И. Стандарты по локальным вычислительным сетям. – М.: Радио и связь, 2015. – 304 с.
11. Applegate I. How process isolation became viable for production deployment. – URL: http://containerjournal.com/2016/02/11/how-process-isolation-became-viable-for-production-deployment/ (accessed: 18.12.2019)
12. Grant B. Kubernetes design and architecture. – URL: https://github.com/kubernetes/community/blob/master/contributors/design-proposals/architecture/architecture.md (accessed: 18.12.2019).
13. Open Container Initiative. Runtime Specification. – URL: https://github.com/opencontainers/runtime-spec (accessed: 18.12.2019).
14. Turnbull J. The Docker Book. – URL: https://dockerbook.com/ (accessed: 18.12.2019).
15. Официальная документация по Kubernetes. – URL: https://kubernetes.io/ (дата обращения: 18.12.2019).
16. Open Container Initiative. Image Specification. – URL: https://github.com/opencontainers/image-spec (accessed: 18.12.2019).
Комиссаров В.В., Тингайкин Д.О. Исследование отказоустойчивости инфраструктуры NSM // Сборник научных трудов НГТУ. – 2019. – № 3–4 (96). – С. 106–121. DOI: 10.17212/2307-6879-2019-3-4-106-121.
Komissarov V.V., Tingajkin D.O. Issledovanie otkazoustoichivosti infrastruktury NSM [Investigation of the fault tolerance of the NSM infrastructure]. Sbornik nauchnykh trudov Novosibirskogo gosudarstvennogo tekhnicheskogo universiteta – Transaction of scientific papers of the Novosibirsk state technical university, 2019, no. 3–4 (96), pp. 106–121. DOI: 10.17212/2307-6879-2019-3-4-106-121.