Build Your Cloud vs Consume Cloud Capability:Windows HCI + K3s 与 Azure Local AKS 的架构路线选择
未经同意,请勿转载!
TL;DR:本文不是"K3s vs AKS"产品比较,而是**"企业自建云原生平台 vs 消费型混合云平台"的架构决策分析**——
- K3s 路线 —— Build Your Cloud(自建云平台),企业角色 = 云平台建设者
- Azure Local AKS 路线 —— Consume Cloud Capability(消费云能力),企业角色 = 云平台消费者
两条路线不在同一抽象层级:前者是 K8s 发行版 + 企业自己构建云原生平台;后者是 Azure 混合云平台能力的一部分 + 企业消费微软提供的本地 Azure 平台能力。
术语约定:本文在 Azure Local 场景下简称 AKS enabled by Azure Arc 为 Azure Local AKS——不构成对 AKS enabled by Azure Arc 产品范围的覆盖;AKS enabled by Azure Arc 还支持 Azure Stack HCI(历史名称)、VMware vSphere 等 Azure Arc 支持的环境。
引言:从产品比较到云战略分析
在企业本地 Kubernetes 平台选型中,最常被讨论的两个选择是:
- Windows Server HCI + Linux VM + K3s —— 传统企业 + 工业 / 制造业的常见选择
- Azure Local + Azure Local AKS —— 云原生企业 / 大型集团 / 强合规场景的常见选择
表面看这是"K3s vs AKS"的 K8s 平台竞争。但严格的架构分析会发现:
|
抽象层 |
Windows Server HCI + K3s |
Azure Local + Azure Local AKS |
|
基础设施层 |
Windows Server HCI(Hyper-V + S2D) |
Azure Local 集群(OEM 集成系统) |
|
操作系统层 |
Linux VM |
Hyper-V + 多 OS VM |
|
Kubernetes 平台 |
K3s(K8s 发行版) |
Azure Local AKS(K8s 服务能力) |
|
云平台层 |
企业自建 |
Azure 混合云平台 |
|
治理层 |
Rancher / GitOps / 自建工具链 |
Azure Arc + Entra ID + Defender + Policy |
核心差异不在 K8s 本身,而在 "企业到底是在建设自己的云,还是消费一个云平台"——这是云战略层面的选择,不是产品选型问题。
一、为什么这不是 K3s vs AKS
1.1 Kubernetes 治理 ≠ Azure 治理(全文核心观点)
Kubernetes 解决的是应用运行平台问题,Azure Arc 解决的是企业云治理问题——这是本文最重要的一个认知。
Kubernetes 治理(应用运行平台):
- 多集群 K8s 管理(集群注册 / 清单 / 状态监控)
- 应用分发(GitOps / Helm / 应用市场)
- 工作负载编排(Deployment / Service / Ingress)
- 网络与存储抽象(CNI / CSI / NetworkPolicy / StorageClass)
- 资源配额与命名空间隔离
Azure 治理(企业云治理):
- 统一身份(Entra ID / Azure RBAC)
- 安全合规(Defender for Containers / Azure Policy)
- 资源可见性(Azure Portal / Resource Graph)
- 跨云 / 跨边缘的统一管理模型(Arc + Custom Location)
- 合规审计与策略执行(Azure Blueprints / Compliance Manager)
开源栈可以达到接近甚至超过 Azure Arc 在 K8s 治理维度的灵活性(Rancher Fleet + ArgoCD 等组合);但 Azure 治理维度(Identity / Security / Compliance / Governance)是开源栈不覆盖的——这两件事是互补关系,不是替代关系。
1.2 两种云操作模型
|
维度 |
K3s 路线 |
Azure Local AKS 路线 |
|
核心思想 |
Build Your Cloud(自建云平台) |
Consume Cloud Capability(消费云能力) |
|
企业角色 |
云平台建设者 |
云平台消费者 |
|
抽象层级 |
Kubernetes 发行版 |
Azure 混合云平台能力的一部分 |
|
技术重点 |
工程自由度 |
治理一致性 |
|
优势 |
开放、自主、可控 |
规模化、标准化、合规 |
|
代价 |
需要平台工程能力 |
接受生态约束 |
|
类比 |
自建电厂 |
从电网购电 |
|
适合 |
已有 IT 工程能力 / 强自主意愿 |
已有 Azure 投资 / 弱平台工程能力 |
这才是真正的选择维度——后续章节按这个框架展开分析。
二、架构对比
2.1 Windows Server HCI + Linux VM + K3s
flowchart TD
A[物理服务器] --> B[Windows Server 2025<br/>Hyper-V + S2D]
B --> C[Linux VM]
C --> D[K3s Kubernetes]
D --> E[Container Workloads]
F[企业自运维<br/>K8s 平台 + 治理] -.-> D
架构特点:
- 基础设施层:Windows Server HCI(Hyper-V + S2D)—— 已有 Windows Server 投资保护
- 操作系统层:Linux VM(K3s Server / Agent 节点)
- K8s 平台层:K3s 发行版
- 治理层:企业自建(可能组合 Rancher / ArgoCD / Longhorn 等)
2.1.1 为什么选择 Windows Server HCI 承载 K3s?
工业 / 制造业 / 传统企业选 Windows Server HCI 承载 K3s,不是"K3s 不能跑在 Linux 裸机上",而是企业已经在 Windows Server 体系上有大量投资:
- Windows Server 许可证——避免重新采购 Linux 商业发行版(如 RHEL)授权
- Hyper-V 运维体系——已有 Hyper-V 管理员 / 工具链 / 监控 / 备份
- AD 集成——企业身份治理已基于 Active Directory
- S2D 存储——已有 Storage Spaces Direct 投资,避免引入新存储栈
- Windows 管理体系——SCCM / Group Policy / Windows Admin Center 等已有体系
- 业务系统集成——大量业务应用本身依赖 Windows 生态(SQL Server / .NET / IIS / Exchange)
2.1.2 Windows HCI + K3s 的统一虚拟化平台价值
很多工业企业同时承载:
- 传统应用:Windows VM(SQL Server / MES / ERP / SCADA / Historian)
- 云原生应用:Linux VM + K3s(AI 推理 / 微服务 / 数据平台)
Windows Server HCI + K3s 形成 一个统一虚拟化平台,承载传统应用 + 云原生应用:
Windows Server HCI
├── Windows VM(传统应用)
│ ├── SQL Server
│ ├── MES / ERP / SCADA
│ └── Historian
└── Linux VM + K3s(云原生应用)
├── AI 推理(vLLM / Ollama)
├── 微服务
└── 数据平台
核心价值:在已有 Windows 基础设施投资基础上,以最低新增平台复杂度引入 Kubernetes 能力——而不是"用 K8s 替代 Windows 平台"。
2.2 Azure Local + Azure Local AKS
flowchart TD
A[Azure Local Cluster<br/>客户本地] --> B[Arc Resource Bridge<br/>客户本地 VM]
B --> C[AKS Management Cluster<br/>客户本地 VM<br/>生命周期由 Azure Arc 编排]
C --> D[User Kubernetes Cluster<br/>客户本地 VM<br/>企业自管]
D -.控制面连接.-> E[Azure 控制平面<br/>Arc + 治理]
G[Azure Arc<br/>生命周期编排] -.-> C
H[企业自负责<br/>工作负载 + 节点] -.-> D
架构特点:
- 基础设施层:Azure Local 集群(OEM 集成系统 + Windows Server Azure Edition)
- K8s 平台层:AKS enabled by Azure Arc(控制面在客户本地 VM,生命周期由 Azure Arc 编排)
- 云平台层:Azure 混合云平台(Arc + Entra ID + Defender + Policy)
- 治理层:Azure 原生(统一身份 / 安全 / 合规 / 资源管理)
三、Kubernetes 平台能力比较
3.1 K3s 并不等于简单 Kubernetes
很多读者把 K3s 理解为"小型 K8s",低估了它的企业级能力。K3s + 开源生态栈可以形成完整的企业级 Kubernetes Platform:
K3s(K8s 发行版)
├── Rancher Manager(多集群管理 + RBAC + 应用市场)
├── Rancher Fleet(GitOps 多集群分发)
├── Harvester(HCI + K8s 集成)
├── Longhorn(K8s 原生分布式存储)
├── NeuVector(容器安全)
├── ArgoCD(GitOps 控制器)
└── Cluster API(集群生命周期管理)
这套组合可以提供:
- 多租户(Namespace + RBAC + Quota)
- 多集群(数百 / 数千集群管理)
- GitOps(声明式应用分发)
- 安全治理(镜像扫描 / 运行时安全 / 合规扫描)
- 存储(持久化 / 快照 / 备份 / 灾备)
企业级 Kubernetes Platform 能力是完整的——K3s + 开源栈的治理能力在某些场景可能超过 Azure Arc 在 K8s 治理维度的灵活性。但要注意:开源栈的成熟度高度依赖企业自建团队能力(Rancher 多集群管理 / Longhorn 存储运维 / ArgoCD GitOps 编排等),并不是开箱即用。
3.2 Azure Local AKS K8s 能力(Mgmt vs Workload 区分)
Azure Local AKS 架构中需要严格区分两层集群的职责:
|
组件 |
角色 |
关键组件 |
|
AKS Management Cluster |
AKS 集群生命周期管理(provisioning / lifecycle / orchestration) |
不是 Kubernetes Control Plane |
|
User Kubernetes Cluster(Workload Cluster) |
实际运行业务工作负载 |
包含标准 Kubernetes Control Plane:kube-apiserver / etcd / scheduler / controller-manager |
关键架构澄清(v1.4 新增):
- AKS Management Cluster 负责 AKS 集群生命周期管理——部署、升级协调、集群编排
- User Kubernetes Cluster 内部仍运行标准 Kubernetes Control Plane 组件(kube-apiserver / etcd / scheduler / controller-manager)
- 微软管理的是AKS 集群编排能力,不是直接管理 Kubernetes Control Plane 组件——这一点与公有云 AKS(微软托管 Master Node)有本质区别
Azure Local AKS 的 K8s 平台能力:
- 生命周期编排:Azure Arc 编排入口,部署 / 升级协调 / 集群编排
- 控制面运行位置:客户本地 VM(不是微软托管)
- K8s 升级窗口:企业规划(升级兼容性测试由企业负责)
- 节点 VM OS / GPU 驱动栈:企业负责
- CNI / NetworkPolicy / StorageClass:企业配置
- 与公有云 AKS 的关键区别:控制面资源在客户本地,依赖 Azure Local 平台资源 + OEM 支持矩阵 + 客户环境状态
- 存储决策源(v1.4 新增):Azure Local 的存储选择(S2D / External SAN / NVMe-oF / 混合)不是 Kubernetes 决定,而是 Azure Local 基础设施架构决定——Kubernetes 通过 CSI 抽象层对接,与底层存储方案解耦
四、企业治理能力比较
4.1 Azure 治理(Azure Arc 优势)
Azure Arc 的真正优势是 Azure 治理维度:
- 统一身份:Entra ID(Azure AD)原生集成,全企业 SSO
- 安全合规:Defender for Containers / Azure Policy / 安全基线
- 资源可见性:Azure Portal 统一管理本地 / 多云 / 边缘资源
- 跨云 / 跨边缘治理:Arc + Custom Location 抽象,任意 CNCF K8s 都可注册
- 合规审计:Azure Blueprints / Compliance Manager
- 计费与计量:Azure 订阅统一计费模型
4.2 开源栈治理(K3s + Rancher)
K3s + Rancher 开源栈的治理能力:
flowchart LR
A[总部 Rancher Manager<br/>管理控制面] --> B1[Factory A<br/>K3s]
A --> B2[Factory B<br/>K3s]
A --> B3[Factory C<br/>K3s]
B1 --> C1[ArgoCD<br/>GitOps]
B2 --> C2[ArgoCD]
B3 --> C3[ArgoCD]
能力维度:
- 多集群管理(Rancher Manager + Fleet)
- RBAC 一致(统一身份可对接 LDAP / AD / OIDC)
- 应用分发(GitOps / Helm Chart)
- 配置同步(Fleet GitOps)
- 安全治理(NeuVector / Falco / OPA)
- 存储治理(Longhorn / OpenEBS)
在 K8s 多集群应用治理领域,开源栈可以达到接近甚至超过 Azure Arc 的灵活性——这是事实。但要注意:这需要企业有相当强的平台工程团队。
4.3 共享责任模型(Microsoft + OEM + 企业三方)
Azure Local 是 Microsoft 软件 + OEM 硬件 + 客户环境 的三方组合,不是 Azure Public Cloud,共享责任模型:
┌─────────────────────────────────────────────────┐
│ Microsoft 提供 Azure Local 与 AKS enabled │
│ by Azure Arc 平台软件能力和生命周期工具 │
├─────────────────────────────────────────────────┤
│ OEM 负责认证硬件支持(驱动 / 固件 / 兼容性) │
├─────────────────────────────────────────────────┤
│ 企业负责本地环境资源(VM 配额 / 网络 / 存储) │
│ 节点配置(OS / GPU 驱动 / 容器运行时) │
│ 业务工作负载(Deployment / Service / 数据) │
└─────────────────────────────────────────────────┘
v1.4 重要修正:不要把"Azure Arc 编排"等同于"微软全权负责"——具体执行依赖 Azure Local 平台资源 + OEM 支持矩阵 + 客户环境状态。这是 Azure Local AKS 与公有云 AKS 在 SLA 期望管理上的关键差异。
五、AI / 工业 / 边缘场景
5.1 AI 工作负载(性能基本一致,差异在治理)
GPU 性能层面:
|
维度 |
K3s |
Azure Local AKS |
|
GPU 调度 |
企业部署 NVIDIA GPU Operator / Device Plugin / Container Toolkit |
通过 AKS enabled by Azure Arc 集成方式管理 K8s GPU 扩展,同时依赖 NVIDIA 软件栈 |
|
GPU 监控 |
自建 Prometheus + Grafana |
Azure Monitor Container Insights |
|
身份治理 |
自建 OIDC / LDAP |
Entra ID 原生集成 |
|
安全合规 |
自建 Defender / 合规扫描 |
Defender for Containers + Azure Policy |
关键认知:Azure Local AKS 并没有创造另一套 GPU 体系——同样依赖 NVIDIA GPU Operator / Device Plugin / Container Toolkit 等开源 / 商业组件,差异在 Kubernetes GPU 扩展的生命周期管理入口。
AI 推理引擎(不依赖 Azure AI):
flowchart LR
A[GPU Server] --> B[K3s / Azure Local AKS] --> C[NVIDIA GPU]
C --> D[vLLM / Ollama / Xinference / TensorRT-LLM / Triton]
- vLLM / Ollama / Xinference / TensorRT-LLM / Triton 等完全不依赖 Azure AI 生态
- 对需要 Azure AI 生态集成、模型生命周期管理和企业治理的场景,Azure Local AKS 具有优势
- 但对于纯私有 AI 推理平台,两者 GPU 运行能力基本一致——差异在治理层,不在性能层
5.2 工业场景(Windows HCI 统一虚拟化优势)
详见 §2.1.2。Windows Server HCI + K3s 的核心价值:
-
在已有 Windows 基础设施投资基础上
-
以最低新增平台复杂度引入 Kubernetes 能力
-
统一虚拟化平台承载传统应用(SQL Server / MES / ERP / SCADA)+ 云原生应用(AI 推理 / 微服务 / 数据平台)
5.3 边缘计算
|
场景 |
K3s |
Azure Local AKS |
|
单一边缘站点 |
单二进制部署,自包含 |
需要 Azure Local 基础设施 + Arc 注册 |
|
多站点集中管理 |
Rancher Fleet 多集群分发 |
Azure Arc 集中管理 |
|
完全离线环境 |
适合(无外部依赖) |
支持 Disconnected Operations 但基础设施较重 |
|
边缘 AI 推理 |
vLLM / Ollama 本地运行 |
同等能力 |
六、成本和组织能力
6.1 软件许可与隐性成本
|
维度 |
K3s |
Azure Local AKS |
|
软件许可 |
软件成本接近零(K3s 是 CNCF 沙箱项目开源) |
Azure Local 授权 + Azure Arc 费用 + Azure Local AKS 相关费用 |
|
运维人力 |
高(自维护全栈:K8s + 存储 + 网络 + 治理) |
相对低(仍需团队负责驱动栈 / 网络策略 / 应用) |
|
平台工程团队 |
需要 K8s 专家 + Rancher / Longhorn / ArgoCD 运维团队 |
需要 Azure 平台运维 + 少量 K8s 运维 |
|
总拥有成本 |
取决于规模 + 团队能力 |
取决于使用量 + 团队能力 |
隐性成本(容易被忽略的部分):
- K3s 路径:K8s 专家团队 / 升级测试 / 安全维护 / 多站点平台工程 / 人员变动 / 培训 / 知识沉淀
- Azure Local 路径:Azure Local License / Azure Subscription / OEM Support / Azure 体系培训
TCO 结论:
- 大型企业 / 多站点场景:Azure Local + AKS 可能 TCO 更低——平台工程人力成本随站点数量线性增长,而 Azure Arc 的规模经济随站点数摊薄
- 小型企业 / 单站点 / 边缘场景:K3s 可能 TCO 更低——Azure 订阅按月 / 按节点计费,单站点场景下规模不经济
6.2 平台工程组织能力
这才是真正的隐性约束:
|
能力维度 |
K3s 路线 |
Azure Local AKS 路线 |
|
K8s 深度运维 |
必须强(自维护全栈) |
中等(Azure Arc 编排) |
|
平台工程团队 |
必须大(多组件集成) |
中等(依赖微软平台) |
|
Azure 体系熟悉度 |
不需要 |
必须高 |
|
故障排查能力 |
强(全栈调试) |
中等(依赖微软支持) |
|
升级测试 |
自建测试体系 |
部分依赖微软 |
七、选择模型
7.1 自检问题
企业做选型时,应该问自己以下问题:
- 你的战略是自建云还是消费云?
- 自建云 / 强自主 → K3s
- 消费云 / 接受生态约束 → Azure Local AKS
- 你已有 Windows Server HCI 投资吗?
- 有 → K3s(投资保护)
- 没有 / 新建 → 两者皆可
- 你的企业需要 Azure 治理吗?
- 强需要(多云 / 合规 / 身份统一)→ Azure Local AKS
- 不需要(单云 / 单地 / 内部信任)→ K3s
- 你的团队具备容器化能力吗?
- 强 → 两者皆可
- 弱 → Azure Local AKS(减少平台工程负担)
- 你未来是否会跨云迁移?
- 是 → K3s 在跨云 K8s 迁移上抽象更薄;实际跨云体验取决于迁移目标云与企业既有投资(不要把"跨云"作为单点否决项)
- 否 → 两者皆可
- 你已有的运维体系是什么?
- Windows / SCCM / AD → Windows Server HCI + K3s(生态一致)
- Azure / Arc / Defender → Azure Local AKS(生态一致)
7.2 决策矩阵
|
维度 |
K3s |
Azure Local AKS |
|
开放性 |
优势(标准 K8s API) |
依赖 Azure 生态 |
|
平台工程自由度 |
优势(任意组件组合) |
依赖微软路线图 |
|
Azure 生态集成 |
弱(自建 API 网关) |
优势(原生集成) |
|
统一身份治理 |
需要组合工具 |
优势(Entra ID 原生) |
|
跨平台 / 多云 |
优势(标准 K8s) |
中等(Azure 治理组件迁移成本高) |
|
跨云工作负载迁移自由度 |
优势(标准 K8s API,Workload 抽象薄) |
一般(依赖 Azure 治理组件重建) |
|
平台治理迁移自由度 |
优势(无平台锁定) |
一般(Azure Policy / RBAC / Defender 迁移成本高) |
|
工业 / 边缘场景 |
优势(轻量 + 自主) |
一般(基础设施较重) |
|
AI 推理性能 |
基线 |
基线(与 K3s 基本一致) |
|
AI 治理与生态集成 |
弱 |
优势(需要 Azure AI 集成时) |
|
多站点集中管理 |
一般(自建 Rancher Fleet) |
优势(Arc 原生) |
|
隐性成本结构 |
人力成本高 |
订阅成本高 |
|
完全自主可控(断网) |
优势 |
支持 Disconnected Operations 但基础设施较重 |
八、关键认知:K8s 控制面架构边界
8.1 AKS Management Cluster 与 Workload Cluster 的真实分工
Azure Local AKS 架构中,两个集群的职责严格区分:
AKS Management Cluster(生命周期管理)
├── provisioning(集群配置)
├── lifecycle management(升级 / 删除)
└── cluster orchestration(编排)
User Kubernetes Cluster / Workload Cluster(实际业务)
├── kube-apiserver ← Kubernetes Control Plane
├── etcd ← Kubernetes Control Plane
├── scheduler ← Kubernetes Control Plane
├── controller-manager ← Kubernetes Control Plane
└── 业务 Pod / 容器
关键架构澄清:
- AKS Management Cluster 不是 Kubernetes Control Plane
- Kubernetes Control Plane(kube-apiserver / etcd / scheduler / controller-manager)仍在 Workload Cluster 内部运行
- 微软编排 AKS 集群生命周期,不是直接管理 Kubernetes Control Plane 组件
- 这与公有云 AKS(微软托管 Master Node)有本质区别
8.2 节点生命周期责任细分
Azure Local AKS 不会自动管理 Worker 节点生命周期——节点扩缩容 / 维护窗口 / OS 升级由企业负责。
Azure Local AKS 完整责任边界:
|
责任方 |
职责 |
|
Microsoft |
Azure Local 与 AKS enabled by Azure Arc 平台软件能力 + 生命周期工具编排入口 |
|
OEM |
认证硬件支持(驱动 / 固件 / 兼容性 / 故障件替换) |
|
企业 |
本地环境资源(VM 配额 / 网络 / 存储) / 节点配置(OS / GPU 驱动 / 容器运行时) / 业务工作负载 / 节点生命周期(扩缩容 / 维护窗口 / OS 升级 / 安全基线) / 升级窗口规划 / 工作负载兼容性测试 / CNI / NetworkPolicy / StorageClass |
九、最终结论:企业云战略路线选择
9.1 架构哲学对比
将云操作模型上升到架构哲学层面:
|
维度 |
K3s 路线 |
Azure Local AKS 路线 |
|
核心思想 |
Build Your Cloud |
Consume Cloud Capability |
|
企业角色 |
云平台建设者 |
云平台消费者 |
|
技术重点 |
工程自由度 |
治理一致性 |
|
优势 |
开放、自主、可控 |
规模化、标准化、合规 |
|
代价 |
需要平台工程能力 |
需要接受生态约束 |
|
类比 |
自建电厂 |
从电网购电 |
|
适合 |
已有 IT 工程能力 / 强自主意愿 |
已有 Azure 投资 / 弱平台工程能力 |
|
风险 |
平台工程负担随规模线性增长 |
平台锁定 + 依赖 Azure 订阅 |
9.2 Gartner / Microsoft CSA 视角
Gartner Cloud Strategy 框架:
- Build:企业自建云平台(K3s 路线)—— 高自主性,高平台工程投入
- Buy:消费云平台能力(Azure Local AKS 路线)—— 标准化交付,低平台工程投入
Microsoft Cloud Adoption Framework(CAF)视角:
- Azure Local + Azure Local AKS 是 "Hybrid + Consistent" 战略的核心
- 企业通过 Azure 统一治理平面管理本地 / 多云 / 边缘资源
- 适合已采用 Azure 公有云、希望延伸到本地的企业
总结一句话:
本文不是"K3s vs AKS"产品比较,而是"企业自建云原生平台 vs 消费型混合云平台"的架构决策分析——两条路线匹配不同的企业 IT 战略。
- K3s:Build Your Cloud(自建云平台)—— 开放、自主、灵活,但平台工程负担在企业自身
- Azure Local AKS:Consume Cloud Capability(消费云能力)—— 治理、一致、规模经济,但锁定与依赖在 Azure 生态
没有"更好",只有"更匹配"——按企业 IT 战略、团队能力、Azure 投资现状综合判断。
附录:本文对比涉及的能力清单
|
类别 |
包含能力 |
|
Kubernetes 调度 |
Pod / Node / Namespace / Deployment / Service |
|
网络 |
CNI / Ingress / Service Mesh |
|
存储 |
PVC / CSI / 备份 / 快照 |
|
监控 |
Prometheus / Grafana / OpenTelemetry / Container Insights |
|
GitOps |
ArgoCD / Flux / Rancher Fleet |
|
安全 |
OPA / Falco / NeuVector / Defender for Containers |
|
存储栈 |
Longhorn / Ceph / OpenEBS / Azure Local Storage(S2D / External SAN / NVMe-oF) |
|
AI 推理引擎 |
vLLM / Ollama / Xinference / TensorRT-LLM / Triton |
|
治理 |
Entra ID / Azure RBAC / Azure Policy / Defender / Rancher |
|
多集群 |
Rancher Manager / Fleet / Cluster API / Azure Arc |
更多推荐

所有评论(0)