资源配置
资源配置是基于 Docker 或 Kubernetes 安装部署的 ECP 对资源层的配置,主要包括 基础配置、Docker 部署模式配置、Kubernetes 部署模式配置三大类。
基础配置
镜像服务信息
ECP 支持连接内部私有镜像仓库,通过镜像仓库,ECP 可以完成边缘服务 NeuronEX 及 EMQX 集群的软件镜像拉取部署工作。如希望建立到内部私有镜像仓库的连接:
- 以系统管理员的身份登录 ECP,在系统管理页面,点击系统设置 -> 资源配置。
- 点击展开镜像服务信息部分。
- 点击编辑,进入编辑页面。
- 输入链接地址、用户名和密码。
- 完成设置后,点击测试连接检查连接的有效性。
- 最后点击确认,完成配置。
边缘服务镜像列表
系统管理员可以新增、编辑或删除边缘服务的镜像地址。在有公网连接的情况下,管理员可以直接配置公有镜像地址。如在使用私服镜像,也可以参照镜像服务信息部分。
以系统管理员的身份登录 ECP,在系统管理页面,点击系统设置 -> 资源配置。
点击展开基础配置部分,点击展开边缘服务容器镜像列表。
点击在 NeuronEX 下的编辑,进入编辑页面。
您可点 + 新增一条镜像,并确定是否设为默认镜像。也可点击删除图标删除一条镜像。
点击确认完成设置。
纳管边缘服务认证配置
可以从纳管边缘服务认证配置获取 ECP 在安装时自动生成的公钥文件,用于当纳管的 NeuronEX 开启认证时的秘钥。关于云边认证和 NeuronEX 开启认证请参考边缘服务认证。
Docker 部署模式配置
Docker 连接配置
ECP 在 Docker 部署模式环境下提供了自定义连接信息功能,同时也提供了默认的配置。
- 以系统管理员的身份登录 ECP,在系统管理页面,点击系统设置 -> 资源配置。
- 点击展开Docker 部署模式部分,点击展开Docker 连接配置。
- 点击编辑,进入编辑页面,您可在此调整设置。
注意
在通过 ECP Docker 方式批量安装边缘服务时,请先配置正确的Docker连接配置
。
不开启 TLS 认证
当边缘服务的 Docker Engine 未开启 TLS 认证时,仅需要填入 Docker API 端口号即可。
注意
该 Docker API 端口号全局唯一,需要所有边缘节点的 Docker Engine 都使用同一个端口号。
开启 TLS 认证
当边缘服务的 Docker Engine 开启 TLS 认证时,除了需要填入 Docker API 端口号,还需要填入 TLS 认证的相关信息。
将TLS 客户端证书填入 ECP 配置项, 从上到下依次填入 ca.pem
证书文件、cert.pem
客户端证书、key.pem
客户端私钥。
注意
该证书仅供测试使用,生产环境请使用自签名证书。
边缘服务配置
可以通过边缘服务配置修改NeuronEX的默认配置值,如修改默认的端口号、数据存储路径、日志存储路径等。ECP 通过 Docker 批量创建边缘服务时,会根据此处的配置值创建容器。
- 以系统管理员的身份登录 ECP,在系统管理页面,点击系统设置 -> 资源配置。
- 点击展开边缘服务配置部分。
- 点击编辑,进入编辑页面,您可在此调整设置。
Kubernetes 部署模式配置
配置 Kubernetes 连接设置
使用 ECP 管理 Kubernetes 资源之前,需要先配置 ECP 到 Kubernetes 的连接信息,方便 ECP 管理、控制和认证 Kubernetes 资源。
在 Kubernetes 获取 kubeconfig
文件
获取 Kubernetes master 集群的 kubeconfig
文件,一般该文件路径是~/.kube/config
。
如所下载的 kubeconfig
文件中的以下三个字段指向外部文件路径
certificate-authority-data
client-certificate-data
client-key-data
则需要将证书文件转换为 base64 编码过后的字符串:
macOS & Linux
cat "certificate file" | base64
Windows
certutil -f -encode "certificate file" "output file"
完成转换后,更新 Kubeconfig
文件
- 将
certificate-authority
改为certificate-authority-data
,并且将*/ca.crt
证书文件经 base64 编码后的字符串填入该位置。 - 将
client-certificate
改为client-certificate-data
,并且将*/client.crt
证书文件经 base64 编码后的字符串填入该位置。 - 将
client-key
改为client-key-data
,并且将*/client.key
证书文件 base64 编码后的字符串填入该位置。
WARNING
如需高可用, kubeconfig 文件中的 server 地址需用 Loadbalancer 或者 vip 地址替换。
上传 kubeconfig
文件至 ECP
- 以系统管理员的身份登录 ECP,在系统管理页面,点击系统设置 -> 资源配置。
- 点击展开 Kubernetes 连接设置部分。
- 点击新建 Kubernetes 连接,并在弹出的对话框中上传
kubeconfig
文件。更新将即刻生效。
WARNING
Kubernetes 的连接已建立、并有实际集群运行后,请尽量避免修改连接配置,否则当前运行的所有集群都会停止服务。
配置云端集群
为 EMQX 云端集群配置初始化资源,便于 EMQX 集群的升级、动态扩缩容和配置网络。
EMQX 容器镜像列表
系统管理员可以新增、编辑或删除 EMQX 集群的镜像地址。在有公网连接的情况下,管理员可以直接配置公有镜像地址。如在使用私服镜像,也可以参照镜像服务信息。
- 以系统管理员的身份登录 ECP,在系统管理页面,点击系统设置 -> 资源配置。
- 点击展开云端集群配置部分,点击展开EMQX 容器镜像列表。
- 点击编辑,进入编辑页面。
- 您可点 + 新增一条镜像,并确定是否设为默认镜像。也可点击删除图标删除一条镜像。
- 点击确认完成设置。
集群资源配额
ECP 在 Kubernetes 环境下提供了自定义资源配额的功能,同时也提供了默认的配额配置。
- 以系统管理员的身份登录 ECP,在系统管理页面,点击系统设置 -> 资源配置。
- 点击展开云端集群配置部分,点击展开集群资源配额。
- 点击编辑,进入编辑页面,您可在此新增一条集群资源配额,调整配额,或者删除一条配额,删除配额不会对已运行的集群产生任何影响。
以配置 CPU 为 1 核,内存为 1 Gi ( 1 Gi= 1024 Mi),存储为 512 Mi 的规格,举例说明 EMQX 集群规格配置:
规格名称 | 规格/单位 | 解释 |
---|---|---|
EMQX 存储类名 | local-path | Kubernetes 存储类名 |
EMQX 存储大小 | 512Mi | 占用磁盘空间大小 |
是否默认 | true 或 false | true 表示该规格被设置为默认选择规格,其他规格被自动设置为 false |
EMQX 配额列表说明 | 1C1G0.5G | 最终在 EMQX 集群安装时显示的规格名称 |
EMQX-cpu-limit | 1000m | 集群使用 CPU 的上限为 1 核 |
EMQX-memory-limit | 1024Mi | 集群使用内存的上限为 1024Mi = 1Gi |
EMQX-cpu-request | 1000m | 集群使用 CPU 的下限为 1 核 |
EMQX-memory-request | 1024Mi | 集群使用内存的下限为 1024Mi = 1Gi |
telegraf-cpu-limit | 1000m | 为 telegraf 分配 CPU 使用上限为 1 核 |
telegraf-memory-limit | 1024Mi | 为 telegraf 分配内存上限为 1024Mi = 1Gi |
telegraf-cpu-request | 100m | 为 telegraf 分配 CPU 使用下限为 0.1 核 |
telegraf-memory-request | 100Mi | 为 telegraf 分配内存下限为 100Mi |
配置负载均衡
在公有云环境下,ECP 支持通过 Annotation (注解)配置公网负载均衡的服务。目前 ECP 已支持在阿里云上通过注解配置负载均衡功能。具体操作步骤,见阿里云 - 注解配置负载均衡 。
此服务提供了如下策略:
- 新增配置并设置连接数的范围;
- 可以建立多个配置并让多个配置生效;
- 配置默认按照业务连接数匹配生效;
- 当配置的连接数有重叠时,默认匹配最早建的配置;
- 配置的个数最大为 100 个;
配置存储类
存储类是 Kubernetes 资源类型的一种,是为了创建集群时,指定给集群使用的存储资源在 Kubernetes 上的 PV 卷。
存储类是云端集群和边缘服务在配置资源规格时必不可少的一步。本节将以配置 EMQX 集群为例介绍存储类的配置方法。
在 Kubernetes 获取存储类
首先,我们通过命令行登录到 Kubernetes 环境;
通过以下命令查看存储类列表,包含系统自带的存储类或自建的存储类;
kubectl get sc NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE alicloud-disk-ssd diskplugin.csi.alibabacloud.com Delete Immediate true 170d alicloud-disk-topology diskplugin.csi.alibabacloud.com Delete WaitForFirstConsumer true 170d local-path rancher.io/local-path Delete WaitForFirstConsumer false 169d
配置 EMQX 存储类
- 以系统管理员的身份登录 ECP,在系统管理页面,点击系统设置 -> 资源配置。
- 点击展开云端集群配置部分,点击展开集群资源配额。
- 点击编辑,进入编辑页面。
- 填入上一步中获取的 Kubernetes 存储类,名称应和 Kubernetes 存储类列表的名称一致,并设置存储大小和是否默认选项。
- 保存设置,新建的存储类会立即生效;
Telegraf 镜像
Telegraf 服务用于配置由 ECP 托管创建的 EMQX 集群的日志采集。
TIP
仅当 ECP 通过 Kubernetes 部署时,并且由 ECP 托管创建的 EMQX 集群才需要配置 Telegraf 镜像,ECP 纳管的 EMQX 集群不需要配置 Telegraf 镜像。
边缘服务配置(Kubernetes)
为NeuronEX提供了自定义资源配额的功能,同时也提供了默认的配额配置。ECP 通过 Kubernetes 批量创建边缘服务时,会根据此处的配置值创建容器。
- 以系统管理员的身份登录 ECP,在系统管理页面,点击系统设置 -> 资源配置 -> Kubernetes 部署模式。
- 点击展开边缘服务配置部分。
- 点击编辑,进入编辑页面,您可在此调整设置。
以配置 CPU 为 1 核,内存为 1 Gi ( 1 Gi= 1024 Mi),存储为 512 Mi 的规格,举例说明 EMQX 集群规格配置:
规格名称 | 规格/单位 | 解释 |
---|---|---|
NeuronEX 存储类名 | local-path | Kubernetes 存储类名 |
NeuronEX 存储大小 | 512Mi | 占用磁盘空间大小 |
NeuronEX 配额列表说明 | 1C1G0.5G | 最终在 NeuronEX 集群安装时显示的规格名称 |
NeuronEX-cpu-limit | 1000m | 边缘服务使用 CPU 的上限为 1 核 |
NeuronEX-memory-limit | 1024Mi | 边缘服务使用内存的上限为 1024Mi = 1Gi |
NeuronEX-cpu-request | 1000m | 边缘服务使用 CPU 的下限为 1 核 |
NeuronEX-memory-request | 1024Mi | 边缘服务使用内存的下限为 1024Mi = 1Gi |