参数配置说明-j9九游会登录
基础参数
|
参数名称 |
参数类型 |
是否必选 |
默认值 |
说明 |
参数规范 |
举例 |
|---|---|---|---|---|---|---|
|
name |
string |
必选 |
- |
iac3.0资源名 |
只能包括数字、字母、'-'、'_'、'.',必须以字母开头,字母或数字结尾。长度2-64。
说明:
如果没有配置clustername,则资源名会被当作微服务集群名,参数规范则会以微服务集群名的为准。 |
wisecloudfgceventbuilderservice_cluster1 |
|
type |
string |
必选 |
- |
baas服务类型,operator要求必填,固定为wisecloud::microservice::nuwacontainer |
固定为wisecloud::microservice::nuwacontainer |
wisecloud::microservice::nuwacontainer |
|
microservicename |
string |
必选 |
- |
微服务名称 |
微服务名称 |
wisecloudfgceventbuilderservice |
|
clustername |
string |
非必选 (建议填写) |
默认与name值相同 |
微服务集群名 |
只能包括数字、字母、'-'、'_'、'.',必须以字母开头,字母或数字结尾。长度2-56。
说明:
不填与name值相同,由于两字段限制不同,超过限制会报错。 |
cluster1 |
|
replicas |
int |
必选 |
- |
pod副本数 |
整数类型
说明:
|
1 |
|
pdbmaxunavailable |
string |
非必选 |
- |
pod干扰预算 |
整数百分比,整数范围为[1, 50] |
- |
|
terminationgraceperiodseconds |
integer |
非必选 |
- |
优雅下线宽限期 |
1-65535 |
- |
示例:
- name: wisecloudfgceventbuilderservice_cluster1
type: wisecloud::microservice::nuwacontainer
properties:
microservicename: wiseeyechaosmonkeyexecutor
clustername: cluster1
replicas: 5
挂载信息
|
参数名称 |
参数类型 |
是否必选 |
默认值 |
说明 |
参数规范 |
举例 |
|---|---|---|---|---|---|---|
|
name |
string |
必选 |
- |
说明:
sfs的卷命名并非固定,此处的名称主要还是供container的volumemounts引用。 |
|
volumes: - name: log_volume size: 12gi type: local - name: data_volume size: 2gi type: local |
|
size |
string |
必选 |
- |
定义存储空间 |
||
|
type |
string |
可选 |
默认是local,代表使用集群节点本地存储。 |
|
sfs: volumes: - name: sfs_volume id: 11a701c9-529f-4992-9291-bc47bbf5b4c5 # 如果是已有的存储,该值代表存储的资源id type: sfs sharelocation: xxx # 共享路径 mountoptions: ["vers=3","hard","nolock"] |
local |
示例:
- name: wisecloudfgceventbuilderservice_cluster1
type: wisecloud::microservice::nuwacontainer
properties:
volumes:
- name: log_volume
size: 12gi
type: local
- name: data_volume
size: 2gi
type: local
容器配置
|
参数名称 |
参数类型 |
是否必选 |
默认值 |
说明 |
参数规范 |
举例 |
|---|---|---|---|---|---|---|
|
image |
string |
必选 |
- |
镜像地址 runtime已预置如下镜像仓库地址,如果业务是从如下镜像仓库地址下载镜像,则只需要从组织名开始填写。 北京四:swr.cn-north-4.myhuaweicloud.com |
长度:1-256
说明:
镜像仓库(:前的一串)只能是小写。 |
- |
|
ports |
int[] |
可选 |
0 |
如果使用cloud map,将此端口填写为在cloud map注册中心注册的端口 如果不使用cloud map,可将此项注释掉或者填写为0。 此参数只是起一个标识作用,并不是代表配置了此端口就代表端口一定打开。实际打开的端口以业务使用的为准,目前仅支持一个端口配置,数组类型是为后面可扩展。 |
端口范围:0-65535 |
ports: - 8080 |
|
flavor |
string |
- |
"2c4gi" |
主容器cpu&memory的规格 |
长度范围:1-32。需要满足cpu和memory的规格,比如1c2g,2c4g,4c8g,8c16g等。 |
flavor: 2c4g |
|
armflavor |
string |
可选 |
"2c4gi" |
参考flavor 双az arm混部时独立控制arm配置 arm配置建议: 按照业内通用的指导,arm cpu算力相对于x86下降,具体下降指标和使用场景密切相关。 对于计算密集型的业务,可以考虑增加配置,io密集型可以同规格,具体性能还是以各自业务的实际性能测试为准。 |
同上 |
同上 |
|
gpu |
int |
可选 |
null |
主容器使用的gpu规格(gpu即显卡);当前ers管理的资源池中尚未提供gpu。 |
取值为整数,配1代表占用一块显卡,显卡不可分割。 |
- |
|
stsenable |
bool |
可选 |
true |
是否启用sts |
- |
true |
|
commandargs |
list(string) |
可选 |
[] |
启动参数 |
长度为0-256 |
- |
|
volumemounts |
list(object) |
可选 |
[] |
此参数与volumes下的sfs挂载卷搭配使用,volumes中定义挂载卷的信息,此处引用并挂载在容器中运行 |
name要在volumes中有对应的值。 |
volumemounts: - name: sfs_volume1 mountpath: /opt/huawei/sfs1 - name: sfs_volume2 mountpath: /opt/huawei/sfs2 |
|
envs |
type = list(object({ name = string value = string })) |
可选 |
[] |
配置环境变量 |
name和value的长度为不超过5000。 |
envs: - name: "evs_test" value: "test_env" |
|
hostaliases |
type = list(object({ hostname = string ip = string })) |
可选 |
[] |
配置hosts |
- |
hostaliases: - hostname: "a.b.com" ip:"1:1:1:1:1:1:1:1" - hostname: "c.d.com" ip:"2.2.2.2" |
为保证业务容器的稳定运行和资源利用率的提升,建议业务容器采用标准化容器规格,标准容器规格如表4所示。
|
vcpu (cpu request) |
memory, gib (memory request/limit) |
cpu和内存配比 |
备注 |
|---|---|---|---|
|
0.5 |
500m、1、2、4 |
1:1、1:2、1:4、1:8 |
x86和arm |
|
1u |
1、2、4、8 |
1:1、1:2、1:4、1:8 |
x86和arm |
|
2u |
2、4、8、16 |
1:1、1:2、1:4、1:8 |
x86和arm |
|
3u |
3、6、12、24 |
1:1、1:2、1:4、1:8 |
arm专属规格 |
|
4u |
4、8、16、32 |
1:1、1:2、1:4、1:8 |
x86和arm |
|
6u |
6、12、24、48 |
1:1、1:2、1:4、1:8 |
arm专属规格 |
|
8u |
8、16、32 |
1:1、1:2、1:4 |
x86和arm |
|
12u |
12、24、48 |
1:1、1:2、1:4 |
arm专属规格 |
|
14u |
14、28、52 |
1:1、1:2、1:4(3.714) |
x86和arm |
|
22u |
22、44、76 |
1:1、1:2、1:4(3.45) |
arm专属规格 |
|
28u |
28、56、104 |
1:1、1:2、1:4(3.714) |
x86和arm |
|
42u |
42、84、150 |
1:1、1:2、1:4(3.571) |
arm专属规格 |
- 16c的规格请降低为14c,大于等于64g的内存请降低为52g或者48g。14c52g是标准规格,是从节点的分配率考虑的。
- 如果要使用0.5g的内存,需要在iac里面配置为500m,不能配置为0.5g。
- 最小组网:cpu规格<=1u,且双az pod数量<=6个。
示例1(双az同构,或者不同构但同配置):
- name: wisecloudfgceventbuilderservice_cluster1
type: wisecloud::microservice::nuwacontainer
properties:
containers:
- image: swr.cn-north-4.myhuaweicloud.com/wiseeye/wiseeyechaosmonkeyservicewebsite:3.0.9.204.sp2
flavor: 2c8g
stsenable: true
ports:
- 8080
示例2(arm、x86混部时,独立配置flavor):
- name: wisecloudfgceventbuilderservice_cluster1
type: wisecloud::microservice::nuwacontainer
properties:
containers:
- image: swr.cn-north-4.myhuaweicloud.com/wiseeye/wiseeyechaosmonkeyservicewebsite:3.0.9.204.sp2
flavor: 2c8g
armflavor: 4c16g
stsenable: true
ports:
- 8080
容器健康检查
|
参数名称 |
参数类型 |
是否必选 |
默认值 |
说明 |
参数规范 |
举例 |
|---|---|---|---|---|---|---|
|
readinessprobe: exec: command: |
list(string) |
必须配置其中一种,且只能配置一种 |
[] |
命令行检查方式 |
命令行检查方式\http请求检查方式\tcp端口检查三种方式只能选择一种。 |
readinessprobe: exec: command: ["echo", "hello"] |
|
readinessprobe: httpget: |
object |
- |
http请求检查方式 |
命令行检查方式\http请求检查方式\tcp端口检查三种方式只能选择一种。 |
readinessprobe: httpget: path: /health port: 8080 scheme: http |
|
|
readinessprobe: tcpsocket: port: |
int |
- |
tcp端口检查 |
命令行检查方式\http请求检查方式\tcp端口检查三种方式只能选择一种。 |
readinessprobe: tcpsocket: port:8080 |
|
|
livenessprobe: exec: command: |
list(string) |
必须配置其中一种,且只能配置一种 |
[] |
命令行检查方式 |
命令行检查方式\http请求检查方式\tcp端口检查三种方式只能选择一种。 |
livenessprobe: exec: command: ["echo", "hello"] |
|
livenessprobe: httpget: |
object |
- |
http请求检查方式 |
命令行检查方式\http请求检查方式\tcp端口检查三种方式只能选择一种。 |
livenessprobe: httpget: path: /health.html port: 8080 scheme: http |
|
|
livenessprobe: tcpsocket: port: |
int |
- |
tcp端口检查 |
命令行检查方式\http请求检查方式\tcp端口检查三种方式只能选择一种。 |
livenessprobe: tcpsocket: port:8080 |
|
|
initialdelayseconds |
int |
可选 |
10s |
表示容器启动多少秒之后开始探测,单位秒。默认值为10s。 |
不小于5 |
readinessprobe: exec: command: ["echo", "hello"] initialdelayseconds: 10 periodseconds: 20 successthreshold :1 failurethreshold: 3 timeoutseconds:5 |
|
periodseconds |
int |
可选 |
20s |
间隔周期,表示每多少秒探测一次容器,单位秒,默认值为20s。 |
不大于180 |
|
|
successthreshold |
int |
可选 |
1 |
表示连续检测多少次成功后则记作成功。默认值为1。 |
不大于10,liveness探针只能为1。 |
|
|
failurethreshold |
int |
可选 |
3 |
表示连续检测多少次失败当作是失败处理,并会重启容器。默认值为3。 |
不大于10 |
示例:
livenessprobe:
httpget:
path: /health
port: 8080
scheme: http
initialdelayseconds: 20
timeoutseconds: 3
periodseconds: 10
successthreshold: 1
failurethreshold: 3
readinessprobe:
httpget:
path: /health
port: 8080
scheme: http
initialdelayseconds: 20
timeoutseconds: 3
periodseconds: 10
successthreshold: 1
failurethreshold: 10
- name: apigateway
type: wisecloud::agent::apigateway
version: x.x.x.x
flavor: 1c2g
param:
$ref: 'config/sidecar_apigw_param.json
sidecar配置
|
参数名称 |
参数类型 |
是否必选 |
默认值 |
说明 |
参数规范 |
举例 |
|---|---|---|---|---|---|---|
|
sidecars |
type = list(object) |
- |
[] |
由于pod销毁或被驱逐时,日志文件会丢失,因此aiops log sidecar为必选参数,需要业务配置此sidecar及时将日志进行采集。 |
|
详见代码示例,按照业务需求配置所需的sidecar。 |
示例:
sidecars:
- name: aiopslog
type: wisecloud::agent::aiopslog
version: 3.3.0.100
flavor: 0.4c500m
param:
$ref: 'config/sidecar_aiops_param.json'
- name: rasp
type: wisecloud::agent::rasp
version: 2.2.0.102.sp5
flavor: 0.3c500m
param: ''
- name: biflume
type: wisecloud::agent::biflume
version: x.x.x.x
flavor: 0.2c500m
param:
$ref: 'config/sidecar_biflume_param.json'
- name: apigateway
type: wisecloud::agent::apigateway
version: x.x.x.x
flavor: 1c2g
param:
$ref: 'config/sidecar_apigw_param.json
网络配置
|
参数名称 |
参数类型 |
是否必选 |
默认值 |
说明 |
参数规范 |
举例 |
|---|---|---|---|---|---|---|
|
isolateddomain |
string |
可选 |
- |
隔离域 |
只有cce_turbo集群支持,老cce集群不支持。如果不配置,则使用ens隔离域规划中对应的隔离域。 |
- |
|
slbenable |
bool |
可选 |
false |
是否启用slb |
“否”仅针对第一次添加slb信息时有效。 如果之前有部署过,并且配置为“是”,此时再修改为“否”是无效的。 |
- |
示例:
- name: wisecloudfgceventbuilderservice_cluster1
type: wisecloud::microservice::nuwacontainer
properties:
network:
slbenable: true
isolateddomain: $ {创建的隔离域名称}
slb配置(可选)
|
参数名称 |
参数类型 |
是否必选 |
默认值 |
说明 |
参数规范 |
举例 |
|---|---|---|---|---|---|---|
|
port |
int32 |
必选 |
null |
微服务在slb上暴露的端口 |
- |
8080 |
|
weight |
int32 |
必选 |
null |
微服务在slb上负载的权重 |
- |
20 |
|
timeout |
int32 |
必选 |
null |
微服务调用转发的超时时间 |
- |
20 |
|
maxfails |
int32 |
必选 |
null |
微服务调用的失败次数 |
- |
3 |
|
targetgroup |
object{ name, loadbalancer } |
必选 |
"" |
微服务注册到slb上的后端服务器组名 |
|
name: chaosmonekey_portal_static loadbalancer: strategy: roundrobin |
|
listenergroupname |
string |
必选 |
"" |
微服务前端关联的slb listenser group实例iac名称 |
对应nuwaruntime中的slbservicename,长度为[1, 64] slb下需要存在这个监听,为空时不会创建routerule。 |
chaos_slb_listener_lhq |
|
routes |
array[ location: string] |
可选 |
[] |
微服务的路由规则 |
不推荐使用,请直接使用slb的iac3.0创建。 |
/fgc/v1 |
示例:
- name: wisecloudfgceventbuilderservice_cluster1
type: wisecloud::microservice::nuwacontainer
properties:
bindslb:
- port: 8080
graystatus: 1
weight: 20
maxfails: 3
timeout: 20
listenergroupname: chaos_slb_listener_lhq
targetgroup:
name: chaosmonekey_portal_static
loadbalancer:
strategy: roundrobin
证书配置
|
参数名称 |
参数类型 |
是否必选 |
默认值 |
说明 |
参数规范 |
举例 |
|---|---|---|---|---|---|---|
|
certconfigs |
type = list(object({ name = string tag = string })) |
可选 |
[] |
证书配置 |
|
# 业务证书配置 certconfigs: name: "server" # 证书名称 tag: "default" # 证书tag |
daemonset
|
参数名称 |
参数类型 |
是否必选 |
默认值 |
说明 |
参数规范 |
举例 |
|---|---|---|---|---|---|---|
|
daemonset |
type = list(object) |
可选 |
[] |
目前仅支持aiops daemonset和bi daemonset,挂载hostpath提供存储持久化到node的能力。 |
|
详见代码示例 |
示例:
daemonset:
- name: aiops
type: wisecloud::agent::aiops
enable: true
logpath: '/opt/huawei/logs'
limitsize: 100g
groups: ["logconfiggroupname"]
- name: bi
type: wisecloud::agent::bi
enable: false
logpath: '/opt/huawei/logs/bi'
groups: ["ods_v001_dm_service1", "ods_v001_dm_service2"]
paramjson: "{\"datagroups\":[{\"datagroup\":\"odsname_batchfileexampleds\",\"agenttype\":\"batch\",\"batchconfig\":{\"datapushinputs\":{\"jobtype\":\"file\",\"dayperiod\":{\"starttime\":\"10:00:00\",\"offset\":\"1\"},\"file\":{\"sources\":[{\"pattern\":\"/opt/huawei/hcy/*.txt\",\"filename\":\"test.txt\"}]}},\"datapushoutput\":{\"postfix\":\"txt\",\"permitemptyfile\":true},\"advanced\":{\"extendfields\":{\"datapushinput.isutc\":false,\"datapushinput.file.sourcepolicy\":3,\"datapushinput.file.countthreshold\":0,\"datapushinput.file.sizethreshold\":0,\"sendthreadcount\":3,\"datapushinput.file.fileretrytimes\":3,\"datapushinput.file.filewaittimes\":3}}}},{\"datagroup\":\"odsname_streamfileexampleds\",\"agenttype\":\"stream\",\"streamconfig\":{\"filebeatinputs\":{\"type\":\"log\",\"enabled\":true,\"paths\":[\"/opt/huawei/logs/*.log\",\"/opt/huawei/logs/*.txt\"]},\"advanced\":{\"extendfields\":{\"filebeatinputs.harvester_limit\":5,\"queue.mem.events\":4096,\"queue.mem.flush.min_events\":2048}}}}]}"
# 配置json格式化
业务配置
|
参数名称 |
参数类型 |
是否必选 |
默认值 |
说明 |
参数规范 |
举例 |
|---|---|---|---|---|---|---|
|
configs |
object(private = object( name = string prefix = string version = string schema = object records = object) public = object( name = string prefix = string)) |
否 |
{} |
配置项的根字段,包含两个属性,分别是private和public,分别为业务配置项和公共配置项,其下各个字段的描述如下所示。 |
- |
见下文样例 |
|
prefix |
string |
否 |
"" |
配置项的归属路径 |
仅限于publicconfig |
/public/cloudeye/wiseeyeconfigservice |
|
schema |
object(type = string properties = object( key1 = object( type = string description = string format = string))) |
否 |
{} |
配置项属性,properties属性为key-object格式,key是配置名称 ,object是配置项各项描述,其中format指配置项类型,默认为notype,如果是敏感配置项为sensitive。 如果是非敏感配置项,可以不在schema中声明,以减少维护工作量。 |
仅限于privateconfig |
见下文样例 |
|
records |
object(key1 = string key2 = string) |
否 |
{} |
描述配置,key-value格式,key为配置名称 ,value为配置值。 value仅支持字符串类型 如果是数字、布尔值、对象和数组,需要加单引号,例:'10'、'true'、'{"test": 1}'、'[1,2]'。 |
仅限于privateconfig |
records: test: '{"a":"a","b":"b"}' timeout: '10' enablesa: 'true' |
|
name |
string |
否 |
"" |
配置项名称,对应nuwaruntime的container[0].configtag,对应publicconfig和privateconfig的name。 配合动态配置生效,需要nuwa基础镜像版本要保持在3.0.11版本以上,否则报错。 |
publicconfig/privateconfig均有 限制:8位以内的小写字母和数字 |
见下文样例 |
|
version |
string |
否 |
"" |
配置版本,对应nuwaruntime的container[0].configveersion,对应privateconfig的version。 配合动态配置生效,需要nuwa基础镜像版本要保持在3.0.11版本以上,否则报错。 |
仅限于privateconfig |
见下文样例 |
示例:
# resources.yaml
- name: wisecloudfgceventbuilderservice_cluster1
type: wisecloud::microservice::nuwacontainer
properties:
configs:
$ref: 'config/business_config.yaml#'
# business_config.yaml
public:
prefix: /com.huawei.wiseeye
name: public5
private:
version: 1.0.0 #(配合动态配置生效,需要nuwa基础镜像版本要保持在3.0.11版本以上,否则报错)
name: fgcva #(配合动态配置生效,需要nuwa基础镜像版本要保持在3.0.11版本以上,否则报错)
schema:
type: object
properties:
aiopsconfig_aiopsserver: # 默认为format: notype,如果非敏感项,可以不填
format: notype # 默认为notype,如果非敏感项,可以不填
aiopsconfig_aiopstokenuri: # 敏感项必须填
format: sensitive # 敏感项必须填
records: # 必填
aiopsconfig_aiopsserver: https://xx.xx.xx.xx:xxxx/
test: '{"a":"a","b":"b"}' # 仅支持字符串类型,[]、{}的值,yaml会识别为对象和数组,必须加单引号
timeout: '10' # 仅支持字符串类型,数字和布尔值也要加引号
enablesa: 'true'
滚动升级策略
|
参数名称 |
参数类型 |
是否必选 |
默认值 |
说明 |
参数规范 |
举例 |
|---|---|---|---|---|---|---|
|
rollingupdatestrategy |
type = object({ maxsurge = string maxunavailable = string }) |
可选 |
maxsurge : "25%" maxunavailable: 0 |
滚动升级策略配置
|
整数:最小值为0 百分比:0% ~ 100%
|
rollingupdatestrategy: maxsurge = "50%" maxunavailable = "25%" |
优雅下线
|
参数名称 |
参数类型 |
是否必选 |
默认值 |
说明 |
参数规范 |
举例 |
|---|---|---|---|---|---|---|
|
prestopconfig |
type = object({ execcommand = list }) |
必选 |
[] |
优雅退出处理 |
- |
prestopconfig: execcommand: ["/bin/bash", "-c", "sleep 20"] |
|
terminationgraceperiodseconds |
int |
可选 |
30 |
优雅退出宽限时间,此时间为整个pod的最大退出时间。 |
- |
terminationgraceperiodseconds: 30 |
灰度策略
|
参数名称 |
参数类型 |
是否必选 |
默认值 |
说明 |
参数规范 |
举例 |
|---|---|---|---|---|---|---|
|
graystage |
type = object({grayinstances = number grayprocess= stringgraystatus = number }) |
可选 |
null |
灰度升级策略配置。
|
- |
graystage: grayinstances: 50 grayprocess: "ingray" graystatus: 2 |
示例:
- name: wisecloudfgceventbuilderservice
type: wisecloud::microservice::nuwacontainer
properties:
graystage:
grayinstances: 50
grayprocess: "ingray"
graystatus: 2
水平自动伸缩(hpa)
如果业务不需要使用hpa,请不要配置hpa相关参数。hpa开关配置关闭,也会创建hpa资源,只是不会生效扩缩容。
|
参数 |
说明 |
是否必填 |
备注 |
|---|---|---|---|
|
hpa_scale_disabled |
是否禁用hpa,false表示不禁用;true表示禁用。 |
是 |
取值为false时开启hpa。 |
|
polling_interval |
负载检测周期,单位秒。 |
否 |
- |
|
origin_instances |
初始副本数,不配置则使用min_instances值。 |
否 |
- |
|
min_instances |
最小副本数 |
是 |
不配置默认为1。 |
|
max_instances |
最大副本数 |
是 |
不配置默认为1。 |
|
hpa_scale_triggers |
扩缩容指标配置,目前仅支持cpu/memory。 |
是 |
仅统计主容器资源。 |
|
hpa_scale_up_rules |
扩容规则,定义稳定时间窗,减少扩容毛刺。 |
否 |
- |
|
hpa_scale_down_rules |
缩容规则,定义稳定时间窗,减少缩容毛刺。 |
否 |
- |
|
hpa_scale_up_policies |
扩容策略,定义扩容步长。 |
否 |
- |
|
hpa_scale_down_policies |
缩容策略,定义缩容步长。 |
否 |
- |
示例:
在resources.yaml中添加hpa参数如下:
hpa: #弹性伸缩配置
$ref: 'config/hpa.yaml#/recommend'
在config目录,增加一个hpa.yaml文件,存放hpa的相关配置项。
recommend:
disabled: true #true表示关闭hpa,false表示开启hpa
pollinginterval: 5 #负载检测周期,单位秒
minreplicas: 2 #最小副本数
maxreplicas: 4 #最大副本数
triggers: #业务根据时间情况选择弹性伸缩策略
-type: cpu #业务容器的cpu利用率大于40%则触发扩容条件
metadata:
averageutilization: 40%
-type: memory #业务容器的内存利用率大于60%则触发扩容条件
metadata:
averageutilization: 60%
指定分组和资源标签
|
参数名称 |
参数类型 |
是否必选 |
默认值 |
说明 |
参数规范 |
举例 |
|---|---|---|---|---|---|---|
|
resourcetag |
type = object ({group = stringfeatures = string}) |
可选 |
无 |
|
此处配置的信息要在runtime页面提前预置好。 |
resourcetag: group: "common" features: "dev" |
相关文档
意见反馈
文档内容是否对您有帮助?
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨