# Kubernetes 文档 [![Netlify Status](https://api.netlify.com/api/v1/badges/be93b718-a6df-402a-b4a4-855ba186c97d/deploy-status)](https://app.netlify.com/sites/kubernetes-io-main-staging/deploys) [![GitHub release](https://img.shields.io/github/release/kubernetes/website.svg)](https://github.com/kubernetes/website/releases/latest) 本仓库包含了所有用于构建 [Kubernetes 网站和文档](https://kubernetes.io/) 的软件资产。 我们非常高兴您想要参与贡献! ## 使用这个仓库 可以使用 Hugo(扩展版)在本地运行网站,也可以在容器中运行它。强烈建议使用容器,因为这样可以和在线网站的部署保持一致。 ## 前提条件 使用这个仓库,需要在本地安装以下软件: - [npm](https://www.npmjs.com/) - [Go](https://golang.org/) - [Hugo (Extended version)](https://gohugo.io/) - 容器运行时,比如 [Docker](https://www.docker.com/). 开始前,先安装这些依赖。克隆本仓库并进入对应目录: ``` git clone https://github.com/kubernetes/website.git cd website ``` Kubernetes 网站使用的是 [Docsy Hugo 主题](https://github.com/google/docsy#readme)。 即使你打算在容器中运行网站,我们也强烈建议你通过运行以下命令来引入子模块和其他开发依赖项: ``` # pull in the Docsy submodule git submodule update --init --recursive --depth 1 ``` ## 在容器中运行网站 要在容器中构建网站,请通过以下命令来构建容器镜像并运行: ``` make container-image make container-serve ``` 启动浏览器,打开 http://localhost:1313 来查看网站。 当你对源文件作出修改时,Hugo 会更新网站并强制浏览器执行刷新操作。 ## 在本地使用 Hugo 来运行网站 请确保安装的是 [`netlify.toml`](netlify.toml#L10) 文件中环境变量 `HUGO_VERSION` 所指定的 Hugo 扩展版本。 若要在本地构造和测试网站,请运行: ```bash # install dependencies npm ci make serve ``` 上述命令会在端口 1313 上启动本地 Hugo 服务器。 启动浏览器,打开 http://localhost:1313 来查看网站。 当你对源文件作出修改时,Hugo 会更新网站并强制浏览器执行刷新操作。 ## 故障排除 ### 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** 版本运行。 在 [发布页面](https://github.com/gohugoio/hugo/releases) 中查找名称为 `extended` 的归档。可以运行 `hugo version` 查看是否有单词 `extended` 来确认。 ### 对 macOS 上打开太多文件的故障排除 如果在 macOS 上运行 `make serve` 收到以下错误: ``` 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 工作 通过 [社区页面](https://github.com/kubernetes/community/tree/master/sig-docs#meetings) 进一步了解 SIG Docs Kubernetes 社区和会议信息。 你也可以通过以下渠道联系本项目的维护人员: - [Slack](https://kubernetes.slack.com/messages/sig-docs) [加入Slack](https://slack.k8s.io/) - [邮件列表](https://groups.google.com/forum/#!forum/kubernetes-sig-docs) # 为文档做贡献 你也可以点击屏幕右上方区域的 **Fork** 按钮,在你自己的 GitHub 账号下创建本仓库的拷贝。此拷贝被称作 *fork*。 你可以在自己的拷贝中任意地修改文档,并在你已准备好将所作修改提交给我们时, 在你自己的拷贝下创建一个拉取请求(Pull Request),以便让我们知道。 一旦你创建了拉取请求,某个 Kubernetes 评审人会负责提供明确的、可执行的反馈意见。 作为拉取请求的拥有者,*修改拉取请求以解决 Kubernetes 评审人所提出的反馈是你的责任*。 还要提醒的一点,有时可能会有不止一个 Kubernetes 评审人为你提供反馈意见。 有时候,某个评审人的意见和另一个最初被指派的评审人的意见不同。 更进一步,在某些时候,评审人之一可能会在需要的时候请求 Kubernetes 技术评审人来执行技术评审。 评审人会尽力及时地提供反馈意见,不过具体的响应时间可能会因时而异。 有关为 Kubernetes 文档做出贡献的更多信息,请参阅: * [贡献 Kubernetes 文档](https://kubernetes.io/docs/contribute/) * [页面内容类型](https://kubernetes.io/docs/contribute/style/page-content-types/) * [文档风格指南](https://kubernetes.io/docs/contribute/style/style-guide/) * [本地化 Kubernetes 文档](https://kubernetes.io/docs/contribute/localization/) # 中文本地化 可以通过以下方式联系中文本地化的维护人员: * Rui Chen ([GitHub - @chenrui333](https://github.com/chenrui333)) * He Xiaolong ([GitHub - @markthink](https://github.com/markthink)) * [Slack channel](https://kubernetes.slack.com/messages/kubernetes-docs-zh) # 行为准则 参与 Kubernetes 社区受 [CNCF 行为准则](https://github.com/cncf/foundation/blob/master/code-of-conduct.md) 约束。 # 感谢! Kubernetes 因为社区的参与而蓬勃发展,感谢您对我们网站和文档的贡献!