Crossplane: англійською мовою для інженерів-платформістів

Освоєння англійської лексики для Crossplane — Compositions, XRDs, Claims, ManagedResources, Providers і перетворення латок для хмарних API.

Crossplane розширює Kubernetes в універсальну площину керування, дозволяючи інженерним командам платформи виставляти хмарну інфраструктуру як API самообслуговування. Якщо ви працюєте у команді з розробки платформи або взаємодієте з нею, ви швидко знайдете спеціалізований словник, який поєднує концепції Kubernetes з абстракціями, специфічними для Crossplane. У цьому довіднику пояснюється ключові терміни і фрази, які ваші колеги використовують під час розробки і роботи з платформами, заснованими на Crossplane.

Ключовий словник

** Composition ** — ресурс Crossplane, який визначає, як складний ресурс буде зібрано з одного або декількох керованих ресурсів, вказуючи, які хмарні примітиви створювати і як їх налаштування буде відображено разом. * “Композиція для кластера виробничої бази даних створює екземпляр RDS, групу параметрів і групу підмереж як єдиний об’ єкт.” *

XRD (CompositeResourceDefinition) — нетипове визначення ресурсу, яке реєструє новий тип складного ресурсу з API Kubernetes, включаючи його схему і імена заявок, які розробники використовують для його запитів. “Ми опублікували XRD під назвою XPostgresInstance, щоб команди застосунків могли запитувати базу даних, не знаючи базових деталей AWS.”

** Композитний ресурс (XR) ** — екземпляр типу, визначеного XRD; його створює або безпосередньо інженер платформи, або опосередковано, коли розробник створює заявку. * « Композитний ресурс узгоджується Crossplane, який створює всі керовані ресурси, описані у Composition. » *

Claim — ресурс з обсягом простору імен, який розробник створює для запитання екземпляра складного ресурсу, надаючи простіший інтерфейс, який приховує складність інфраструктури. “Разробник просто застосовує PostgresClaim в просторі імен їхнього застосунку, а команда платформи Composition займається рештою.”

ManagedResource — об’єкт Kubernetes, який представляє один зовнішній хмарний ресурс, наприклад, контейнер S3 або екземпляр GCP Cloud SQL, і прирівнюється до Crossplane Provider. “Кожен керований ресурс має поле atProvider, яке відображає спостережений стан з хмарного API.”

Provider — розширення Crossplane, яке встановлює контролери і CRD, необхідні для управління ресурсами на певній хмарній платформі, такі як provider-aws, provider-gcp або provider-azure. “Ми оновили AWS-провайдера, щоб підняти підтримку для нового RDS синьо-зеленого розгортання керованого ресурсу.”

** Латка ** — правило перетворення у складі, яке копіює або перетворює значення зі специфікації складного ресурсу у поле одного з його складних керованих ресурсів. * « Латка копіює поле регіону зі специфікації XR у кожен керований ресурс, тому розробникам потрібно вказувати його лише один раз. » *

Transform — додатковий модифікатор, застосований в заплаті для перетворення значення, наприклад, відображенням вводу t-shirt size, такого як small, на конкретний тип екземпляра, наприклад, db.t3.micro. “Ми додали рядкове перетворення, щоб розробники могли вибирати з small, medium або large замість того, щоб вводити назви класів екземплярів AWS безпосередньо.”

Корисні фрази

«Перевірка XRD-схеми відкидає претензію, тому що поле storageGB нижче мінімуму, який ми визначили — розробник повинен запитати принаймні двадцять гігабайтів»

«Ми повинні додати заплатку, щоб розповсюдити поле backupRetentionDays з XR spec вниз в RDS керований ресурс, інакше він завжди за замовчуванням має сім»

«The Provider pod is in CrashLoopBackOff — check that the ProviderConfig refers to a valid credentials secret in the crossplane-system namespace.»

«Давайте версію XRD так, що команди застосунків на старій схемі продовжують працювати, поки ми розгортаємо нові поля для команд, які готові»

«Композиція використовує fromCompositeFieldPath патч, щоб витягнути позначку середовища з XR і штампувати її на всі складені ресурси»

Поширені помилки

** Плутанина між заявками і складовими ресурсами. ** Заявка є скороченням з обсягом простору імен, яке створює складовий ресурс; це не сам складовий ресурс. Інженери платформи працюють з композитними ресурсами безпосередньо, в той час як розробники програм взаємодіють через Claims. Поєднання цих двох параметрів може призвести до плутанини під час обговорення місць, де слід шукати умови стану або розв’ язання помилок прирівнювання.

** Використання « patch » і « transform » взаємозамінно. ** Патч — це правило, яке пересуває значення з одного місця на інше; перетворення — це додатковий крок, який змінює значення під час пересування. Ви можете мати латку без перетворення, але не можете мати перетворення без латки. Сказати «Я додав перетворення, щоб скопіювати регіон» неточно — правильна фраза «Я додав патч з перетворенням рядка, щоб відобразити значення регіону»

** Використання слова « встановити ресурс » замість « застосувати заявку » або « забезпечити керований ресурс ». ** У контексті Crossplane слово « встановити » зазвичай означає встановлення надавальника або композиції у кластері. Створення інфраструктури означає застосування заперечення або складного ресурсу. Використання « встановити » для обох операцій призводить до нерозуміння під час реагування на інциденти і сеансів встановлення платформи.

Правильне розуміння цих термінів допоможе вам чітко спілкуватися з командами розробників платформи і програм, писати точні підручники з керування і робити значний внесок у перегляди дизайну Composition.

Система управління навігацією: розробка спільних комунікаційних завдань

Як людина, для якої англійська не є рідною мовою, яка занурюється у світ Crossplane і створює хмарні API, ви швидко усвідомите, що технічний словник - це лише половина битви. Справжній виклик полягає в тому, як ви поширюєте свої ідеї — чи це створення чіткого опису запитів на витяг, участь у перегляді коду, чи співпраця з членами команди. Незначні відмінності у фразуваннях можуть призвести до непорозумінь, затримок і розчарування. Давайте розглянемо деякі звичайні сценарії і як ефективно підійти до них.

Однією з найчастіших перешкод є вираження * аргументів * за вашими конфігураціями Crossplane. Просто сказати «Я створив цей ManagedResource» недостатньо. Рецензент повинен зрозуміти * чому * ви обрали конкретну конфігурацію - яку проблему вона вирішує, які обмеження вона вирішує, і як вона збігається з загальними архітектурними цілями. Фрази на зразок « Щоб забезпечити послідовність правил іменування в нашій інфраструктурі » або « Цей ManagedResource дозволяє нам автоматично використовувати останні латки безпеки » є набагато більш інформаційними і демонструють глибше розуміння системи. Аналогічно, при поясненні складного XRD (Crossplane Resource Definition), уникайте жаргону без контексту. Замість того, щоб сказати «Я застосував перетворення латку», поясніть: «Перетворення латку забезпечує, що наші кластери Kubernetes завжди працюють з найновішою версією діаграм Helm, зменшуючи потенційні вразливості безпеки». Це про передачу наміру і продемонстрування того, що ви критично думаєте про наслідки ваших змін. Інша область, де нюанс має значення, це обговорення Slack. Кратне повідомлення на зразок « Виправлення » потребує розширення — « Дослідження тимчасової помилки, яка перешкоджає розгортанню; підозрюється проблема з основними налаштуваннями постачальника ». Таким чином ви надаєте цінний контекст колегам, яким потрібно вам допомогти.

Крім того, пам’ ятайте, що документація не просто надає інструкції; це форма спілкування. Написання чітких, коротких описів PR і додавання коментарів до налаштувань Crossplane є ключовим. Ці документи служать для запису ваших рішень і надають цінну інформацію для майбутніх розробників. Сфокусировались на “почему” вместе с “чем”

Давайте проілюструємо це практичним прикладом. Рецензент може залишити коментар у вашому запиті на збирання, наприклад: «Чи можете ви розібратися, чому ви використовуєте terraform як провайдера? Виглядає трохи розгорнутим у порівнянні з нативними постачальниками Kubernetes. » Ваша відповідь повинна бути більшою, ніж просто заява: « Це вимагає конфігурація. » Замість цього, ви повинні відповісти щось на зразок: « Використання Terraform забезпечує більший контроль над інфраструктурою як кодом найкращих практик і дозволяє нам легко інтегрувати з нашим існуючим конвеєром CI / CD для перевірки. Хоча в багатьох випадках підходять національні постачальники Kubernetes, гнучкість, яку пропонує Terraform, є необхідною для управління цим конкретним ресурсом життєвого циклу. ”

# Example: Applying a patch transform using Crossplane CLI

crossplane apply -f my-patch-transform.yaml --revision=1

Ця проста команда показує, як можна обговорити питання щодо латів — намір оновити ресурси, інструмент, який буде використано (CLI), і певний вхідний файл ( my-patch-transform.yaml ). Це будівельний блок для більш складних дискусій про управління інфраструктурою.

Поширені запитання

Про що ця стаття "Crossplane: англійською мовою для інженерів-платформістів"?

Освоєння англійської лексики для Crossplane — Compositions, XRDs, Claims, ManagedResources, Providers і перетворення латок для хмарних API.

Чи безкоштовна ця стаття?

Так. Усі статті на CoderSlingo, включно з цією, доступні безкоштовно без реєстрації.

Скільки часу займає читання "Crossplane: англійською мовою для інженерів-платформістів"?

Приблизно 9 min.