Спешим поделиться новостью, что Contour размещён в инкубаторе проектов от Cloud Native Computing Foundation (CNCF).
Если вы еще не слышали о Contour — это простой и масштабируемый ingress controller с открытым исходным кодом для маршрутизации трафика к приложениям, запущенным в Kubernetes.
Мы подробно рассмотрим, как он работает, покажем «дорожную карту» развития на предстоящих конференциях Kubecon и CloudNativeCon Europe.
А в этой статье предлагаем ознакомиться с работой Contour. Поясним, что означает принятие проекта в CNCF. А также поделимся планами на будущее развитие проекта.
Конференции KubeCon и CloudNativeCon собирают приверженцев передовых технологий и инженеров, заинтересованных не только в дальнейшем обучении, но и продвижении облачных вычислений. В мероприятиях участвуют эксперты-практики и ключевые разработчики популярных проектов, таких как Kubernetes, Prometheus, gRPC, Envoy, OpenTracing и других.
Всё внимание на Ingress
Для начала вводная. Сообщество Kubernetes уже определилось с тем, как подходить к задачам запуска рабочих нагрузок и предоставления доступа от нагрузок к хранилищу. Но в вопросах создания сетей и обеспечения связности все еще есть пространство для инноваций. Основной, притом весьма важной задачей является доставка внешнего трафика внутрь кластера. В Kubernetes это называется Ingress, именно это и делает Contour. Это инструмент, который вы можете легко использовать в кластере для доставки трафика по мере необходимости, но с функциональным заделом на будущее по мере роста вашего кластера Kubernetes.
Технически Contour работает путем разворачивания Envoy для обеспечения обратного прокси и балансировщика нагрузки. Он изначально поддерживает динамическое обновление настроек, а также может расширяться до multiteam кластеров Kubernetes, предоставляя различные стратегии балансировки нагрузки.
Есть многочисленные альтернативы запуска Ingress Controller в Kubernetes, но Contour уникален тем, что он обеспечивает только эту задачу, делая ее с высоким уровнем производительности и не забывая учитывать безопасность и возможность работы в многопользовательском режиме.
Хотя вы и можете развернуть service mesh для решения этого вопроса, это будет означать дополнительное усложнение вашего кластера. Contour напротив предлагает в качестве решения работу Ingress без необходимости опираться на более крупную структуру service mesh — но при необходимости он сможет с нею работать. Таким образом предлагается своего рода постепенный переход к Ingress, что быстро заинтересовало многих пользователей.
Сила поддержки CNCF
Contour, созданный в конце 2017 года разработчиками Heption, достиг версии 1.0 в ноябре 2019 года, а теперь может похвастаться сообществом из 600 участников в Slack, 300 участниками в разработке, а также 90 коммитерами и 5 сопровождающими. Одним из значимых фактов является то, что он внедрен различными компаниями и организациями, включая Adobe, Kinvolk, Kintone, PhishLabs и Replicated. Оценив, что пользователи внедряют Contour на производстве, а также зная, что у нас есть стабильное сообщество, CNCF решила, что Contour можно сразу, минуя уровень песочницы, попасть в инкубатор.
Для нас это весьма важно, поскольку мы рассматриваем такое приглашение, как подтверждение того, что мы устойчивое, гостеприимное и открытое сообщество, соответствующее техническим целям CNCF, также Contour хорошо взаимодействует в экосистеме с другими проектами, например Kubernetes и Envoy.
Мы надеемся, что чем больше к нам придет людей, тем значительнее увеличится разнообразие и скорость добавления новых функций. Мы продолжим выпускать версии ежемесячно, таким образом, мы не заставим пользователей долго ждать новых функций, исправлений ошибок и улучшений параметров безопасности.
Вклад в экосистему Kubernetes
В ближайшем будущем мы хотим собрать запросы от сообщества по новым функциям. Некоторые из этих запросов, например, поддержка внешней аутентификации, пользователи ожидают довольно давно, но ресурсы для этого у нас появились только сейчас. Также подобная задача может быть реализована только при большом числе отзывов от сообщества.
Другие вещи, которые мы запланировали реализовать в ближайшем будущем:
Также мы начали задумываться об поддержке UDP. Contour это L7 Ingress Controller, но некоторые наши пользователи желают размещать в Kubernetes приложения, не поддерживающие HTTP (например приложения VOIP и телефонии). Обычно в таких приложениях используется UDP, так что мы хотим расширить наши планы для удовлетворения таких потребностей.
Мы стремимся поделиться тем, что узнали при разработке нашего Ingress Controller, с сообществом, тем самым помогая улучшить маршрутизацию данных извне в кластер в следующем поколении service APIs Kubernetes.
Узнайте больше и присоединяйтесь к нам!
Желаете знать больше о Contour, включая четкое понимание работы проекта, а также чего надеется достичь команда, когда мы присоединились к CNCF — посетите наше выступление на конференции KubeCon 20 августа 2020 года в 13.00 CEST, будем рады вас видеть.
Если нет такой возможности — приглашаем присоединиться к любой из встреч сообщества, которые проходят во вторник, есть записи встреч. Можете также подписаться на рассылку Contour, в рабочее время вы сможете задавать вопросы или работать с запросами на слияние с кем-нибудь, кто хорошо знает проект, в режиме реального времени. Желаете увидеть Contour в действии — напишите нам в Slack или отправьте сообщение в список рассылки.
Наконец, если желаете внести свой вклад, будем рады принять вас в наши ряды. Ознакомьтесь с нашей документацией, пообщайтесь с нами в Slack, либо начните с любого из наших Good First Issues. Мы также открыты любой обратной связи, которой вы захотите поделиться.
Чтобы узнать больше о Contour и других облачных технологиях, подумайте об удаленном участии в KubeCon и CloudNativeCon EU, которые пройдут 17-20 августа 2020 года.
Автор: Павел