交互式教程下线

本网站之前的交互式教程已经下线。

Kubernetes 非常感谢 O'Reilly 和 Katacoda 多年来帮助人们迈出学习 Kubernetes 的第一步。

此次下线是在 O'Reilly Media 于 2019 年收购 Katacoda 之后进行的。


这些教程在 2023 年 3 月 31 日之后停止运作。您看到此通知是因为在下线之后,该特定页面尚未更新。

文档冒烟测试页面

此页面有两个目的

  • 演示 Kubernetes 文档如何使用 Markdown
  • 提供一个“冒烟测试”文档,用于测试影响整体文档的 HTML、CSS 和模板更改。

标题级别

上面的标题是 H2。页面标题渲染为 H1。以下各节显示 H3 - H6。

### H3

This is in an H3 section.

#### H4

This is in an H4 section.

##### H5

This is in an H5 section.

###### H6

This is in an H6 section.

生成

H3

这是在 H3 章节中。

H4

这是在 H4 章节中。

H5

这是在 H5 章节中。

H6

这是在 H6 章节中。

行内元素

行内元素显示在段落、列表项、警告提示或其他块级元素的文本中。

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

行内文本样式

您可以在 Markdown 中使用不同的文本样式,例如

- **bold**
- _italic_
- ***bold italic***
- ~~strikethrough~~
- <u>underline</u>
- _<u>underline italic</u>_
- **<u>underline bold</u>**
- ***<u>underline bold italic</u>***
- `monospace text`
- **`monospace bold`**

生成

  • 粗体
  • 斜体
  • 粗斜体
  • 删除线
  • 下划线
  • 下划线斜体
  • 下划线粗体
  • 下划线粗斜体
  • 等宽文本
  • 等宽粗体

列表

Markdown 没有关于如何处理列表的严格规则。当我们从 Jekyll 迁移到 Hugo 时,破坏了一些列表。为了修复它们,请记住以下几点

  • 确保将子列表项缩进 2 个空格

  • 要结束一个列表并开始另一个列表,需要在两个列表之间的新行上使用 HTML 注释块,并与左边界对齐。否则第一个列表不会结束,无论你在它和第二个列表之间放多少空行。

无序列表

您可以在 Markdown 中添加无序列表,例如

- This is a list item.
* This is another list item in the same list.
- You can mix `-` and `*`.
  - To make a sub-item, indent two spaces.
    - This is a sub-sub-item. Indent two more spaces.
  - Another sub-item.

生成

  • 这是一个列表项。
  • 这是同一列表中的另一个列表项。
  • 您可以混合使用 -*
    • 要创建子项,缩进两个空格。
      • 这是一个子子项。再缩进两个空格。
    • 另一个子项。

此外,

  • 这是一个新列表。使用 Hugo,您需要使用 HTML 注释来分隔两个连续的列表。HTML 注释需要位于左边距。

  • 无序列表可以包含段落或块元素。

    将内容缩进到与项目符号的第一行相同。此段落和代码块与上方 Bullet 中的第一个 B 对齐。

    ls -l
    
    • 以及在一些块级内容之后的子列表
  • 无序列表项可以包含有序列表。

    1. 有序子列表项 1
    2. 有序子列表项 2

有序列表

  1. 这是一个列表项。
  2. 这是同一列表中的另一个列表项。您在 Markdown 中使用的数字并不一定与最终输出中的数字相关。按照惯例,我们保持它们同步。

说明

对于个位数有序列表,在句点后使用两个空格可以让内部块级内容更好地沿制表位对齐。
  1. 这是一个新列表。使用 Hugo,您需要使用 HTML 注释来分隔两个连续的列表。HTML 注释需要位于左边距。

  2. 有序列表可以包含段落或块元素。

    将内容缩进到与项目符号的第一行相同。此段落和代码块与上方 Numbered 中的 N 对齐。

    ls -l
    
    • 以及在一些块级内容之后的子列表。尽管缩进更多,但这与上面的段落和代码块处于相同的“级别”。

选项卡列表

选项卡列表可用于有条件地显示内容,例如,当需要记录多个选项时,这些选项需要不同的说明或上下文。

请选择一个选项。

选项卡也可以嵌套格式样式。

  1. 有序
  2. (或无序)
  3. 列表
echo 'Tab lists may contain code blocks!'

选项卡列表中的标题

还可以包含嵌套的标题标签。

警告

选项卡列表中的标题不会出现在目录中。

检查列表

检查列表在技术上是无序列表,但 CSS 会隐藏项目符号。

  • 这是一个检查列表项
  • 这是一个选中的检查列表项

代码块

您可以通过在代码块前后行用三个反引号字符包围来创建代码块,有两种方法。仅对代码块使用反引号(代码围栏)。 这使您可以指定所包含代码的语言,从而实现语法高亮。它也比使用缩进更具可预测性。

this is a code block created by back-ticks

反引号方法有一些优点。

  • 它几乎每次都有效。
  • 查看源代码时它更紧凑。
  • 它允许您指定代码块所在的语言,以便进行语法高亮。
  • 它有一个明确的结束。有时,对于像 Python 或 YAML 这样空格很重要的语言,缩进方法会失效。

要为代码块指定语言,请将其直接放在第一组反引号后面

ls -l

Kubernetes 文档代码块中常用的语言包括

  • bash / shell (两者效果相同)
  • go
  • json
  • yaml
  • xml
  • none (禁用该块的语法高亮)

包含 Hugo 短代码的代码块

要显示原始 Hugo 短代码(如上例所示)并防止 Hugo 解析它们,请在 < 字符之后和 > 字符之前直接使用 C 风格注释。下面的示例说明了这一点(查看此页面的 Markdown 源码)。

{{< alert color="warning" >}}This is a warning.{{< /alert >}}

要格式化链接,请将链接文本放在方括号内,后跟圆括号中的链接目标。

  • [链接到 Kubernetes.io](https://kubernetes.ac.cn/)
  • [到 Kubernetes.io 的相对链接](/)

您也可以使用 HTML,但不推荐。例如,<a href="https://kubernetes.ac.cn/">链接到 Kubernetes.io</a>

镜像

要格式化图像,请使用与链接相似的语法,但添加一个前导 ! 字符。方括号包含图像的替代文本 (alt text)。尽量始终使用替代文本,以便使用屏幕阅读器的人可以从图像中获得一些益处。

![pencil icon](/images/pencil.png)

生成

pencil icon

要指定扩展属性(如宽度、标题、说明等),请使用 figure 短代码,这比使用 HTML <img> 标签更可取。此外,如果您需要图像同时作为超链接,请使用 link 属性,而不是像下面那样将整个 figure 包裹在 Markdown 链接语法中。

An image used to illustrate the figure shortcode

铅笔图标

用于说明 figure 短代码的图像

即使您选择不使用 figure 短代码,图像也可以作为链接。这次铅笔图标链接到 Kubernetes 网站。外层方括号包含整个图像标签,链接目标在末尾的圆括号中。

[![pencil icon](/images/pencil.png)](https://kubernetes.ac.cn)

生成

pencil icon

您也可以将 HTML 用于图像,但不推荐。

<img src="/images/pencil.png" alt="pencil icon" />

生成

pencil icon

表格

简单表格每行一行,列由 | 字符分隔。标题与正文由仅包含至少三个 - 字符的单元格分隔。为了易于维护,请尝试保持所有单元格分隔符对齐,即使您需要使用额外的空格。

标题单元格 1标题单元格 2
正文单元格 1正文单元格 2

标题是可选的。任何由 | 分隔的文本都将渲染为表格。

Markdown 表格在单元格内包含块级元素(如列表项、代码块或多个段落)时比较困难。对于复杂或非常宽的表格,请改用 HTML。

<table>
<thead>
  <tr>
    <th>Heading cell 1</th>
    <th>Heading cell 2</th>
  </tr>
</thead>
<tbody>
  <tr>
    <td>Body cell 1</td>
    <td>Body cell 2</td>
  </tr>
</tbody>
</table>

生成

标题单元格 1标题单元格 2
正文单元格 1正文单元格 2

使用 Mermaid 可视化

您可以使用 Mermaid JS 可视化。Mermaid JS 版本在 /layouts/partials/head.html 中指定

{{< mermaid >}}
graph TD;
  A-->B;
  A-->C;
  B-->D;
  C-->D;
{{</ mermaid >}}

生成

graph TD; A-->B; A-->C; B-->D; C-->D;
{{< mermaid >}}
sequenceDiagram
    Alice ->> Bob: Hello Bob, how are you?
    Bob-->>John: How about you John?
    Bob--x Alice: I am good thanks!
    Bob-x John: I am good thanks!
    Note right of John: Bob thinks a long<br/>long time, so long<br/>that the text does<br/>not fit on a row.

    Bob-->Alice: Checking with John...
    Alice->John: Yes... John, how are you?
{{</ mermaid >}}

生成

sequenceDiagram Alice ->> Bob: 你好 Bob,你好吗? Bob-->>John: 你呢 John? Bob--x Alice: 我很好,谢谢! Bob-x John: 我很好,谢谢! Note right of John: Bob 思考了很长时间
很长时间,以至于文本
不适合放在一行上。
Bob-->Alice: 与 John 确认中... Alice->John: 是的... John,你好吗?

您可以从官方文档中查看更多示例

侧边栏和警告提示提供了增加文本视觉重要性的方法。请谨慎使用它们。

侧边栏在视觉上抵消了文本,但没有警告提示的视觉突出感。

这是一个侧边栏。

您可以在侧边栏内包含段落和块级元素。

您甚至可以有代码块。

sudo dmesg

警告提示

警告提示(说明、警告等)使用 Hugo 短代码。

说明

说明吸引读者的注意力,但不带有紧迫感。

您可以在警告提示内包含多个段落和块级元素。

您还可以添加表格来组织和突出关键信息。

标题 1标题 2标题 3
数据 1数据 A信息 X
数据 2数据 B信息 Y

注意

读者应谨慎行事。

警告

警告指出如果忽略可能会导致伤害的事情。

引用内容

将短代码添加到引用内容中。

说明

你需要有一个 Kubernetes 集群,并且必须配置 kubectl 命令行工具以与你的集群通信。建议在至少有两个节点的集群上运行本教程,且这些节点不能作为控制平面主机。如果你还没有集群,可以通过 minikube 创建一个,或者使用以下 Kubernetes 演练场之一。

Katacoda 嵌入式在线环境


最后修改于 2025 年 2 月 8 日上午 11:23 (PST): 修复 docs/test.md 中的图形渲染问题 (6bf2229de2)