> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs-staging.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 使用 Qualcomm Linux 设置 Kubernetes

[Kubernetes](https://kubernetes.io/) 是一个开源平台，可自动化部署、扩缩和管理运行在容器中的应用程序。Kubernetes 有助于在多台设备之间编排容器，确保资源的高效利用、应用程序的高可用性和可扩展性。Kubernetes 不仅适用于大规模服务器和云系统，也适用于小型 Linux 嵌入式设备。它有助于在 IoT 设备之间高效地管理和编排容器与应用程序。

## **启用 Kubernetes**

Qualcomm Linux 版本默认在 `qcom-container-orchestration-image` 中启用 Kubernetes，该镜像在 `meta-qcom-distro/recipes-products/images/qcom-container-orchestration-image.bb` 中定义。

镜像构建并烧录完成后，Kubernetes 及其所有前置条件和依赖项即可在设备上使用。

<Note>
  烧录后 Kubernetes 不会自动启动。您必须先将设备连接到网络，并使用 `kubeadm` 将其初始化为 Kubernetes 节点，之后 `kubelet` 才会处于活动状态。
</Note>

## **步骤 1：连接网络**

Kubernetes 需要一个具有可访问 IP 地址的网络接口供 API 服务器使用。使用 NetworkManager 将设备连接到 WiFi 网络：

```bash theme={null}
nmcli device wifi connect <ssid> password <password>
```

记下分配给设备的 IP 地址——下一步会用到：

```bash theme={null}
ip addr show
```

## **步骤 2：初始化 Kubernetes**

运行 `kubeadm init`，将设备引导为 Kubernetes 控制平面节点：

```bash theme={null}
kubeadm init --ignore-preflight-errors=SystemVerification \
             --apiserver-advertise-address=<device-ip-address>
```

<Note>
  必须使用 `--ignore-preflight-errors=SystemVerification`，因为嵌入式设备可能无法满足所有标准的 Kubernetes 预检检查（例如可用内存阈值）。
</Note>

## **步骤 3：验证 kubelet 状态**

初始化完成后，验证 `kubelet` 是否正在运行：

```bash theme={null}
systemctl status kubelet
```

| **状态**               | **说明**                             |
| :------------------- | :--------------------------------- |
| `Active (running)`   | 设备已通过 `kubeadm` 初始化为 Kubernetes 节点 |
| `Inactive (stopped)` | 设备尚未通过 `kubeadm` 初始化               |

## **后续步骤**

* 有关 Docker 容器支持，请参阅[运行 Docker 容器](./run-docker-containers)。
* 有关虚拟机设置，请参阅[创建辅助虚拟机](./create-a-secondary-virtual-machine)。
