Цей репозиторій містить матеріали потрібні для створення вебсайту Kubernetes та документації. Ми щасливі, що ви хочете зробити свій внесок!
Ви можете запустити вебсайт локально, використовуючи Hugo (розширена версія), або ви можете запустити його в контейнерному середовищі. Ми настійно рекомендуємо використовувати контейнерне середовище, оскільки воно забезпечує однорідність розгортання порівняно з основним вебсайтом.
Для користування цим репозиторієм вам потрібно локально встановити наступні інструменти:
- npm
- Go
- Hugo (Розширена версія)
- Середовище запуску контейнерів, наприклад Docker.
Перед тим як розпочати, встановіть залежності. Зробіть клон репозиторію та перейдіть в теку:
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
.
Для встановлення залежностей, розгорніть та перевірте сайт локально:
- На macOS та Linux
npm ci make serve
- На Windows (PowerShell)
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.
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. На сторінці 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 див.:
- Участь в створені документації Kubernetes
- Типи вмісту сторінок
- Посібник зі стилю документації
- Локалізація документації Kubernetes
- Introduction to Kubernetes Docs
Якщо вам потрібна допомога в будь-який момент, коли ви робите свій внесок, помічник для нових учасників є тою особою, до якої варто звертатись. Вони затверджують роботу інших в SIG Docs, їх обов'язки включають наставництво нових учасників та допомогу їм у перших кількох запитах на злиття змін. Найкращим місцем для звʼязку з помічниками є Kubernetes Slack. Поточні помічники в SIG Docs:
Імʼя | Slack | GitHub |
---|---|---|
Sreeram Venkitesh | @sreeram.venkitesh | @sreeram-venkitesh |
Участь у спільноті Kubernetes регулюється Кодексом поведінки CNCF.
Kubernetes процвітає завдяки участі спільноти, і ми цінуємо ваш внесок у наш вебсайт та нашу документацію!