Це багатосторінкова версія цього розділу для друку. Натисніть тут, щоб надрукувати.

Повернутися до звичайного перегляду сторінки.

Створення нового контенту

Цей розділ містить інформацію, яку слід знати перед тим, як створювати новий контент.

Також є спеціальні сторінки для подання прикладів використання та статей для блогу.

flowchart LR subgraph second[Перш ніж розпочати] direction TB S[ ] -.- A[Підпишіть CNCF CLA] --> B[Оберіть гілку Git] B --> C[Одна мова на PR] C --> F[Ознайомтесь з
інструментами для участі] end subgraph first[Основи участі] direction TB T[ ] -.- D[Пишіть документи в markdown
та збирайте сайт за допомогою Hugo] --- E[сирці на GitHub] E --- G[Тека '/content/../docs' містить документи
для кількох мов] G --- H[Ознайомтесь з типом вмісту сторінок Hugo
та shortcodes] end first ----> second classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 class A,B,C,D,E,F,G,H grey class S,T spacewhite class first,second white

Схема — Підготовка до створення нового контенту

Вище показана інформація, яку слід знати перед надсиланням нового контенту. Деталі наведені нижче.

Основи участі

  • Пишіть документацію Kubernetes у Markdown та збирайте сайт Kubernetes за допомогою Hugo.
  • Документація Kubernetes використовує CommonMark варіант Markdown.
  • Сирці знаходяться на GitHub. Ви можете знайти документацію Kubernetes в /content/en/docs/. Частина довідкової документації автоматично генерується зі скриптів у теці update-imported-docs/.
  • Типи вмісту сторінок описують вигляд вмісту документації в Hugo.
  • Ви можете використовувати Docsy shortcodes або власні Hugo shortcodes, щоб зробити внесок у документацію Kubernetes.
  • Крім стандартних Hugo shortcodes, ми використовуємо кілька власних Hugo shortcodes у нашій документації для керування процесом обробки вмісту.
  • Сирці документації доступні кількома мовами в /content/. Кожна мова має свою теку з дволітерним кодом, визначеним ISO 639-1 стандартом. Наприклад, сирці документації англійською мовою зберігається в /content/en/docs/, української — /content/uk/docs/, відповідно.
  • Для отримання додаткової інформації про роботу з документацією кількома мовами або початку нової локалізації, див. локалізація.

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

Підпишіть CNCF CLA

Усі учасники Kubernetes повинні ознайомитись з Настановами для учасників та підписати Угоду про ліцензування внесків (CLA, Contributor License Agreement).

Pull requests від учасників, які не підписали CLA, не пройдуть автоматизовані тести. Імʼя та електронна адреса, які ви надаєте, повинні збігатися з тими, що знаходяться у вашій конфігурації git config, а ваше імʼя та електронна адреса в git повинні збігатися з тими, що використовуються для CNCF CLA.

Оберіть гілку Git для використання

Відкриваючи pull request, ви повинні заздалегідь знати, яку гілку взяти за основу для своєї роботи.

СценарійГілка
Поточний або новий контент англійською мовою для поточного випускуmain
Контент для випуску змін функційГілка, яка відповідає основній та мінорній версії, у якій відбувається зміна функцій, використовуючи шаблон dev-<version>. Наприклад, якщо функція змінюється у випуску v1.36, то додайте зміни до документації у гілку dev-1.36.
Контент іншими мовами (локалізація)Використовуйте домовленості локалізації. Див. Стратегію створення гілок локалізації для отримання додаткової інформації.

Якщо ви все ще не впевнені, яку гілку обрати, запитайте у #sig-docs в Slack.

Примітка:

Якщо ви вже подали свій pull request і знаєте, що базова гілка була неправильною, ви (і тільки ви, відправник) можете змінити її.

Мови в одному PR

Обмежуйте pull requests однією мовою на PR. Якщо вам потрібно внести однакові зміни до одного і того ж зразка коду кількома мовами, відкрийте окремий PR для кожної мови.

Інструменти

Тека інструменти для учасників в репозиторії kubernetes/website містить інструменти, які допоможуть зробити вашу участь в створенні документації простішою.

Що далі

1 - Створення pull request

Примітка:

Розробники коду: Якщо ви документуєте нову функцію для майбутнього релізу Kubernetes, дивіться Документування нової функції.

Щоб створити нові сторінки або покращити наявні, відкрийте pull request (PR). Переконайтеся, що ви виконали всі вимоги у розділі Перш ніж почати.

Якщо ваша зміна невелика або ви незнайомі з git, прочитайте Зміни за допомогою GitHub, щоб дізнатися, як редагувати сторінку.

Якщо ваші зміни значні, прочитайте Робота з локальним форком, щоб дізнатися, як внести зміни локально на вашому компʼютері.

Зміни за допомогою GitHub

Якщо ви менш досвідчені з робочими процесами git, ось легший спосіб відкрити pull request. На схемі 1 описані кроки, а деталі наведені нижче.

flowchart LR A([fa:fa-user Новий
учасник]) --- id1[(kubernetes/website
GitHub)] subgraph tasks[Зміни за допомогою GitHub] direction TB 0[ ] -.- 1[1. Редагувати цю сторінку] --> 2[2. Використовуйте GitHub markdown
редактор для внесення змін] 2 --> 3[3. Виберіть Commit changes...] end subgraph tasks2[ ] direction TB 4[4. Оберіть Propose changes] --> 5[5. Оберіть Create pull request] --> 6[6. Заповніть форму Open a pull request] 6 --> 7[7. Оберіть Create pull request] end id1 --> tasks --> tasks2 classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold classDef k8s fill:#326ce5,stroke:#fff,stroke-width:1px,color:#fff; classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 class A,1,2,3,4,5,6,7 grey class 0 spacewhite class tasks,tasks2 white class id1 k8s

Схема 1. Кроки для відкриття PR за допомогою GitHub.

  1. На сторінці, де ви бачите проблему, виберіть опцію Відредагувати сторінку на панелі праворуч.

  2. Внесіть зміни у GitHub markdown редакторі.

  3. Праворуч над редактором, оберіть Commit changes. У першому полі дайте заголовок вашому повідомленню коміту. У другому полі надайте опис.

    Примітка:

    Не використовуйте жодних ключових слів GitHub у повідомленні вашого коміту. Ви можете додати їх до опису pull request пізніше.
  4. Оберіть Propose changes.

  5. Оберіть Create pull request.

  6. Зʼявиться екран Open a pull request. Заповніть форму:

    • Поле Add a title pull request стандартно містить заголовок коміту. Ви можете змінити його за потреби.
    • Поле Add a description містить розширене повідомлення коміту, якщо у вас є, і деякий текст шаблону. Додайте деталі, які вимагає текст шаблону, потім видаліть зайвий текст шаблону.
    • Залиште прапорець Allow edits from maintainers увімкненим.

    Примітка:

    Опис PR — це чудовий спосіб допомогти рецензентам зрозуміти ваші зміни. Для отримання додаткової інформації див. Відкриття PR.
  7. Оберіть Create pull request.

Робота з відгуками на GitHub

Перед злиттям pull request члени спільноти Kubernetes рецензують та схвалюють його. k8s-ci-robot пропонує рецензентів на основі найближчого власника, зазначеного на сторінках. Якщо у вас є конкретна людина на думці, залиште коментар із її імʼям користувача на GitHub.

Якщо рецензент попросить вас внести зміни:

  1. Перейдіть на вкладку Files changed.
  2. Виберіть іконку олівця (редагування) на будь-якому файлі, зміненому pull request.
  3. Внесіть запитані зміни.
  4. Збережіть зміни.

Якщо ви чекаєте на рецензента, виходьте на звʼязок хоча б раз на 7 днів. Ви також можете залишити повідомлення у каналі #sig-docs на Slack.

Коли рецензування буде завершено, рецензент зіллє ваш PR і ваші зміни стануть доступними через кілька хвилин.

Робота з локальним форком

Якщо ви більш досвідчені з git або ваші зміни більші за кілька рядків, працюйте з локальним форком.

Переконайтеся, що на вашому компʼютері встановлений git. Ви також можете використовувати застосунок, що є інтерфейсом користувача для git.

Схема 2 показує кроки, які слід виконати під час роботи з локальним форком. Деталі кожного кроку наведені нижче.

flowchart LR 1[Форк репо kubernetes/website] --> 2[Створіть локальну копію
і встановіть upstream] subgraph changes[Ваші зміни] direction TB S[ ] -.- 3[Створіть гілку
наприклад: my_new_branch] --> 3a[Внесіть зміни за допомогою
текстового редактора] --> 4["Перегляньте зміни
локально за допомогою Hugo
(localhost:1313)
або створіть образ контейнера"] end subgraph changes2[Коміт / Push] direction TB T[ ] -.- 5[Збережіть коміт] --> 6[Надішліть коміт до
origin/my_new_branch] end 2 --> changes --> changes2 classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold classDef k8s fill:#326ce5,stroke:#fff,stroke-width:1px,color:#fff; classDef spacewhite fill:#ffffff,stroke:#fff,stroke-width:0px,color:#000 class 1,2,3,3a,4,5,6 grey class S,T spacewhite class changes,changes2 white

Схема 2. Робота з локальним форком для внесення змін.

Форк репозиторію kubernetes/website

  1. Перейдіть до репозиторію kubernetes/website.
  2. Оберіть Fork.

Створення локальної копії та встановлення upstream

  1. У вікні термінала, клонуйте ваш форк та оновіть тему Docsy Hugo:

    git clone git@github.com:<github_username>/website.git
    cd website
    
  2. Перейдіть до нової теки website. Встановіть репозиторій kubernetes/website як upstream remote:

    cd website
    
    git remote add upstream https://github.com/kubernetes/website.git
    
  3. перевірте ваші origin та upstream репозиторії:

    git remote -v
    

    Вихід буде подібним до:

    origin	git@github.com:<github_username>/website.git (fetch)
    origin	git@github.com:<github_username>/website.git (push)
    upstream	https://github.com/kubernetes/website.git (fetch)
    upstream	https://github.com/kubernetes/website.git (push)
    
  4. Отримайте коміти з origin/main вашого форка та upstream/main з kubernetes/website:

    git fetch origin
    git fetch upstream
    

    Це забезпечить актуальність вашого локального репозиторію перед тим, як ви почнете вносити зміни.

    Примітка:

    Цей робочий процес відрізняється від GitHub Workflow спільноти Kubernetes. Вам не потрібно зливати вашу локальну копію main з upstream/main перед тим, як надсилати оновлення до вашого форка.

Створення гілки

  1. Виберіть гілку, на якій буде базуватись ваша робота:

    • Для покращення наявного контенту використовуйте upstream/main.
    • Для нового контенту про наявні функції використовуйте upstream/main.
    • Для локалізованого контенту дотримуйтесь домовленостей з локалізації. Для додаткової інформації дивіться локалізацію документації Kubernetes.
    • Для нових функцій у майбутньому випуску Kubernetes використовуйте гілку функцій. Для додаткової інформації дивіться документування релізу.
    • Для довготривалих ініціатив, над якими співпрацюють кілька учасників SIG Docs, таких як реорганізація контенту, використовуйте спеціальну гілку, створену для цього.

    Якщо вам потрібна допомога з вибором гілки, запитайте у каналі #sig-docs в Slack.

  2. Створіть нову гілку на основі гілки, визначеної на кроці 1. Цей приклад передбачає, що базова гілка — upstream/main:

    git checkout -b <my_new_branch> upstream/main
    
  3. Внесіть свої зміни за допомогою текстового редактора.

У будь-який час використовуйте команду git status, щоб побачити, які файли ви змінили.

Збереження змін

Коли ви готові подати pull request, збережіть ваші зміни.

  1. У вашому локальному репозиторії перевірте, які файли потрібно зберегти в репо:

    git status
    

    Вихід буде подібним до:

    On branch <my_new_branch>
    Your branch is up to date with 'origin/<my_new_branch>'.
    
    Changes not staged for commit:
    (use "git add <file>..." to update what will be committed)
    (use "git checkout -- <file>..." to discard changes in working directory)
    
    modified:   content/en/docs/contribute/new-content/contributing-content.md
    
    no changes added to commit (use "git add" and/or "git commit -a")
    
  2. Додайте файли, зазначені під Changes not staged for commit, до коміту:

    git add <your_file_name>
    

    Повторіть це для кожного файлу.

  3. Після додавання всіх файлів створіть коміт:

    git commit -m "Ваше коміт-повідомлення"
    

    Примітка:

    Не використовуйте жодних GitHub Keywords у вашому повідомленні коміту. Ви можете додати їх до опису pull request пізніше.
  4. Надішліть вашу локальну гілку та її новий коміт до вашого віддаленого форку:

    git push origin <my_new_branch>
    

Попередній локальний перегляд змін

Перед тим, як відправити зміни або відкрити pull request, рекомендується попередньо переглянути їх локально. У статті Попередній перегляд локально пояснюється, як запустити вебсайт локально та переглянути запропоновані зміни.

Відкриття pull request з вашого форку в kubernetes/website

На схемі 3 показано кроки для створення PR із вашого форку в kubernetes/website. Подробиці наведені нижче.

Зверніть увагу, що учасники можуть також згадувати kubernetes/website як k/website.

flowchart LR subgraph first[ ] direction TB 1[1. Перейдіть до репозиторію kubernetes/website] --> 2[2. Оберіть New Pull Request] 2 --> 3[3. Оберіть compare across forks] 3 --> 4[4. Оберіть ваш форк з
меню head repository] end subgraph second [ ] direction TB 5[5. Оберіть вашу гілку з
меню compare] --> 6[6. Оберіть Create Pull Request] 6 --> 7[7. Додайте опис
до вашого PR] 7 --> 8[8. Оберіть Create pull request] end first --> second classDef grey fill:#dddddd,stroke:#ffffff,stroke-width:px,color:#000000, font-size:15px; classDef white fill:#ffffff,stroke:#000,stroke-width:px,color:#000,font-weight:bold class 1,2,3,4,5,6,7,8 grey class first,second white

Схема 3. Кроки для створення PR з вашого форка в kubernetes/website.

  1. У вебоглядачі перейдіть до репозиторію kubernetes/website.

  2. Оберіть New Pull Request.

  3. Оберіть compare across forks.

  4. У спадному меню head repository, оберіть ваш форк.

  5. У спадному меню compare, оберіть вашу гілку.

  6. Оберіть Create Pull Request.

  7. Додайте опис до вашого pull request:

    • Title (50 символів або менше): Стисло опишіть мету зміни.

    • Description: Опишіть зміну докладніше.

      • Якщо є повʼязаний GitHub issue, додайте Fixes #12345 або Closes #12345 в описі. Автоматизація GitHub закриває зазначений тікет після злиття PR, якщо це використано. Якщо є інші повʼязані PR, вкажіть їх також.
      • Якщо ви хочете отримати пораду щодо чогось конкретного, включіть будь-які питання, які б ви хотіли, щоб рецензенти розглянули в описі.
  8. Оберіть кнопку Create pull request.

Вітаємо! Ваш pull request доступний у Pull requests.

Після створення PR GitHub запускає автоматичні тести та намагається розгорнути попередній перегляд за допомогою Netlify.

  • Якщо збірка Netlify не вдалася, оберіть Details для отримання додаткової інформації.
  • Якщо збірка Netlify вдалася, вибір Details відкриває staged версію вебсайту Kubernetes із вашими змінами. Це те, як рецензенти перевіряють ваші зміни.

GitHub також автоматично призначає мітки PR, щоб допомогти рецензентам. Ви також можете додати їх, якщо це потрібно. Для отримання додаткової інформації дивіться Додавання та видалення міток до тікетів.

Робота з відгуками локально

  1. Після внесення змін, відредагуйте свій попередній коміт:

    git commit -a --amend
    
    • -a: комітить усі зміни
    • --amend: редагує попередній коміт, замість створення нового
  2. За потреби оновіть повідомлення коміту.

  3. Використовуйте git push origin <my_new_branch> для надсилання змін і повторного запуску тестів Netlify.

    Примітка:

    Якщо ви використовуєте git commit -m замість редагування, вам потрібно виконати злиття комітів перед злиттям.

Зміни від рецензентів

Іноді рецензенти вносять зміни у ваш pull request. Перед внесенням будь-яких інших змін, отримайте ці коміти.

  1. Отримайте коміти з вашого віддаленого форку та виконайте rebase вашої робочої гілки:

    git fetch origin
    git rebase origin/<your-branch-name>
    
  2. Після rebase, зробить примусове надсилання нових змін до вашого форку:

    git push --force-with-lease origin <your-branch-name>
    

Конфлікти злиття та rebase

Примітка:

Для отримання додаткової інформації див. Галуження в git - Основи галуження та зливання, Розширене злиття, або запитайте в каналі Slack #sig-docs по допомогу.

Якщо інший учасник вносить зміни до того самого файлу в іншому PR, це може створити конфлікт злиття. Ви повинні розвʼязати всі конфлікти злиття у вашому PR.

  1. Оновіть ваш форк та зробіть rebase вашої локальної гілки:

    git fetch origin
    git rebase origin/<your-branch-name>
    

    Після rebase, зробить примусове надсилання нових змін до вашого форку:

    git push --force-with-lease origin <your-branch-name>
    
  2. Отримайте зміни з upstream/main репозиторію kubernetes/website та зробіть rebase у вашій гілці:

    git fetch upstream
    git rebase upstream/main
    
  3. Перевірте результати rebase:

    git status
    

    Це призведе до позначення деяких файлів такими, що містять конфлікти.

  4. Відкрийте кожен файл з конфліктами та знайдіть маркери конфліктів: >>>, <<< і ===. Розвʼяжіть конфлікт і видаліть маркер конфлікту.

    Примітка:

    Для отримання додаткової інформації див. Як представлені конфлікти.
  5. Додайте файли до набору змін:

    git add <filename>
    
  6. Продовжіть rebase:

    git rebase --continue
    
  7. Повторюйте кроки 2-5 за необхідності.

    Після застосування всіх комітів, команда git status показує, що rebase завершено.

  8. Зробить примусове надсилання нових змін до вашого форку:

    git push --force-with-lease origin <your-branch-name>
    

    Пул реквест більше не показує жодних конфліктів.

Обʼєднання комітів

Примітка:

Для отримання додаткової інформації див. Інструменти Git - Переписування історії, або запитайте в каналі Slack #sig-docs по допомогу.

Якщо ваш PR має кілька комітів, ви повинні злити їх в один коміт перед злиттям вашого PR. Ви можете перевірити кількість комітів на вкладці Commits вашого PR або за допомогою команди git log локально.

Примітка:

Ця тема припускає використання текстового редактора vim.
  1. Розпочніть інтерактивний rebase:

    git rebase -i HEAD~<number_of_commits_in_branch>
    

    Злиття комітів є формою rebase. Параметр -i вказує git, що ви хочете виконати інтерактивний rebase. HEAD~<number_of_commits_in_branch> вказує, скільки комітів розглядати для rebase.

    Результат буде схожий на:

    pick d875112ca Original commit
    pick 4fa167b80 Address feedback 1
    pick 7d54e15ee Address feedback 2
    
    # Rebase 3d18sf680..7d54e15ee onto 3d183f680 (3 commands)
    
    ...
    
    # These lines can be re-ordered; they are executed from top to bottom.
    

    Перша частина результату виводить перелік комітів для rebase. Друга частина має параметри для кожного коміту. Заміна слова pick змінює статус коміту після завершення rebase.

    Для цілей rebase зосередьтесь на squash і pick.

    Примітка:

    Для отримання додаткової інформації див. Інтерактивний режим.
  2. Розпочніть редагування файлу.

    Змініть початковий текст:

    pick d875112ca Original commit
    pick 4fa167b80 Address feedback 1
    pick 7d54e15ee Address feedback 2
    

    На:

    pick d875112ca Original commit
    squash 4fa167b80 Address feedback 1
    squash 7d54e15ee Address feedback 2
    

    Це зливає коміти 4fa167b80 Address feedback 1 та 7d54e15ee Address feedback 2 у d875112ca Original commit, залишаючи тільки d875112ca Original commit як частину хронології.

  3. Збережіть і вийдіть з файлу.

  4. Надішліть ваш обʼєднаний коміт:

    git push --force-with-lease origin <branch_name>
    

Беріть участь в інших репо

Проєкт Kubernetes містить понад 50 репозиторіїв. Багато з цих репозиторіїв містять документацію: текст довідки для користувачів, повідомлення про помилки, довідку API або коментарі в коді.

Якщо ви бачите текст, який хочете покращити, скористайтеся GitHub для пошуку по всіх репозиторіях в організації Kubernetes. Це допоможе вам зрозуміти, куди подати ваш тікет або PR.

Кожен репозиторій має свої процеси та процедури. Перед тим як подати тікет або PR, прочитайте README.md, CONTRIBUTING.md та code-of-conduct.md, якщо вони існують.

Більшість репозиторіїв використовують шаблони для тікетів і PR. Подивіться на кілька відкритих тікетів та PR, щоб зрозуміти процеси команди. Обов’язково заповнюйте шаблони з якомога більшою детальністю, коли подаєте тікет або PR.

Що далі

  • Прочитайте Рецензування, щоб дізнатися більше про процес рецензування.

2 - Попередній локальний перегляд змін

Before you're going to open a new PR, previewing your changes is recommended. A preview lets you catch build errors or markdown formatting problems.

Попередній перегляд змін локально

Ви можете або створити образ контейнера вебсайту, або запустити Hugo локально. Створення образу контейнера відбувається повільніше, але відображає Hugo shortcodes, що може бути корисним для налагодження.

Примітка:

Наведені нижче команди використовують Docker як стандартний контейнерний рушій. Щоб змінити це налаштування, встановіть змінну середовища CONTAINER_ENGINE.
  1. Створіть образ контейнера локально Цей крок необхідний лише у випадку, якщо ви тестуєте зміни в самому інструменті Hugo

    # Запустіть це в терміналі (якщо потрібно)
    make container-image
    
  2. Завантажте залежності субмодуля у свій локальний репозиторій:

    # Запустіть це в терміналі
    make module-init
    
  3. Запустіть Hugo в контейнері:

    # Запустіть це в терміналі
    make container-serve
    
  4. У вебоглядачі перейдіть за адресою http://localhost:1313. Hugo відстежує зміни та перекомпілює сайт за потреби.

  5. Щоб зупинити локальний екземпляр Hugo, поверніться до терміналу та натисніть Ctrl+C або закрийте вікно терміналу.

Або ж встановіть і використовуйте команду hugo на своєму компʼютері:

  1. Встановіть версії Hugo (розширена версія) та Node, зазначені у файлі website/netlify.toml.

  2. Встановіть усі залежності:

    npm ci
    
  3. У терміналі перейдіть до репозиторію вебсайту Kubernetes і запустіть сервер Hugo:

    cd <path_to_your_repo>/website
    make serve
    

    Якщо ви використовуєте компʼютер з ОС Windows або не можете виконати команду make, скористайтеся наступною командою:

    hugo server --buildFuture
    
  4. У вебоглядачі перейдіть за адресою http://localhost:1313. Hugo відстежує зміни та за потреби перебудовує сайт.

  5. Щоб зупинити локальний екземпляр Hugo, поверніться до терміналу та натисніть Ctrl+C або закрийте вікно терміналу.

Усунення несправностей

error: failed to transform resource: TOCSS: failed to transform "scss/main.scss" (text/x-scss): this feature is not available in your current Hugo

version Hugo постачається у двох наборах бінарних файлів з технічних причин. Поточний вебсайт працює виключно на основі версії Hugo Extended. На сторінці випуску знайдіть архіви з назвою, що містить слово extended. Щоб підтвердити, запустіть hugo version і знайдіть слово extended.

Усунення несправностей macOS через занадто велику кількість відкритих файлів

Якщо ви запускаєте make serve в macOS і отримуєте таку помилку:

ERROR 2020/08/01 19:09:18 Error: listen tcp 127.0.0.1:1313: socket: too many open files
make: *** [serve] Error 1

Спробуйте перевірити поточний ліміт відкритих файлів:

launchctl limit maxfiles

Потім виконайте наступні команди (на основі https://gist.github.com/tombigel/d503800a282fcadbee14b537735d202c):

#!/bin/sh

# These are the original gist links, linking to my gists now.
# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxfiles.plist
# curl -O https://gist.githubusercontent.com/a2ikm/761c2ab02b7b3935679e55af5d81786a/raw/ab644cb92f216c019a2f032bbf25e258b01d87f9/limit.maxproc.plist

curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxfiles.plist
curl -O https://gist.githubusercontent.com/tombigel/d503800a282fcadbee14b537735d202c/raw/ed73cacf82906fdde59976a0c8248cce8b44f906/limit.maxproc.plist

sudo mv limit.maxfiles.plist /Library/LaunchDaemons
sudo mv limit.maxproc.plist /Library/LaunchDaemons

sudo chown root:wheel /Library/LaunchDaemons/limit.maxfiles.plist
sudo chown root:wheel /Library/LaunchDaemons/limit.maxproc.plist

sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist

Це працює як для Catalina, так і для Mojave macOS.

Unable to find image 'gcr.io/k8s-staging-sig-docs/k8s-website-hugo:VERSION' locally

Якщо ви запускаєте make container-serve і бачите цю помилку, це може бути повʼязано з локальними змінами, внесеними до певних файлів визначених у $IMAGE_VERSION файлу Makefile.

Версія образу вебсайту включає хеш, який генерується на основі вмісту перелічених файлів. Наприклад, якщо 1b9242684415 є хешем для цих файлів, образ вебсайту буде називатися k8s-website-hugo:v0.133.0-1b9242684415. Виконання make container-serve спробує витягнути такий образ із GCR вебсайту Kubernetes. Якщо це не поточна версія, ви побачите повідомлення про помилку, що цей образ відсутній.

Якщо вам потрібно внести зміни в ці файли та переглянути вебсайт, вам доведеться створити локальний образ замість витягування попередньо створеного. Для цього виконайте make container-image.

Інші проблеми

Якщо у вас виникли інші проблеми з локальним запуском вебсайту та/або попереднім переглядом змін, не соромтеся відкрити тікет у репозиторії GitHub kubernetes/website.

3 - Документування функцій для випуску

Кожен великий випуск Kubernetes вводить нові функції, які потребують документації. Нові випуски також приносять оновлення наявних функцій і документації (наприклад, оновлення функції з alpha до beta).

Зазвичай робоча група SIG, відповідальна за функцію, подає чернетку документації функції як pull request до відповідної гілки розробки репозиторію kubernetes/website, а хтось з команди SIG Docs надає редакторський відгук або безпосередньо редагує чернетку. Цей розділ охоплює конвенції з гілками та процес, що використовуються під час релізу обома групами.

Щоб дізнатися про анонсування функцій у блозі, прочитайте про комунікацію після випуску.

Для авторів документації

Зазвичай автори документації не пишуть контент з нуля для випуску. Замість цього вони працюють з SIG, що створює нову функцію, щоб вдосконалити чернетку документації та підготувати її до випуску.

Після того як ви вибрали функцію для документування або допомоги, запитайте про це в каналі Slack #sig-docs, на щотижневій зустрічі SIG Docs або безпосередньо в PR, поданому для функції SIG. Якщо вам дозволено, ви можете редагувати PR, використовуючи один з методів, описаних у внесення змін в PR іншої особи.

Дізнайтеся про майбутні функції

Щоб дізнатися про майбутні функції, відвідуйте щотижневу зустріч SIG Release (див. сторінку Спільнота для отримання інформації про майбутні зустрічі) і слідкуйте за документацією, що стосується випуску, в репозиторії kubernetes/sig-release. Кожен випуск має вкладену теку в теці releases. У теці міститься розклад випуску, чернетка приміток до випуску та документ, в якому перераховані всі учасники команди випуску.

Розклад випуску містить посилання на всі інші документи, зустрічі, протоколи зустрічей та етапи, що стосуються випуску. Він також містить інформацію про цілі та графік випуску та будь-які спеціальні процеси для цього випуску. Внизу документа визначено кілька термінів, що стосуються випуску.

Цей документ також містить посилання на Feature tracking sheet, що є офіційним способом дізнатися про всі нові функції, заплановані для включення в випуск.

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

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

Лист відстеження функцій

Лист відстеження функцій для конкретного випуску Kubernetes перераховує кожну функцію, заплановану для випуску. Кожен пункт включає назву функції, посилання на основний тікет функції на GitHub, її рівень стабільності (Alpha, Beta або Stable), SIG і особу, відповідальну за її реалізацію, чи потрібна документація, чернетку примітки до випуску для функції та інформацію про те, чи була вона злитою. Памʼятайте наступне:

  • Функції Beta і Stable зазвичай мають вищий пріоритет для документації, ніж функції Alpha.
  • Випробувати (і, отже, задокументувати) функцію, яка ще не злилася або вважається завершеною в PR, складно.
  • Визначення, чи потрібна функції документація, є ручним процесом. Навіть якщо функція не позначена як така, що потребує документації, вам може знадобитися її задокументувати.

Для розробників або інших учасників SIG

Цей розділ є інформацією для членів інших SIG Kubernetes, які документують нові функції для випуску.

Якщо ви є членом SIG, що розробляє нову функцію для Kubernetes, вам потрібно працювати з SIG Docs, щоб забезпечити документацію вашої функції вчасно для випуску. Перевірте список відстеження функцій або перевірте в каналі Slack Kubernetes #sig-release, щоб ознайомитись з деталями планування та строками.

Створіть попередній PR

  1. Створіть pull request чернетку на основі гілки dev-1.36 в репозиторії kubernetes/website, з невеликим комітом, який ви пізніше виправите. Щоб створити pull request чернетку, скористайтеся спадним меню Create Pull Request та виберіть Create Draft Pull Request, потім натисніть Draft Pull Request.
  2. Відредагуйте опис pull request, щоб включити посилання на kubernetes/kubernetes PR(и) та тікет(и) kubernetes/enhancements.
  3. Залиште коментар у відповідному kubernetes/enhancements тікеті з посиланням на PR, щоб сповістити особу з документації, яка управляє цим випуском, що документація функції готується і повинна бути відстежена для випуску.

Якщо ваша функція не потребує жодних змін документації, переконайтеся, що команда sig-release знає про це, зазначивши це в каналі Slack #sig-release. Якщо функція потребує документації, але PR не створений, функція може бути видалена з віхи (milestone).

PR готовий до рецензування

Коли будете готові, заповніть ваш попередній PR з документацією про функцію та змініть стан PR з чернетки на готовий до рецензування. Щоб позначити pull request як готовий до огляду, перейдіть до блоку злиття і натисніть Ready for review.

Зробіть все можливе, щоб описати вашу функцію та як її використовувати. Якщо вам потрібна допомога в структуризації вашої документації, запитайте в каналі Slack #sig-docs.

Коли ви завершите свій контент, особа з документації, призначена для вашої функції, перегляне його. Щоб забезпечити технічну точність, контент може також вимагати технічного огляду від відповідних SIG. Використовуйте їхні пропозиції, щоб підготувати контент до стану, готового до випуску.

Якщо ваша функція потребує документації, а перший чорновий варіант контенту не отримано, функція може бути видалена з проміжного етапу.

Функціональні можливості

Якщо ваша функція є Alpha або Beta функцією і залежить від (уві)вимкнення функціональних можливостей, вам потрібен файл функціональних можливостей для неї в content/en/docs/reference/command-line-tools-reference/feature-gates/. Назва файлу має бути назвою функціональних можливостей з розширенням .md. Ви можете подивитися інші файли, що вже знаходяться в цій теці, щоб отримати підказку про те, як повинен виглядати ваш файл. Зазвичай одного абзацу достатньо; для довших пояснень додайте документацію в інше місце і посилайтеся на неї.

Також, щоб забезпечити, що ваші функціональні можливості зʼявляться в таблиці Функціональні можливості Alpha/Beta, включіть наступні деталі у front matter вашого файлу Markdown:

stages:
  - stage: <alpha/beta/stable/deprecated>  # Вкажіть етап розробки функціональних можливостей
    defaultValue: <true or false>     # Встановіть на true, якщо стандартно увімкнено, false в іншому випадку
    fromVersion: <Version>            # Версія, з якої доступна функціональна можливість
    toVersion: <Version>              # (Необов'язково) Версія до якої функціональна можливість доступна

Для нових функціональних можливостей також необхідний їх окремий опис; створіть новий Markdown файл в content/en/docs/reference/command-line-tools-reference/feature-gates/ (використовуйте інші файли як шаблон).

Коли ви змінюєте функціональну можливість зі стану стандартно вимкнено на стандартно увімкнено, вам також може знадобитися змінити іншу документацію (не лише список функціональних можливостей). Звертайте увагу на такі формулювання, як "Поле exampleSetting є полем beta і є стандартно вимкненим. Ви можете увімкнути його, увімкнувши функціональну можливість ProcessExampleThings."

Якщо ваша функція GA'ed або знята з підтримки (deprecated), додайте додатковий запис stage у блок stages в файлі опису. Переконайтеся, що етапи Alpha та Beta залишаються незмінними. Цей крок переводить функціональну можливість з Функціональних можливостей для Alpha/Beta таблиці до таблиці Функціональних можливостей для стабільних або застарілих функцій. Наприклад:

stages:
  - stage: alpha
    defaultValue: false
    fromVersion: "1.12"
    toVersion: "1.12"
  - stage: beta
    defaultValue: true
    fromVersion: "1.13"
  # Додано `toVersion` до попереднього стану.
    toVersion: "1.18"
  # Додано блок 'stable' для поточного стану.
  - stage: stable
    defaultValue: true
    fromVersion: "1.19"
    toVersion: "1.27"

Зрештою, Kubernetes взагалі перестане включати функціональну можливість. Щоб вказати на видалення функціональної можливості, включіть removed: true у front matter відповідного файлу опису. Ця дія викликає перехід функціональної можливості з розділу Функціональні можливості для стабільних або застарілих функцій до окремої сторінки з назвою Функціональні можливості (вилучені), включаючи його опис.

Усі PR рецензовані та готові до злиття

Якщо ваш PR ще не був злитий у гілку dev-1.36 до крайнього терміну випуску, працюйте з особою з документації, що управляє випуском, щоб зробити це до моменту. Якщо ваша функція потребує документації, а документація ще не готова, функція може бути видалена з віхи (milestone).

4 - Подання прикладів використання

Приклади використання показують, як організації використовують Kubernetes для розвʼязання реальних проблем. Команда маркетингу Kubernetes та члени CNCF разом з вами працюватимуть над усіма прикладами використання.

Приклади використання потребують ретельного аналізу перед тим, як вони будуть затверджені.

Подання прикладу використання

Ознайомтеся з джерелом наявних прикладів використання.

Ознайомтеся з рекомендаціями щодо написання прикладів використання і надішліть свій запит, як зазначено в інструкції.