[DevOps, Kubernetes, Серверное администрирование, Системное администрирование] Доступен NGINX Service Mesh (перевод)
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Мы рады представить предварительную версию NGINX Service Mesh (NSM), связанную легковесную service mesh, использующую data plane на основе NGINX Plus для управления трафиком контейнеров в окружениях Kubernetes.
NSM можно бесплатно скачать здесь. Мы надеемся, что вы попробуете его использовать для dev и test окружений — и ждем ваших отзывов на GitHub.
Внедрение методологии микросервисов сопряжено с трудностями при росте масштабов поставок, а также их усложнения. Связь между сервисами усложняется, проблемы с отладкой делаются труднее, все больше сервисов требует больше ресурсов для управления.
NSM решает эти проблемы, предоставляя вам в первую очередь:
- Безопасность, которая сейчас важнее чем когда-либо. Утечка данных может стоить компании миллионы долларов ежегодно в виде потерь доходов и репутации. NSM обеспечивает шифрование всех соединений с помощью mTLS — так что чувствительных данных, которые могут украсть взломщики по сети, просто нет. Контроль доступа позволяет вам задать политики, как сервисы будут общаться с другими сервисами.
- Управление трафиком. При поставке новой версии приложения вы возможно захотите для начала ограничить ему входящий трафик на случай ошибки. С помощью интеллектуального управления трафиком контейнеров от NSM вы можете задать политику ограничения трафика новым сервисам, которая будет наращивать трафик с течением времени. Другие функции, например ограничение скорости и circuit breakers дают вам полный доступ к управлению прохождения трафика всем вашим сервисам.
- Визуализация. Управление тысячами сервисов может быть кошмаром отладки и визуализации. NSM помогает справиться с такой ситуацией с помощью встроенной панели управления Grafana, на которой отображаются все характеристики, доступные в NGINX Plus. А также внедренная Open Tracing позволяет детально следить за транзакциями.
- Гибридные поставки, если ваша компания, как и большинство других, не использует инфраструктуру, полностью запущенную на Kubernetes. NSM гарантирует, что старые приложения не останутся без присмотра. С помощью внедренного NGINX Kubernetes Ingress Controller старые сервисы смогут связаться с mesh сервисами, и наоборот.
NSM также обеспечивает безопасность приложений в окружениях с нулевым доверием, прозрачно применяя шифрование и аутентификацию трафика контейнеров. Также он дает возможность наблюдения и анализа транзакций, помогая быстро и точно запускать развертывания и устранять проблемы. Кроме того обеспечивается детальный контроль трафика, позволяя командам DevOps разворачивать и оптимизировать части приложений, одновременно давая возможность разработчикам создавать и легко соединять их распределенные приложения.
Как устроен NGINX Service Mesh?
NSM состоит из объединенного data plane для горизонтального (сервис-к-сервису) трафика и внедренного NGINX Plus Ingress Controller для вертикального, управляемые единым control plane.
Control plane специально разработана и оптимизирована для NGINX Plus data plane, определяет правила управления трафиком, распределенные по NGINX Plus sidecars.
В NSM sidecars proxy устанавливаются для каждого сервиса в mesh. Они взаимодействуют с следующими решениями с открытым исходным кодом:
- Grafana, визуализация параметров Prometheus, встроенная панель NSM помогает вам при работе
- Kubernetes Ingress Controllers, для управления входящим и исходящим трафиком в mesh
- SPIRE, CA для управления, распределения и обновления сертификатов в mesh
- NATS, масштабируемая система отправки сообщений, например обновления маршрутов, с control plane к sidecars
- Open Tracing, распределенная отладка (поддерживаются Zipkin и Jaeger)
- Prometheus, сбор и хранение характеристик от NGINX Plus sidecars, например число запросов, соединений и SSL handshakes.
Функции и компоненты
NGINX Plus в качестве data plane охватывает sidecar proxy (горизонтальный трафик) и Ingress controller (вертикальный), перехватывая и управляя трафиком контейнеров между сервисами. Функции включают:
- Взаимную аутентификацию TLS (mTLS)
- Балансировку нагрузки
- Отказоустойчивость
- Ограничение скорости
- Circuit breaking
- Сине-зеленые и канареечные развертывания
- Контроль доступа
Запуск NGINX Service Mesh
Для запуска NSM нужно:
- доступ к окружению Kubernetes. NGINX Service Mesh поддерживается на многих платформах Kubernetes, включая Amazon Elastic Container Service for Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere и обычные кластера Kubernetes, развернутые на "железных" серверах.
- Инструмент kubectl, установленный на машине, откуда будет устанавливаться NSM
- Доступ к пакетам выпусков NGINX Service Mesh. В пакете есть образы NSM, нужные для выгрузки в закрытую registry для контейнеров, доступную в кластере Kubernetes. Пакет также содержит nginx-meshctl, нужную для разворачивания NSM.
Для того, чтобы развернуть NSM с настройками по умолчанию, запустите следующую команду. Во время развертывания выводятся сообщения об успешной установке компонентов и, наконец, сообщение о том, что NSM работает в отдельном пространстве имен:
$ DOCKER_REGISTRY=your-Docker-registry ; MESH_VER=0.6.0 ; \
./nginx-meshctl deploy \
--nginx-mesh-api-image "${DOCKER_REGISTRY}/nginx-mesh-api:${MESH_VER}" \
--nginx-mesh-sidecar-image "${DOCKER_REGISTRY}/nginx-mesh-sidecar:${MESH_VER}" \
--nginx-mesh-init-image "${DOCKER_REGISTRY}/nginx-mesh-init:${MESH_VER}" \
--nginx-mesh-metrics-image "${DOCKER_REGISTRY}/nginx-mesh-metrics:${MESH_VER}"
Created namespace "nginx-mesh".
Created SpiffeID CRD.
Waiting for Spire pods to be running...done.
Deployed Spire.
Deployed NATS server.
Created traffic policy CRDs.
Deployed Mesh API.
Deployed Metrics API Server.
Deployed Prometheus Server nginx-mesh/prometheus-server.
Deployed Grafana nginx-mesh/grafana.
Deployed tracing server nginx-mesh/zipkin.
All resources created. Testing the connection to the Service Mesh API Server...
Connected to the NGINX Service Mesh API successfully.
NGINX Service Mesh is running.
Для получения дополнительных параметров, включая расширенные настройки, запустите эту команду:
$ nginx-meshctl deploy –h
Проверить, что control plane работает корректно в пространстве имен nginx-mesh, можно так:
$ kubectl get pods –n nginx-mesh
NAME READY STATUS RESTARTS AGE
grafana-6cc6958cd9-dccj6 1/1 Running 0 2d19h
mesh-api-6b95576c46-8npkb 1/1 Running 0 2d19h
nats-server-6d5c57f894-225qn 1/1 Running 0 2d19h
prometheus-server-65c95b788b-zkt95 1/1 Running 0 2d19h
smi-metrics-5986dfb8d5-q6gfj 1/1 Running 0 2d19h
spire-agent-5cf87 1/1 Running 0 2d19h
spire-agent-rr2tt 1/1 Running 0 2d19h
spire-agent-vwjbv 1/1 Running 0 2d19h
spire-server-0 2/2 Running 0 2d19h
zipkin-6f7cbf5467-ns6wc 1/1 Running 0 2d19h
В зависимости от параметров развертывания, устанавливающих политики ручного или автоматического инжектирования, прокси NGINX sidecars будут добавляться к приложениям по умолчанию. Для отключения автоматического добавления читайте здесь
Например если мы развернем приложение sleep в пространстве имен default, а затем проверим Pod — увидим два запущенных контейнера, приложение sleep и связанный с ним sidecar:
$ kubectl apply –f sleep.yaml
$ kubectl get pods –n default
NAME READY STATUS RESTARTS AGE
sleep-674f75ff4d-gxjf2 2/2 Running 0 5h23m
Также мы можем следаить за приложением sleep в панели NGINX Plus, запуская эту команду для получения доступа к sidecar с вашей локальной машины:
$ kubectl port-forward sleep-674f75ff4d-gxjf2 8080:8886
Затем просто заходим сюда в браузере. Вы также можете соединиться с Prometheus чтобы следить за приложением sleep.
Вы можете использовать отдельные ресурсы Kubernetes для настройки политик трафика, например контроля доступа, ограничения скорости и circuit breaking, для этого смотрите документацию
Заключение
NGINX Service Mesh бесплатно доступна для загрузки на портале F5. Попробуйте ее в работе на ваших dev и test окружениях и напишите нам о результатах.
Чтобы попробовать NGINX Plus Ingress Controller, активируйте бесплатный испытательный период на 30 дней, или свяжитесь с нами для обсуждения ваших вариантов использования.
===========
Источник:
habr.com
===========
===========
Автор оригинала: Amir Rawdat
===========Похожие новости:
- [] Retry и Circuit Breaker в Kubernetes с помощью Istio и Spring Boot (перевод)
- [Информационная безопасность, Системное администрирование, Сетевые технологии, Сетевое оборудование] FortiMail — конфигурация для быстрого запуска
- [DevOps, Kubernetes, Серверное администрирование, Системное администрирование] 11 инструментов, делающих Kubernetes лучше (перевод)
- [Управление проектами, Управление персоналом, Карьера в IT-индустрии] Осмысленность работы и эффективность
- [Системное администрирование, Анализ и проектирование систем, DIY или Сделай сам] Делаем свой телеканал
- [Управление проектами, Учебный процесс в IT, Управление персоналом, Карьера в IT-индустрии] Без эйчаров, интервью и спешки: как нанимают системных администраторов в Southbridge
- [Информационная безопасность, Системное администрирование, Сетевые технологии, Сетевое оборудование] 3. FortiAnalyzer Getting Started v6.4. Работа с логами
- [DevOps, Git, IT-инфраструктура, Open source] Вышел релиз GitLab 13.4 с хранилищем HashiCorp для переменных CI и Kubernetes Agent
- [DevOps, Облачные сервисы] Новые метрики объектных хранилищ (перевод)
- [Kubernetes, Системное администрирование] 14 октября стартует продвинутый курс по Kubernetes: последний в этом году
Теги для поиска: #_devops, #_kubernetes, #_servernoe_administrirovanie (Серверное администрирование), #_sistemnoe_administrirovanie (Системное администрирование), #_nginx, #_kubernetes, #_service_mesh, #_blog_kompanii_southbridge (
Блог компании Southbridge
), #_devops, #_kubernetes, #_servernoe_administrirovanie (
Серверное администрирование
), #_sistemnoe_administrirovanie (
Системное администрирование
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:25
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Мы рады представить предварительную версию NGINX Service Mesh (NSM), связанную легковесную service mesh, использующую data plane на основе NGINX Plus для управления трафиком контейнеров в окружениях Kubernetes. NSM можно бесплатно скачать здесь. Мы надеемся, что вы попробуете его использовать для dev и test окружений — и ждем ваших отзывов на GitHub. Внедрение методологии микросервисов сопряжено с трудностями при росте масштабов поставок, а также их усложнения. Связь между сервисами усложняется, проблемы с отладкой делаются труднее, все больше сервисов требует больше ресурсов для управления. NSM решает эти проблемы, предоставляя вам в первую очередь:
NSM также обеспечивает безопасность приложений в окружениях с нулевым доверием, прозрачно применяя шифрование и аутентификацию трафика контейнеров. Также он дает возможность наблюдения и анализа транзакций, помогая быстро и точно запускать развертывания и устранять проблемы. Кроме того обеспечивается детальный контроль трафика, позволяя командам DevOps разворачивать и оптимизировать части приложений, одновременно давая возможность разработчикам создавать и легко соединять их распределенные приложения. Как устроен NGINX Service Mesh? NSM состоит из объединенного data plane для горизонтального (сервис-к-сервису) трафика и внедренного NGINX Plus Ingress Controller для вертикального, управляемые единым control plane. Control plane специально разработана и оптимизирована для NGINX Plus data plane, определяет правила управления трафиком, распределенные по NGINX Plus sidecars. В NSM sidecars proxy устанавливаются для каждого сервиса в mesh. Они взаимодействуют с следующими решениями с открытым исходным кодом:
Функции и компоненты NGINX Plus в качестве data plane охватывает sidecar proxy (горизонтальный трафик) и Ingress controller (вертикальный), перехватывая и управляя трафиком контейнеров между сервисами. Функции включают:
Запуск NGINX Service Mesh Для запуска NSM нужно:
Для того, чтобы развернуть NSM с настройками по умолчанию, запустите следующую команду. Во время развертывания выводятся сообщения об успешной установке компонентов и, наконец, сообщение о том, что NSM работает в отдельном пространстве имен: $ DOCKER_REGISTRY=your-Docker-registry ; MESH_VER=0.6.0 ; \
./nginx-meshctl deploy \ --nginx-mesh-api-image "${DOCKER_REGISTRY}/nginx-mesh-api:${MESH_VER}" \ --nginx-mesh-sidecar-image "${DOCKER_REGISTRY}/nginx-mesh-sidecar:${MESH_VER}" \ --nginx-mesh-init-image "${DOCKER_REGISTRY}/nginx-mesh-init:${MESH_VER}" \ --nginx-mesh-metrics-image "${DOCKER_REGISTRY}/nginx-mesh-metrics:${MESH_VER}" Created namespace "nginx-mesh". Created SpiffeID CRD. Waiting for Spire pods to be running...done. Deployed Spire. Deployed NATS server. Created traffic policy CRDs. Deployed Mesh API. Deployed Metrics API Server. Deployed Prometheus Server nginx-mesh/prometheus-server. Deployed Grafana nginx-mesh/grafana. Deployed tracing server nginx-mesh/zipkin. All resources created. Testing the connection to the Service Mesh API Server... Connected to the NGINX Service Mesh API successfully. NGINX Service Mesh is running. Для получения дополнительных параметров, включая расширенные настройки, запустите эту команду: $ nginx-meshctl deploy –h
Проверить, что control plane работает корректно в пространстве имен nginx-mesh, можно так: $ kubectl get pods –n nginx-mesh
NAME READY STATUS RESTARTS AGE grafana-6cc6958cd9-dccj6 1/1 Running 0 2d19h mesh-api-6b95576c46-8npkb 1/1 Running 0 2d19h nats-server-6d5c57f894-225qn 1/1 Running 0 2d19h prometheus-server-65c95b788b-zkt95 1/1 Running 0 2d19h smi-metrics-5986dfb8d5-q6gfj 1/1 Running 0 2d19h spire-agent-5cf87 1/1 Running 0 2d19h spire-agent-rr2tt 1/1 Running 0 2d19h spire-agent-vwjbv 1/1 Running 0 2d19h spire-server-0 2/2 Running 0 2d19h zipkin-6f7cbf5467-ns6wc 1/1 Running 0 2d19h В зависимости от параметров развертывания, устанавливающих политики ручного или автоматического инжектирования, прокси NGINX sidecars будут добавляться к приложениям по умолчанию. Для отключения автоматического добавления читайте здесь Например если мы развернем приложение sleep в пространстве имен default, а затем проверим Pod — увидим два запущенных контейнера, приложение sleep и связанный с ним sidecar: $ kubectl apply –f sleep.yaml
$ kubectl get pods –n default NAME READY STATUS RESTARTS AGE sleep-674f75ff4d-gxjf2 2/2 Running 0 5h23m Также мы можем следаить за приложением sleep в панели NGINX Plus, запуская эту команду для получения доступа к sidecar с вашей локальной машины: $ kubectl port-forward sleep-674f75ff4d-gxjf2 8080:8886
Затем просто заходим сюда в браузере. Вы также можете соединиться с Prometheus чтобы следить за приложением sleep. Вы можете использовать отдельные ресурсы Kubernetes для настройки политик трафика, например контроля доступа, ограничения скорости и circuit breaking, для этого смотрите документацию Заключение NGINX Service Mesh бесплатно доступна для загрузки на портале F5. Попробуйте ее в работе на ваших dev и test окружениях и напишите нам о результатах. Чтобы попробовать NGINX Plus Ingress Controller, активируйте бесплатный испытательный период на 30 дней, или свяжитесь с нами для обсуждения ваших вариантов использования. =========== Источник: habr.com =========== =========== Автор оригинала: Amir Rawdat ===========Похожие новости:
Блог компании Southbridge ), #_devops, #_kubernetes, #_servernoe_administrirovanie ( Серверное администрирование ), #_sistemnoe_administrirovanie ( Системное администрирование ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 13:25
Часовой пояс: UTC + 5