Kho lưu trữ này chứa các tài sản cần thiết để xây dựng trang web và tài liệu Kubernetes. Chúng tôi rất vui mừng khi bạn muốn đóng góp!
Bạn có thể chạy trang web này ở chế độ local bằng cách sử dụng Hugo (Phiên bản mở rộng), hoặc bạn có thể chạy nó trong một container runtime. Chúng tôi mạnh mẽ khuyến nghị sử dụng container runtime, vì nó mang lại tính nhất quán trong triển khai với trang web thực tế.
Để sử dụng kho lưu trữ này, bạn cần cài đặt các phần mềm sau trên máy tính của bạn:
- npm
- Go
- Hugo (Phiên bản mở rộng)
- Một container runtime, như Docker.
Trước khi bắt đầu, hãy cài đặt các phụ thuộc. Sao chép kho lưu trữ và di chuyển đến thư mục:
git clone https://github.com/kubernetes/website.git
cd website
Trang web Kubernetes sử dụng chủ đề Docsy Hugo. Ngay cả khi bạn dự định chạy trang web trong một vùng chứa, chúng tôi thực sự khuyên bạn nên kéo mô-đun con và các phần phụ thuộc phát triển khác bằng cách chạy như sau:
# fetch submodule dependencies
git submodule update --init --recursive --depth 1
# fetch submodule dependencies
make module-init
Để xây dựng trang web trong một container, chạy lệnh sau:
# Bạn có thể đặt biến $CONTAINER_ENGINE thành tên của bất kỳ công cụ container giống Docker nào
make container-serve
Nếu bạn thấy lỗi, điều đó có thể có nghĩa là container Hugo không có đủ tài nguyên điện toán. Để giải quyết nó, hãy tăng số lượng sử dụng CPU và bộ nhớ được phép cho Docker trên máy của bạn ([macOS] (https://docs.docker.com/desktop/setings/mac/) và [windows] (https: // tài liệu .Docker.com/Desktop/Cài đặt/Windows/)).
Mở trình duyệt của bạn để http://localhost:1313 để xem trang web. Khi bạn thay đổi các tệp nguồn, Hugo cập nhật trang web và buộc phải làm mới trình duyệt.
Đảm bảo cài đặt phiên bản mở rộng Hugo được chỉ định bởi biến môi trường Hugo_version
trong tệp [netlify.toml
] (netlify.toml#l11).
Để cài đặt các phụ thuộc, triển khai và kiểm tra trang web cục bộ, chạy:
-
Đối với MacOS và Linux
npm ci make serve
-
Đối với Windows (PowerShell)
npm ci hugo.exe server --buildFuture --environment development
Điều này sẽ khởi động máy chủ Hugo cục bộ trên cổng 1313. Mở trình duyệt của bạn thành http://localhost:1313 để xem trang web. Khi bạn thay đổi các tệp nguồn, Hugo cập nhật trang web và buộc phải làm mới trình duyệt.
Các trang tài liệu tham khảo API nằm trong content/en/docs/reference/kubernetes-api
được xây dựng từ Swagger specification, còn được gọi là OpenAPI specification, sử dụng https://github.com/kubernetes-sigs/reference-docs/tree/master/gen-resourcesdocs.
Để cập nhật các trang tài liệu tham khảo cho một phiên bản Kubernetes mới, làm theo các bước sau:
-
Kéo về submodule
api-ref-generator
:git submodule update --init --recursive --depth 1
-
Cập nhật Swagger specification:
curl 'https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json' > api-ref-assets/api/swagger.json
-
Trong
api-ref-assets/config/
, điều chỉnh các tệptoc.yaml
vàfields.yaml
để phản ánh các thay đổi của phiên bản mới. -
Tiếp theo, xây dựng các trang:
make api-reference
Bạn có thể kiểm tra kết quả trên máy cục bộ bằng cách xây dựng và chạy trang web từ một container:
make container-serve
Trong trình duyệt web, truy cập vào http://localhost:1313/docs/reference/kubernetes-api/ để xem tài liệu tham khảo API.
-
Khi tất cả các thay đổi của hợp đồng mới được phản ánh vào các tệp cấu hình
toc.yaml
vàfields.yaml
, tạo một Pull Request với các trang tài liệu tham khảo API mới được tạo ra.
Lỗi: failed to transform resource: TOCSS: failed to transform "scss/main.scss" (text/x-scss): tính năng này không khả dụng trong phiên bản Hugo hiện tại của bạn
Hugo được cung cấp dưới dạng hai bộ công cụ nhị phân vì lý do kỹ thuật. Trang web hiện tại chạy dựa trên phiên bản Hugo Extended duy nhất. Trong trang phát hành, tìm kiếm các bản lưu trữ có chứa từ khóa extended
trong tên. Để xác nhận, chạy hugo version
và tìm từ khóa extended
.
Nếu bạn chạy make serve
trên macOS và nhận được lỗi sau đây:
ERROR 2020/08/01 19:09:18 Error: listen tcp 127.0.0.1:1313: socket: too many open files
make: *** [serve] Error 1
Hãy kiểm tra giới hạn hiện tại cho số tệp mở:
launchctl limit maxfiles
Sau đó, chạy các lệnh sau (được thích nghi từ https://gist.github.com/tombigel/d503800a282fcadbee14b537735d202c):
#!/bin/sh
# Đây là các liên kết gist gốc, liên kết đến các gist của tôi ngay bây giờ.
# 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
Điều này hoạt động cho cả macOS Catalina và Mojave.
Tìm hiểu thêm về cộng đồng SIG Docs Kubernetes và cuộc họp trên trang cộng đồng.
Bạn cũng có thể liên hệ với những người duy trì dự án này tại:
Bạn có thể nhấp vào nút Fork ở phía trên bên phải của màn hình để tạo một bản sao của kho lưu trữ này trong tài khoản GitHub của bạn. Bản sao này được gọi là fork. Thực hiện bất kỳ thay đổi nào bạn muốn trong fork của bạn, và khi bạn sẵn sàng gửi những thay đổi đó cho chúng tôi, hãy vào fork của bạn và tạo một pull request mới để thông báo cho chúng tôi biết về nó.
Sau khi pull request của bạn được tạo, một người xem Kubernetes sẽ chịu trách nhiệm cung cấp phản hồi rõ ràng, có thể thực hiện được. Là chủ sở hữu của pull request, bạn có trách nhiệm sửa đổi pull request của mình để giải quyết phản hồi đã được cung cấp cho bạn bởi người xem Kubernetes.
Lưu ý rằng bạn có thể nhận được phản hồi từ nhiều người đánh giá Kubernetes hoặc bạn có thể nhận được phản hồi từ một người đánh giá Kubernetes khác với người được chỉ định ban đầu để cung cấp phản hồi.
Hơn nữa, trong một số trường hợp, một trong những người đánh giá của bạn có thể yêu cầu một đánh giá kỹ thuật từ một người đánh giá kỹ thuật Kubernetes khi cần thiết. Người đánh giá sẽ cố gắng cung cấp phản hồi một cách kịp thời, nhưng thời gian phản hồi có thể thay đổi tùy thuộc vào các tình huống.
Để biết thêm thông tin về việc đóng góp vào tài liệu Kubernetes, hãy xem:
- Đóng góp vào tài liệu Kubernetes
- Loại nội dung trang
- Hướng dẫn về phong cách tài liệu
- Dịch tài liệu Kubernetes
- Giới thiệu về tài liệu Kubernetes
Nếu bạn cần trợ giúp bất kỳ lúc nào khi đóng góp, Đại sứ đóng góp mới là điểm liên lạc tốt. Đây là những người phê duyệt SIG Docs có trách nhiệm hướng dẫn các đóng góp viên mới và giúp họ qua những pull request đầu tiên. Nơi tốt nhất để liên hệ với Đại sứ đóng góp mới là trên Kubernetes Slack. Đại sứ đóng góp mới hiện tại cho SIG Docs:
Name | Slack | GitHub |
---|---|---|
Arsh Sharma | @arsh | @RinkiyaKeDad |
Language | Language |
---|---|
Chinese | Korean |
French | Polish |
German | Portuguese |
Hindi | Russian |
Indonesian | Spanish |
Italian | Ukrainian |
Japanese | Vietnamese |
Sự tham gia vào cộng đồng Kubernetes được điều chỉnh bởi Quy tắc ứng xử của CNCF.
Kubernetes phát triển dựa trên sự tham gia của cộng đồng, và chúng tôi đánh giá cao những đóng góp của bạn cho trang web và tài liệu của chúng tôi!