У вівторок організація CNCF (Cloud Native Computing Foundation) оголосила про публічну доступності своєї «інфраструктурної лабораторії» - CNCF Community Infrastructure Lab (CIL). Це означає, що Open Source-проекти, пов'язані з мікросервісной архітектурою і «хмарним» (cloud native) підходом, можуть безкоштовно отримати в своє розпорядження інфраструктуру для тестування функціонування і продуктивності своїх напрацювань в хмарі потрібного масштабу.
CNCF Cluster: перша версія
З самого своєї появи CNCF організація прагнула забезпечувати інфраструктуру для Open Source-проектів. Згодом це вилилося в створення спеціального кластера - CNCF Cluster. Першу його реалізацію представили близько року тому, а його конфігурація була заснована на процесорах Intel Xeon (і подарована компанією Intel), виглядала наступним чином:
Уже тоді CNCF Cluster називався «найбільшим в світі безкоштовно доступним кластером з bare metal-серверів для розвитку cloud native computing». І за час існування його першої версії до хмарним ресурсів CNCF встигли звернутися такі проекти, як Kubernetes, Apache ZooKeeper, Elasticsearch на Mesos, СУБД TiDB і інші. Однак наймасштабнішим користувачем виявилася платформа OpenShift.
Інженери Red Hat розгорнули дві інсталяції OpenShift: один кластер на 100 вузлах bare metal і другий - на 2048 вузлах віртуальних машин на базі хмари OpenStack (Red Hat OpenStack Platform 10).
Цілі експерименту полягали в тестуванні різних компонентів Docker (драйвер overlay2 для OverlayFS) і Kubernetes / OpenShift (HAProxy + Ingress, Persistent Volumes на базі Red Hat Container-Native Storage, реєстр контейнерів) на досить великому масштабі. Результати їх тесту детально описані в блозі OpenShift. а підсумкові враження від експерименту були сформульовані так:
Проведена велика робота. Як ми можемо бути впевнені, що підприємницькі кола та споживачі виграють від неї? По-перше, ми додаємо абсолютно все [отримані результати] в upstream. До того ж, ми створюємо настільки багато налаштувань, кращих практик і оптимізацій конфігов для продукту, наскільки це можливо ... і документуємо все інше. [..] CNCF Cluster - неймовірно цінний актив для Open Source-спільноти. Другий етап тестування продуктивності на кластері CNCF знову забезпечив нас корисною інформацією, яку ми використовуємо в прийдешніх релізах.
Одним з помітних обмежень першого CNCF Cluster було максимальне час його використання - до 2 тижнів. З ним зіткнулися в своїх запитах такі проекти, як Cilium і etcd. Але їх не залишили без уваги: на допомогу прийшов співробітник американської компанії Packet. що спеціалізується на наданні ресурсів bare metal за домовленістю * ... І ось прийшов час, коли ця пропозиція поширилося на весь кластер CNCF, який разом з Packet отримав другу инкарнацию.
* До речі, в Open Source-співтоваристві Packet була відома і раніше - завдяки своїй безоплатної допомоги для kernel.org.
CNCF Cluster: нова версія
Отже, для потреб CNCF в Packet пропонують хмара, фінансово лімітоване 25 тисячами USD в місяць і географічно розподілене по всьому світу (включаючи США, Нідерланди, Японію).
Доступні серверні варіанти 5 типів (7 кінцевих конфігурацій) на базі:
- Intel Atom C2550 (4 cores @ 2.4Ghz);
- Intel Xeon E3-1240 v3 (4 cores @ 3.4Ghz);
- Intel E3-1578L (4 Physical Cores @ 2.0 GHz base / 3.40 GHz burst);
- 2 x Intel Xeon E5-2650 v4 (24 cores @ 2.2 GHz);
- 2 × Cavium ThunderX ARMv8 SoC's;
- 2 x Intel Xeon E5-2640 v3 (16 cores @ 2.6Ghz);
- 2 x Intel E5-2620 v4 (16 total cores @ 2.1Ghz).
Типова конфігурація сервера Packet, пропонована для розгортання додатки
Серед офіційно підтримуваних операційних систем для серверів з процесорами Intel згадуються Ubuntu 14.04 і 16.04, Debian 8, CentOS 7, Scientific Linux, Container Linux, RancherOS, NixOS, FreeBSD, а для ARMv8 цей список набагато коротше, зате доповнений CoreOS. Мережеві можливості включають в себе анонсування свого IP-простору, BGP / Anycast і підтримку IPv6.
Взаємодіяти з пропонованими конфігураціями можна за спеціальним API. доступному по протоколу HTTP, а також за допомогою готових клієнтів, вже реалізованих на Ruby, Python, PHP, Go, Java, Node.js. Одна з особливостей Packet - інтеграція пропонованих нею ресурсів з популярними інструментами / сервісами для роботи з хмарними оточеннями і контейнерами, такими як Rancher, Terraform, Mesosphere DC / OS, Kontena, Docker Machine і Docker Cloud, Apache jclouds і Apache Libcloud, а також системою управління конфігураціями Ansible і мережевим рішенням Project Calico.
Подача заявки на ресурси
При отриманні ресурсів від CNCF CIL слід пам'ятати, що пріоритет віддається проектам, які вже входять в офіційний список CNCF. потім - компаніям-членам організації, а після цього - іншим розробникам. Крім того, проект повинен відповідати таким основним вимогам:
- запускається код повинен бути Open Source (поширюватися під ліцензіями, схваленими OSI) на 100%;
- додаток повинен дозволяти розробникам тестувати або створювати безперервно інтегруються інфраструктури з автоматизованим використанням великого публічного хмари і без примусового застосування віртуалізації;
- в тестуванні повинні використовуватися контейнери, якщо це доречно.
Щоб запросити ресурси для свого проекту, необхідно створити issue в Git-репозиторії CNCF Cluster. Для тексту заявки заготовлений досить докладний шаблон, який просить розповісти про те, для кого із товариства і кінцевих користувачів будуть корисні проводяться тестування і як вони «допоможуть розвинути cloud native computing (зокрема - контейнеризацію, оркестровку, мікросервіси або будь-яку їх комбінацію)». Приклади вже реалізованих запитів (правда, поки вони відносяться тільки до старого кластеру) можна побачити в закритих issues.
Можливо, вам не потрібні ці ресурси прямо зараз (і / або ви не розробляєте Open Source-код), але корисно знати ... можливо, навіть не стільки про це конкретну пропозицію, скільки про самих прикладах співпраці в індустрії на благо сучасним технологіям і, звичайно , Open Source.