撰寫新主題

本頁說明如何為 Kubernetes 文件建立新主題。

開始之前

開啟 PR中所述,建立 Kubernetes 文件儲存庫的分支。

選擇頁面類型

當您準備撰寫新主題時,請思考最適合您內容的頁面類型

選擇頁面類型的指南
類型描述
概念概念頁面說明 Kubernetes 的某些方面。例如,概念頁面可能會描述 Kubernetes Deployment 物件,並說明其在應用程式部署、擴展與更新時所扮演的角色。通常,概念頁面不包含步驟序列,而是提供任務或教學課程的連結。如需概念主題的範例,請參閱節點
任務任務頁面說明如何執行單一操作。目的是為讀者提供一系列步驟,讓他們在閱讀頁面時可以實際執行。任務頁面可以是短篇或長篇,前提是它始終專注於一個領域。在任務頁面中,可以將簡短的解釋與要執行的步驟混合在一起,但如果您需要提供冗長的解釋,則應在概念主題中執行。相關的任務與概念主題應互相連結。如需簡短任務頁面的範例,請參閱設定 Pod 以使用磁碟區進行儲存。如需較長任務頁面的範例,請參閱設定存活度與就緒度探測
教學課程教學課程頁面說明如何達成將多個 Kubernetes 功能結合在一起的目標。教學課程可能會提供多個步驟序列,讓讀者在閱讀頁面時可以實際執行。或者,它可能會提供相關程式碼片段的說明。例如,教學課程可以提供程式碼範例的導覽。教學課程可以包含對所結合 Kubernetes 功能的簡短說明,但應連結至相關的概念主題,以深入解釋個別功能。

建立新頁面

為您撰寫的每個新頁面使用內容類型。文件網站提供範本或Hugo 原型以建立新的內容頁面。若要建立新的頁面類型,請執行 hugo new 並指定您要建立檔案的路徑。例如

hugo new docs/concepts/my-first-concept.md

選擇標題與檔案名稱

選擇包含您希望搜尋引擎找到的關鍵字的標題。建立一個檔案名稱,其中使用標題中的單字,並以連字號分隔。例如,標題為使用 HTTP 代理伺服器存取 Kubernetes API的主題,其檔案名稱為 http-proxy-access-api.md。您不需要在檔案名稱中放入「kubernetes」,因為「kubernetes」已經在主題的 URL 中,例如

   /docs/tasks/extend-kubernetes/http-proxy-access-api/

將主題標題新增至 Front Matter

在您的主題中,在Front Matter中放入 title 欄位。Front Matter 是頁面頂部三條虛線之間的 YAML 區塊。以下是一個範例

---
title: Using an HTTP Proxy to Access the Kubernetes API
---

選擇目錄

根據您的頁面類型,將您的新檔案放入下列其中一個的子目錄中

  • /content/en/docs/tasks/
  • /content/en/docs/tutorials/
  • /content/en/docs/concepts/

您可以將檔案放入現有的子目錄中,也可以建立新的子目錄。

將您的主題放在目錄表中

目錄表是使用文件來源的目錄結構動態建立的。/content/en/docs/ 下的最上層目錄會建立最上層導覽,而子目錄在目錄表中各有項目。

每個子目錄都有一個檔案 _index.md,代表給定子目錄內容的「首頁」。_index.md 不需要範本。它可以包含關於子目錄中主題的總覽內容。

目錄中的其他檔案預設會依字母順序排序。這幾乎永遠不是最佳順序。若要控制子目錄中主題的相對排序,請將 weight: Front Matter 鍵設定為整數。通常,我們使用 10 的倍數,以便在稍後新增主題時考慮在內。例如,權重為 10 的主題會排在權重為 20 的主題之前。

在您的主題中嵌入程式碼

如果您想在主題中包含一些程式碼,您可以直接使用 Markdown 程式碼區塊語法將程式碼嵌入檔案中。建議用於下列情況(並非詳盡清單)

  • 程式碼顯示來自命令的輸出,例如 kubectl get deploy mydeployment -o json | jq '.status'
  • 程式碼不夠通用,使用者無法試用。例如,您可以嵌入用於建立 Pod 的 YAML 檔案,該檔案取決於特定的FlexVolume 實作。
  • 程式碼是不完整的範例,因為其目的是突顯較大檔案的一部分。例如,在描述自訂RoleBinding的方式時,您可以直接在主題檔案中提供簡短的程式碼片段。
  • 由於其他原因,程式碼不適合使用者試用。例如,在描述如何使用 kubectl edit 命令將新屬性新增至資源時,您可以提供一個簡短的範例,其中僅包含要新增的屬性。

從另一個檔案包含程式碼

在主題中包含程式碼的另一種方法是建立新的完整範例檔案(或範例檔案群組),然後從您的主題參考範例。當範例是通用的且可重複使用,且您希望讀者自行試用時,請使用此方法來包含範例 YAML 檔案。

新增新的獨立範例檔案(例如 YAML 檔案)時,請將程式碼放在 <LANG>/examples/ 子目錄之一中,其中 <LANG> 是主題的語言。在您的主題檔案中,使用 code_sample Shortcode

{{% code_sample file="<RELPATH>/my-example-yaml>" %}}

其中 <RELPATH> 是要包含的檔案路徑,相對於 examples 目錄。以下 Hugo 簡碼參考位於 /content/en/examples/pods/storage/gce-volume.yaml 的 YAML 檔案。

{{% code_sample file="pods/storage/gce-volume.yaml" %}}

示範如何從組態檔建立 API 物件

如果您需要示範如何根據組態檔建立 API 物件,請將組態檔放置在 <LANG>/examples 底下的子目錄之一。

在您的主題中,顯示此命令

kubectl create -f https://k8s.io/examples/pods/storage/gce-volume.yaml

如需使用此技術的主題範例,請參閱執行單一實例有狀態應用程式

將圖片新增至主題

將圖片檔案放在 /images 目錄中。建議的圖片格式為 SVG。

下一步

上次修改時間為 2023 年 12 月 29 日下午 9:47 PST:fix outdated link/anchor (bcc55ae7c9)