Цей репозиторій містить матеріали потрібні для створення вебсайту Kubernetes та документації. Ми щасливі, що ви хочете зробити свій внесок!
Ви можете запустити вебсайт локально, використовуючи Hugo (розширена версія), або ви можете запустити його в контейнерному середовищі. Ми настійно рекомендуємо використовувати контейнерне середовище, оскільки воно забезпечує однорідність розгортання порівняно з основним вебсайтом.
Для користування цим репозиторієм вам потрібно локально встановити наступні інструменти:
Перед тим як розпочати, встановіть залежності. Зробіть клон репозиторію та перейдіть в теку:
git clone https://github.com/kubernetes/website.git
cd website
Сайт Kubernetes використовує Docsy Hugo theme. Навіть якщо ви плануєте запускати вебсайт в контейнері, ми настійливо рекомендуємо встановити субмодулі та інші залежності зробивши наступне:
# отримання залежностей субмодулів
git submodule update --init --recursive --depth 1
# отримання залежностей субмодулів
make module-init
Для збирання вебсайту з використанням контейнера, зробіть наступне:
# Ви можете встановити у $CONTAINER_ENGINE назву будь-якого Docker-подібного інструменту
make container-serve
Якщо ви бачите помилку, скоріш за все це означає, що контейнеру hugo не вистачило обчислювальних ресурсів. Для її розвʼязання збільште обсяг процесорних потужностей та памʼяті для Docker у себе на компʼютері (MacOS та Windows).
Відкрийте у себе в оглядачі адресу http://localhost:1313 для перегляду локального вебсайту. По міри того, як ви вноситимете зміни в сирці, Hugo оновлюватиме вебсайт та перезавантажуватиме сторінку в оглядачі.
Переконайтесь, що ви встановили розширену версію Hugo яку вказано у змінній оточення HUGO_VERSION
файлу netlify.toml
.
Для встановлення залежностей, розгорніть та перевірте сайт локально:
npm ci
make serve
npm ci
hugo.exe server --buildFuture --environment development
Це призведе до запуску локального сервера Hugo, який відповідатиме на запити на порту 1313. Відкрийте у себе в оглядачі адресу http://localhost:1313 для перегляду локального вебсайту. По міри того, як ви вноситимете зміни в сирці, Hugo оновлюватиме вебсайт та перезавантажуватиме сторінку в оглядачі.
Довідкові сторінки API, розташовані в content/en/docs/reference/kubernetes-api
, створюються на основі специфікації Swagger, також відомої як специфікація OpenAPI, за допомогою https://github.com/kubernetes-sigs/reference-docs/tree/master/gen-resourcesdocs.
Для оновлення довідкових сторінок для нового випуску Kubernetes виконайте наступні кроки:
Отримайте субмодуль api-ref-generator
:
git submodule update --init --recursive --depth 1
Оновіть специфікацію Swagger:
curl 'https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json' > api-ref-assets/api/swagger.json
В api-ref-assets/config/
, змініть файли toc.yaml
та fields.yaml
, так щоб вони вказували на новий випуск.
Далі, зберіть сторінки:
make api-reference
Ви можете протестувати результати локально запустивши сайт з образу контейнера:
make container-image
make container-serve
У вебоглядачі перейдіть до http://localhost:1313/docs/reference/kubernetes-api/ для перегляду довідки API.
Коли всі зміни, щодо переходу на нову версію внесені у файли toc.yaml
та fields.yaml
, створіть запит на втягування (pull request) з новоствореними сторінками довідки API.
Hugo має два виконуваних файли з технічних причин. Поточний вебсайт запускається лише на Hugo Extended. На сторінці release page шукайте архів з extended
в назві. Для перевірки запустіть hugo version
та шукайте слово extended
у виводі.
Якщо ви запускаєте 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.
Дізнайтеся більше про спільноту SIG Docs Kubernetes та зустрічі на сторінці спільноти.
Ви також можете звʼязатися з супроводжуючими цього проєкту:
Ви можете натиснути кнопку Fork у верхній правій частині екрана, щоб створити копію цього репозиторію у своєму обліковому записі GitHub. Ця копія називається fork (відгалуження). Вносьте будь-які зміни, які ви хочете у своєму відгалуженні, і коли ви будете готові надіслати ці зміни нам, перейдіть до нього та створіть новий pull request (запит на втягування), щоб повідомити нас про це.
Після створення вашого запиту на втягування, рецензент Kubernetes візьме на себе відповідальність за надання чіткого та практичного відгуку. Як власник запиту на втягування, вам належить внести зміни до вашого запиту на втягування, щоб відповісти на отриманий відгук від рецензента Kubernetes.
Крім того, зверніть увагу, що у вас може бути більше одного рецензента Kubernetes, який надасть вам відгук, або ви можете отримати зворотний звʼязок від рецензента Kubernetes, який відрізняється від того, який спочатку був призначений для надання вам зворотного звʼязку.
Крім того, в деяких випадках один з ваших рецензентів може попросити технічний огляд у технічного рецензента Kubernetes, коли це необхідно. Рецензенти зроблять все можливе, щоб своєчасно надати відгук, але час відповіді може змінюватися залежно від обставин.
Для отримання додаткової інформації про внесок у документацію Kubernetes див.:
Якщо вам потрібна допомога в будь-який момент, коли ви робите свій внесок, помічник для нових учасників є тою особою, до якої варто звертатись. Вони затверджують роботу інших в SIG Docs, їх обов'язки включають наставництво нових учасників та допомогу їм у перших кількох запитах на злиття змін. Найкращим місцем для звʼязку з помічниками є Kubernetes Slack. Поточні помічники в SIG Docs:
Імʼя | Slack | GitHub |
---|---|---|
Sreeram Venkitesh | @sreeram.venkitesh | @sreeram-venkitesh |
Участь у спільноті Kubernetes регулюється Кодексом поведінки CNCF.
Kubernetes процвітає завдяки участі спільноти, і ми цінуємо ваш внесок у наш вебсайт та нашу документацію!