# Alibaba Provider
## 概述
本文介绍了如何在阿里云 ECS 中创建和初始化 K3s 集群,以及为已有的 K3s 集群添加节点的操作步骤。除此之外,本文还提供了在阿里云 ECS 上运行 AutoK3s 的进阶操作指导,如配置私有镜像仓库、启用阿里云 CCM、和启用 UI 组件。
## 前置要求
### 设置 RAM
关于 RAM 的描述,请参考[阿里云官方文档](https://www.alibabacloud.com/help/doc-detail/54235.htm)。
您的账号需要创建 ECS 及相关资源的权限,因此需要确保具有以下资源的权限:
```json
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:Describe*",
"ecs:AttachDisk",
"ecs:CreateDisk",
"ecs:CreateSnapshot",
"ecs:CreateRouteEntry",
"ecs:DeleteDisk",
"ecs:DeleteSnapshot",
"ecs:DeleteRouteEntry",
"ecs:DetachDisk",
"ecs:ModifyAutoSnapshotPolicyEx",
"ecs:ModifyDiskAttribute",
"ecs:CreateNetworkInterface",
"ecs:AttachNetworkInterface",
"ecs:DetachNetworkInterface",
"ecs:DeleteNetworkInterface",
"ecs:CreateNetworkInterface",
"ecs:AttachNetworkInterface",
"ecs:DetachNetworkInterface",
"ecs:DeleteNetworkInterface",
"ecs:AssignPrivateIpAddresses",
"ecs:UnassignPrivateIpAddresses",
"ecs:DeleteInstances",
"ecs:RunInstances",
"ecs:ListTagResources",
"ecs:StartInstances",
"ecs:StopInstances",
"ecs:CreateSecurityGroup",
"ecs:ModifySecurityGroupRule",
"ecs:ModifySecurityGroupEgressRule",
"ecs:DescribeSecurityGroup*",
"ecs:AuthorizeSecurityGroup",
"ecs:RevokeSecurityGroup",
"ecs:RevokeSecurityGroupEgress"
],
"Resource": ["*"],
"Effect": "Allow"
},
{
"Action": ["cr:Get*", "cr:List*", "cr:PullRepository"],
"Resource": ["*"],
"Effect": "Allow"
},
{
"Action": ["slb:*"],
"Resource": ["*"],
"Effect": "Allow"
},
{
"Action": ["cms:*"],
"Resource": ["*"],
"Effect": "Allow"
},
{
"Action": ["vpc:*"],
"Resource": ["*"],
"Effect": "Allow"
},
{
"Action": ["log:*"],
"Resource": ["*"],
"Effect": "Allow"
},
{
"Action": ["nas:*"],
"Resource": ["*"],
"Effect": "Allow"
}
]
}
```
### 设置安全组
ECS 实例**至少**需要应用以下安全组规则:
```bash
Rule Protocol Port Source Description
InBound TCP 22 ALL SSH Connect Port
InBound TCP 6443 K3s agent nodes Kubernetes API
InBound TCP 10250 K3s server & agent Kubelet
InBound UDP 8472 K3s server & agent (Optional) Required only for Flannel VXLAN
InBound TCP 2379,2380 K3s server nodes (Optional) Required only for embedded ETCD
OutBound ALL ALL ALL Allow All
```
## UI 使用说明
接下来我们将基于 AutoK3s 本地 UI 介绍如何使用 AutoK3s 工具,在 AWS EC2 主机上创建和管理 K3s 集群。如果您想了解 CLI 的使用,请移步到 [CLI 使用说明](#CLI 使用说明)
您可以通过[快速体验](../README.md#快速体验)中的描述,通过 Docker 或者 CLI 启动本地 UI,打开浏览器,访问目标端口 `8080` 即可。
### 快速创建集群
您可以使用快速创建功能,在指定的云提供商服务中,快速启动一个K3s集群。
以下图为例,我们将在 aliyun ECS 使用默认配置创建一个单节点的 K3s 集群,ECS 虚拟机会在 `cn-hangzhou` 区域中创建。
![](../../../assets/alibaba/quick-start-alibaba.png)
**表 1:快速创建参数**
| 参数 | 说明 | 默认值
|:---------------------------|:---------------------------------------------| :-----------------
| Provider | 云提供商名称 | `alibaba`
| Name | K3s集群名称 |
| Alibaba Credential | 云提供商的认证信息,需要提供Access Key/Secret Key访问密钥
| Master | Master 节点数量 | `1`
| Worker | Worker 节点数量 | `0`
| High Availability Clusters | 启用嵌入式 DB 高可用 K3s(即开启 `--cluster-init` 设置) | `false`
| Region | 虚拟机所在的区域(在快速创建页面不允许编辑默认区域,您可以通过模板功能修改默认参数配置) | `cn-hangzhou`
| Zone | 虚拟机所在的地区 | `cn-hangzhou-i`
### 自定义参数创建
如果您不想使用默认的配置,可以点击 **Advance** 按钮,进入自定义参数页面进行更多参数的设置。
或者您可以在集群列表页点击 **Create** 按钮进入自定义参数页面进行更多参数的设置。
使用 Alibaba 云提供商创建 K3s 集群的自定义参数配置分为四项,云供应商访问凭证、云提供商对应实例配置、K3s集群配置、高级选项。接下来对每个配置项进行详细说明。
#### 云提供商访问凭证
![](../../../assets/alibaba/custom-create-cluster-credential-alibaba.png)
**表 2:云提供商访问凭证参数**
| 参数 | 说明
|:-------------------| :---------------
| Provider | 云提供商名称
| Name | K3s集群名称
| Alibaba Credential | 云提供商的认证信息,需要提供Access Key/Secret Key访问密钥
如果您没有配置过 alibaba 认证信息,可以点击 Create Credential 按钮,输入Acess Key/Secret Key的访问密钥保存即可。
选择认证信息后,可以点击 Validate Credentials 按钮验证认证信息是否有效。认证通过校验以后,可以在实例配置页中实现与阿里云的联动选择。
#### 实例配置
实例配置主要配置的内容为对应云提供商虚拟机的配置,例如实例运行区域、地区、使用的操作系统类型、实例规格、网络配置等信息。
![](../../../assets/alibaba/custom-create-cluster-option-alibaba.png)
**表 3:实例配置参数**
| 参数 | 说明 | 默认值
|:---------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------
| Region | 阿里云 ECS 区域 | `cn-hangzhou`
| Zone | 阿里云 ECS 地区 | `cn-hangzhou-i`
| Machine Type | 阿里云 ECS 实例规格 | `ecs.s6-c1m2.large`(2vCPU/4GiB)
| Image | 阿里云 ECS 系统映像ID | `ubuntu_22_04_x64_20G_alibase_20221130.vhd`(Ubuntu 22.04)
| Disk Category