> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.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)。
