华为云用户手册

  • K8s配置NFS-Client 上传“k8s镜像插件”客户端到K8s的所有Node节点服务器的/soft/nfs,并安装。 上传“yaml文件”到k8s的控制节点服务器。 图1 图示1 安装nfs-client 上传“nfs非容器客户端”到3台node节点, yum install -y nfs-common nfs-utils rpcbind Node导入镜像 上传“k8s镜像插件”到3台node节点,并导入镜像 # docker load -i busybox-latest.tar.gz# docker load -i nfs-client-provisioner-v3.2.0.tar.gz 图2 图示2 Master创建命名空间 # kubectl create namespace nfs Master创建NFS服务K8s插件 # kubectl apply -f rbac.yamlapiVersion: v1kind: ServiceAccountmetadata:name: nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: nfs---kind: ClusterRoleapiVersion: rbac.authorization.k8s.io/v1metadata:name: nfs-client-provisioner-runnerrules: - apiGroups: [""] resources: ["persistentvolumes"] verbs: ["get", "list", "watch", "create", "delete"] - apiGroups: [""] resources: ["persistentvolumeclaims"] verbs: ["get", "list", "watch", "update"] - apiGroups: ["storage.k8s.io"] resources: ["storageclasses"] verbs: ["get", "list", "watch"] - apiGroups: [""] resources: ["events"] verbs: ["create", "update", "patch"]---kind: ClusterRoleBindingapiVersion: rbac.authorization.k8s.io/v1metadata:name: run-nfs-client-provisionersubjects:- kind: ServiceAccountname: nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: nfsroleRef:kind: ClusterRolename: nfs-client-provisioner-runnerapiGroup: rbac.authorization.k8s.io---kind: RoleapiVersion: rbac.authorization.k8s.io/v1metadata:name: leader-locking-nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: nfsrules: - apiGroups: [""] resources: ["endpoints"] verbs: ["get", "list", "watch", "create", "update", "patch"]---kind: RoleBindingapiVersion: rbac.authorization.k8s.io/v1metadata:name: leader-locking-nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: nfssubjects:- kind: ServiceAccountname: nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: nfsroleRef:kind: Rolename: leader-locking-nfs-client-provisionerapiGroup: rbac.authorization.k8s.io # kubectl apply -f class.yamlapiVersion: storage.k8s.io/v1kind: StorageClassmetadata:name: managed-nfs-storageprovisioner: fuseim.pri/ifs # or choose another name, must match deployment's env PROVISIONER_NAME'parameters: archiveOnDelete: "false" # kubectl apply -f deployment.yamlapiVersion: apps/v1kind: Deploymentmetadata:name: nfs-client-provisionerlabels:app: nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: nfsspec:replicas: 1strategy:type: Recreateselector:matchLabels:app: nfs-client-provisionertemplate:metadata:labels:app: nfs-client-provisionerspec:serviceAccountName: nfs-client-provisionercontainers:- name: nfs-client-provisionerimage: kopkop/nfs-client-provisioner-arm64:v3.1.0-k8s1.11volumeMounts:- name: nfs-client-rootmountPath: /persistentvolumesenv:- name: PROVISIONER_NAMEvalue: fuseim.pri/ifs- name: NFS_SERVERvalue: 192.168.0.69 #NFS服务器IP地址- name: NFS_PATHvalue: /data/nfs #NFS服务器上文件存储路径volumes:- name: nfs-client-rootnfs:server: 192.168.0.69 #NFS服务器IP地址path: /data/nfs #NFS服务器上文件存储路径 看到以下信息,表明deployment创建成功 图3 图示3 测试 创建NFS服务存储目录虚拟映射 # kubectl apply -f test-claim.yamlkind: PersistentVolumeClaimapiVersion: v1metadata:name: test-claimannotations:volume.beta.kubernetes.io/storage-class: "managed-nfs-storage"spec:accessModes:- ReadWriteManyresources:requests:storage: 1000Mi #资源大小限制 # kubectl apply -f test-pod.yamlkind: PodapiVersion: v1metadata:name: test-podspec:containers:- name: test-podimage: busybox:latestcommand:- "/bin/sh"args:- "-c"- "touch /data/nfs/SUC CES S && exit 0 || exit 1"volumeMounts:- name: nfs-pvcmountPath: "/data/nfs" #挂载到镜像中的路径restartPolicy: "Never"volumes:- name: nfs-pvcpersistentVolumeClaim:claimName: test-claim #存储目录虚拟映射,跟test-claim.yaml的名称一致 图4 图示4 到NSF-Server服务器(192.168.0.69)所在机器的/data/nfs,可以看到创建了一个随机默认目录和SUCCESS文件 图5 图示5 容器挂载 创建k8s客户端服务,上传daas-claim.yaml到服务器,并执行 图6 图示6 # kubectl create ns daas# kubectl apply -f daas-claim.yamlkind: PersistentVolumeClaimapiVersion: v1metadata:name: daas-claimnamespace: daasannotations:volume.beta.kubernetes.io/storage-class: "managed-nfs-storage"spec:accessModes:- ReadWriteManyresources:requests:storage: 1000Mi #资源大小限制 挂载容器指定目录(/etc/daas/kerberos)到NFS服务器 图7 图示7 volumeMounts:- name: nfs-pvcmountPath: "/etc/daas/kerberos" #容器目录volumes:- name: nfs-pvcpersistentVolumeClaim:claimName: daas-claim #NFS客户端服务名称 进入NFS服务器,看到test.txt,表明容器到NFS的挂载已成功 # cd /data/nfs/daas-daas-claim-pvc-xxx 图8 图示8 父主题: NFS部署
  • CCE导入服务 命名空间介绍 applife:中间件服务或中间件映射服务; daas: DAAS后台服务; daas-web: DAAS前台服务; kong: 网关服务. 图1 命名空间介绍 导入后台服务 打开kubectl控制机器进入/sort/daas-yaml/sh目录 图2 导入后台服务 陆续把容器编排文件导入 Kubectl apply -f . 如果出现下running状态提示,表面容器已启动,否则检查报错信息 图3 导入后台服务2 查看服务启动日志,选择某一个服务,“查看日志” kubectl logs -n daas deepexi-daas-security-deploy-ffb778cb9-2zgbj -f --tail=200 图4 查看日志 导入前台服务 同导入后台服务一样,打开kubectl机器 图5 导入前台服务1 陆续导入容器编排文件即可 结果如图 图6 导入前台服务2 导入中间件服务 打开kubectl控制机器 陆续导入中间件(映射)容器编排文件 图7 导入中间件服务1 结果如下: 图8 导入中间件服务2 父主题: DaaS部署
  • 安装NFS-Server 安装nfs yum install -y nfs-common nfs-utils 创建数据目录 # mkdir -p /data/nfs 访问授权 添加nfs-server访问白名单及文件存储路径 # vim /etc/exports/data/nfs 192.168.0.0/24(no_root_squash,rw,sync,no_subtree_check) 如果允许所有访问,用/data/nfs *(no_root_squash,rw,sync,no_subtree_check) 加载配置 # exportfs -rv 启动NFS和rpcbind # systemctl enable nfs && systemctl enable rpcbind && systemctl start rpcbind nfs 图1 启动NFS和rpcbind1 图2 启动NFS和rpcbind2 查看 RPC 服务的注册状况 # rpcinfo -p 192.168.0.69 图3 查看 RPC 服务的注册状况 showmount测试 # showmount -e 192.168.0.69 图4 showmount测试 父主题: NFS部署
  • 威胁检测服务如何收费? 根据您选择的服务规格、使用时长和超出服务规格的检测量进行收费。 威胁检测服务提供包年/包月的计费方式,包年/包月支持入门包、初级包、基础包、高级包4种服务规格,您可以根据业务需求进行选购。同时,威胁检测服务还提供检测叠加包,当检测的日志数据源容量超过您所购买的服务规格后,威胁检测服务会自动为您购买检测叠加包,额外按需计费。 如果您所购买的服务规格(入门包、初级包、基础包、高级包)到期,且未进行续购,MTD将根据您的使用情况按需计费。 有关MTD详细的计费说明,请参见计费说明。 详细的服务资费费率标准请参见产品价格详情。 父主题: 购买咨询
  • 威胁检测 服务可以检测哪些风险? 威胁检测服务接入全量的 统一身份认证 IAM )、虚拟私有云(VPC)、云解析服务(DNS)、 云审计 服务( CTS )、 对象存储服务 (OBS)的日志数据,利用AI智能引擎、威胁情报、规则基线模型一站式检测,持续监控暴力破解、恶意攻击、渗透、挖矿攻击等恶意活动和未经授权行为,识别云服务日志中的潜在威胁,对检测出的威胁告警信息进行统计展示。 威胁检测服务通过弹性画像模型、无监督模型、有监督模型实现对风险口令、凭证泄露、Token利用、异常委托、异地登录、未知威胁、暴力破解七大高危场景实现了异常行为的智能检测。可有效对化整为零低频次的分布式暴破攻击行为进行成功捕获。同时可对Linux.Ngioweb僵尸网络、SystemdMiner挖矿木马、WatchBog挖矿木马、BadRabbit勒索病毒进行有效检测、捕获。 父主题: 产品咨询
  • 修订记录 发布日期 修改记录 2022-10-26 第十一次正式发布。 刷新计费说明章节,增加各版本包的计费模式说明。 2022-06-14 第十次正式发布。 新增计费说明章节。 2022-05-06 第九次正式发布。 刷新产品优势章节,新增智能化威胁响应相关描述,新增跨服务联动响应关于 态势感知 (SA)的描述。 刷新应用场景章节,新增威胁事件告警、协同服务相关描述。 2022-03-08 第八次正式发布。 修改什么是威胁检测服务。 2022-01-14 第七次正式发布。 增加检查VPC能力,优化内容描述。 2021-11-17 第六次正式发布。 增加细粒度授权,修改MTD权限管理。 2021-10-30 第五次正式发布。 增加检查OBS能力,优化内容描述。 2021-08-23 第四次正式发布。 修改新增支持的AI算法能力。 2021-07-10 第三次正式发布。 正式版本上线相关资料修改。 2021-05-17 第二次正式发布。 内容完善优化,新增与其他服务区别。 2021-01-20 第一次正式发布。
  • 基于AI智能引擎的威胁检测 威胁检测服务在基于威胁情报和规则基线检测的基础之上,融入了AI智能检测引擎。通过弹性画像模型、无监督学习模型、有监督学习模型实现对风险口令、凭证泄露、Token利用、异常委托、异地登录、未知威胁、暴力破解七大IAM高危场景进行智能检测。通过SVM、随机森林、神经网络等算法实现对隧道域名、DGA域名以及异常行为的智能检测。 AI引擎检测保持模型对真实数据的学习,保证数据对模型的反复验证和人工审查,精准制定预过滤和后处理逻辑,结合先验知识,模型达成零误报。同时,以阶段性检测结果为输入,通过模型重训练和依赖文件定期更新持续优化模型,提升模型告警准确率。
  • DDoSTcp2Udp 在租户侧网络场景下,检测到某些E CS 可能正在TCP端口上使用UDP协议进行DoS攻击。 例如,端口80常用于tcp通信,但某个时间点发现80端口被用于udp通信,并使入口| 出口流量会瞬间暴增。 默认严重等级:高危。 数据源:VPC流日志。 此调查结果通知您,检测到某些ECS可能正在TCP端口上使用UDP协议进行DoS攻击。 例如,端口80常用于tcp通信,但某个时间点发现80端口被用于udp通信,并使入口| 出口流量会瞬间暴增。 修复建议:如果此事件为异常行为,则您的ECS有可能遭到攻击,请查看是否存在可疑进程,并清除任何发现的恶意软件,如有必要,建议您终止当前ECS,根据需要使用新ECS来做代替。
  • DDoSTcp 在租户侧网络场景下,检测到某些ECS可能正被用于TCP协议进行DoS攻击,使入口 | 出口流量会瞬间暴增。 默认严重等级:高危。 数据源:VPC流日志。 此调查结果通知您,检测到某些ECS可能正被用于TCP协议进行DoS攻击,使入口 | 出口流量会瞬间暴增。 修复建议:如果此事件为异常行为,则您的ECS有可能遭到攻击,请查看是否存在可疑进程,并清除任何发现的恶意软件,如有必要,建议您终止当前ECS,根据需要使用新ECS来做代替。
  • DDoSUdp 在租户侧网络场景下,检测到某些ECS可能正被用于UDP协议进行DoS攻击,使入口| 出口流量会瞬间暴增。 默认严重等级:高危。 数据源:VPC流日志。 此调查结果通知您,检测到某些ECS可能正被用于UDP协议进行DoS攻击,使入口| 出口流量会瞬间暴增。 修复建议:如果此事件为异常行为,则您的ECS有可能遭到攻击,请查看是否存在可疑进程,并清除任何发现的恶意软件,如有必要,建议您终止当前ECS,根据需要使用新ECS来做代替。
  • DDoSUnusualProtocol 在租户侧网络场景下,检测到某些ECS可能正在使用异常协议进行DoS攻击。例如除了常见协议TCP、UDP、ICMP、IPv4、IPv6、STP等等以外的协议,出现在流量中,需要引起高度重视。 默认严重等级:高危。 数据源:VPC流日志。 此调查结果通知您,检测到某些ECS可能正在使用异常协议进行DoS攻击。例如除了常见协议TCP、UDP、ICMP、IPv4、IPv6、STP等等以外的协议,出现在流量中,需要引起高度重视。 修复建议:如果此事件为异常行为,则您的ECS有可能遭到攻击,请查看是否存在可疑进程,并清除任何发现的恶意软件,如有必要,建议您终止当前ECS,根据需要使用新ECS来做代替。
  • UnusualNetworkPort 在租户侧网络场景下,检测到某些ECS可能正在使用异常端口与远程主机通信,可能从事非法活动。异常端口可能来自于任何自定义开放端口。 默认严重等级:中危。 数据源:VPC流日志。 此调查结果通知您,检测到某些ECS可能正在使用异常端口与远程主机通信,可能从事非法活动。异常端口可能来自于任何自定义开放端口。 修复建议:如果此事件为异常行为,则您的ECS有可能遭到攻击,请查看是否存在可疑进程,并清除任何发现的恶意软件,如有必要,建议您终止当前ECS,根据需要使用新ECS来做代替。
  • Cryptomining 在租户侧网络场景下,检测到某些ECS可能正在访问与挖矿活动相关联的IP,可能从事非法活动。 默认严重等级:高危。 数据源:VPC流日志。 此调查结果通知您,检测到某些ECS可能正在访问与挖矿活动相关联的IP,可能从事非法活动。 修复建议:如果此事件为异常行为,则您的ECS有可能遭到攻击,请查看是否存在可疑进程,并清除任何发现的恶意软件,如有必要,建议您终止当前ECS,根据需要使用新ECS来做代替。
  • UnusualTrafficFlow 在租户侧网络场景下,检测到某些ECS生成大量的网络出口流量,此网络出口流量偏离了正常基线值,并全部流向到远程主机。 默认严重等级:中危。 数据源:VPC流日志。 此调查结果通知您,检测到某些ECS生成大量的网络出口流量,此网络出口流量偏离了正常基线值,并全部流向到远程主机。 修复建议:如果此事件为异常行为,则您的ECS有可能遭到攻击,请查看是否存在可疑进程,并清除任何发现的恶意软件,如有必要,建议您终止当前ECS,根据需要使用新ECS来做代替。
  • DDoSTcpDns 在租户侧网络场景下,检测到某些ECS可能正在基于DNS协议进行Dos攻击,端口为53。 默认严重等级:高危。 数据源:VPC流日志。 此调查结果通知您,检测到某些ECS可能正在基于DNS协议进行Dos攻击,端口为53。 修复建议:如果此事件为异常行为,则您的ECS有可能遭到攻击,请查看端口为53的进程是否出现异常,并清除任何发现的恶意软件,如有必要,建议您终止当前ECS,根据需要使用新ECS来做代替。
  • CommandControlActivity VPC检测到ECS存在当前IP被用于向高危网络发送消息。 默认严重等级:高危。 数据源:VPC流日志。 此调查结果通知您,MTD 发现当前IP正在访问已知命令和控制相关联的IP,从事非法活动。 修复建议:如果此事件为异常行为,则您的ECS有可能遭到攻击,请查看是否存在可疑进程,并清除任何发现的恶意软件,如有必要,建议您终止当前ECS,根据需要使用新ECS来做代替。
  • 修订记录 发布日期 修改记录 2022-10-26 第十次正式发布。 优化步骤一:购买和创建威胁检测引擎章节内容。 2022-05-06 第九次正式发布。 增加设置告警通知章节,说明告警通知设置方式。 2022-01-14 第八次正式发布。 增加检查VPC能力,优化内容描述。 将步骤一:购买和创建威胁检测引擎和步骤二:配置追踪器合入威胁检测服务使用。 修改查看告警类型详情。 2021-12-13 第七次正式发布。 修改查看告警类型详情。 2021-11-17 第六次正式发布。 新增细粒度授权,增加创建用户组并授权使用MTD。 修改步骤二:配置追踪器 修改告警类型为大驼峰命名。 2021-10-30 第五次正式发布。 购买时新增入门包和初级包的选择说明。 2021-09-29 第四次正式发布。 补充OBS告警类型描述:查看告警类型详情。 2021-08-25 第三次正式发布。 修改统计图显示相关的内容描述。 2021-07-10 第二次正式发布。 2021-01-20 第一次正式发布。
  • 操作步骤 创建组件。 调用创建组件接口,请求示例如下: curl -k -H "Content-Type:application/json" -H "X-Environment-ID: $env_id" -H "X-Auth-Token:$Token" -X POST "https://{cae_endpoint}v1/{project_id}/cae/applications/{application_id}/components" -d '{ "api_version": "v1", "kind": "Component", "metadata": { "name": "demo-jar", "annotations": { "version": "1.0.0" } }, "spec": { "runtime": "Java8", "build": { "archive": { "artifact_namespace": "target_namespace" }, "parameters": { "base_image": "openjdk:8u181-jdk-alpine", "build_env": "java-8" } }, "source": { "type": "softwarePackage", "sub_type": "BinObs", "url": "https://xx/demo.jar" }, "resource_limit": { "cpu_limit": "500m", "memory_limit": "1Gi" }, "replica": 1 }}' 返回结果: { "api_version": "v1", "kind": "Component", "metadata": { "id": "908aabb3-0b50-4116-8e83-a6933ec1884c", "name": "demo-jar", "annotations": { "version": "1.0.0" }, "created_at": "2022-07-05T08:28:24.4885176Z", "updated_at": "2022-07-05T08:28:24.4885176Z" }, "spec": { "runtime": "Java8", "env_id": "50d18173-5df0-4db4-a2b6-8a428d42146b", "replica": 1, "source": { "type": "softwarePackage", "sub_type": "BinObs", "url": "https://xx/demo.jar" }, "build": { "archive": { "artifact_namespace": "target_namespace" }, "parameters": { "base_image": "xxx" } }, "access_info": null, "image_url": "", "available_replica": 0, "status": "", "build_log_id": "" }} 得到的job_id,可以通过job_id获取对应的创建的状态。
  • 状态码 状态码如表1所示 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTP的新版本协议。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 NoContent 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址。 使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 BadRequest 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 NotFound 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 MethodNotAllowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Time-out 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested range not satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 UnprocessableEntity 请求格式正确,但是由于含有语义错误,无法响应。 429 TooManyRequests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 ServiceUnavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 ServerTimeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理。 父主题: 附录
  • 请求示例 创建云数据库RDS组件配置 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations{ "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "rds", "data" : { "spec" : { "rds_id" : "a5fdee4cf88c4277a68688a014f444bdin01", "rds_db_name" : "cae", "rds_address" : "100.xx.xx.xxx", "rds_username" : "cae", "rds_password" : "xxx", "rds_port" : "3306" } } } ]} 创建 微服务引擎CSE 组件配置 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations{ "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "cse", "data" : { "spec" : { "config_center_addr" : "https://192.168.1.xxx:30103,https://192.168.1.xxx:30103", "service_center_addr" : "https://192.168.1.xxx:30100,https://192.168.1.xxx:30100", "cse_id" : "25779525-1aac-44be-abda-f9164f1b41b8" } } } ]} 创建环境变量组件配置 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations{ "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "env", "data" : { "spec" : { "envs" : { "TZ" : "Asia/Shanghai" } } } } ]} 创建内网访问方式和负载均衡类型的外网访问方式组件配置 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations{ "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "access", "data" : { "spec" : { "items" : [ { "type" : "ClusterIP", "ports" : [ { "target_port" : 80, "port" : 8080, "protocol" : "TCP" } ] }, { "type" : "LoadBalancer", "ports" : [ { "target_port" : 80, "port" : 9090, "protocol" : "TCP" } ] } ] } } } ]} 创建转发策略类型的外网访问方式组件配置 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations{ "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "access", "data" : { "spec" : { "items" : [ { "type" : "Ingress", "ports" : [ { "name" : "ingress-7n5ni00lig4z", "port" : 8088, "protocol" : "HTTP", "target_port" : 80, "paths" : [ { "path" : "/", "url_match_mode" : "STARTS_WITH" } ] } ] } ] }, "metadata" : { "annotations" : { "kubernetes.io/elb.health-check-flag" : "off", "kubernetes.io/elb.lb-algorithm" : "ROUND_ROBIN" } } } } ]} 创建伸缩策略组件配置 POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations{ "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "scaling", "data" : { "spec" : { "max_replica_count" : 1, "triggers" : [ { "metadata" : { "type" : "Utilization", "value" : "30" }, "type" : "cpu" }, { "metadata" : { "type" : "Utilization", "value" : "30" }, "type" : "memory" } ] } } } ]} 创建 云存储 配置组件配置(OBS桶配置、OBS并行文件系统配置) POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations{ "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "volume", "data" : { "spec" : { "volumes" : [ { "volume_id" : "bef119d0-c7d1-4b58-9794-8b74faf80a59", "resource_name" : "test-nacos", "resource_type" : "", "resource_sub_type" : "object_bucket", "mount_info" : [ { "path" : "/tmp", "access_mode" : "ReadWriteMany", "create_time" : "2023-02-16T03:22:59.599Z" } ] }, { "mount_info" : [ { "path" : "/temp", "access_mode" : "ReadWriteMany", "create_time" : "2023-02-16T03:25:08.841Z" } ], "volume_id" : "a061934d-52e3-4b36-aea7-6c51879f84c9", "resource_name" : "test", "resource_sub_type" : "parallel_file_system" } ] } } } ]} 创建健康检查组件配置(配置存活探针、就绪探针、启动探针) POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations{ "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "healthCheck", "data" : { "api_version" : "v1", "kind" : "HeathCheck", "spec" : { "livenessProbe" : { "periodSeconds" : 10, "timeoutSeconds" : 1, "successThreshold" : 1, "failureThreshold" : 3, "httpGet" : { "path" : "", "port" : 80, "httpHeaders" : [ ], "scheme" : "HTTP" } }, "startupProbe" : { "periodSeconds" : 10, "timeoutSeconds" : 1, "successThreshold" : 1, "failureThreshold" : 3, "httpGet" : { "path" : "", "port" : 80, "httpHeaders" : [ { "name" : "x-auth-token", "value" : "xxx" } ], "scheme" : "HTTP" } }, "readinessProbe" : { "periodSeconds" : 10, "timeoutSeconds" : 1, "successThreshold" : 1, "failureThreshold" : 3, "httpGet" : { "path" : "", "port" : 80, "httpHeaders" : [ ], "scheme" : "HTTP" } } } } } ]} 创建生命周期管理组件配置(配置启动后处理、停止前处理) POST https://{endpoint}/v1/{project_id}/cae/applications/{application_id}/components/{component_id}/configurations{ "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "lifecycle", "data" : { "api_version" : "v1", "kind" : "lifecycle", "spec" : { "postStart" : { "exec" : { "command" : [ "/bin/sh", "-c", "echo service start" ] } }, "preStop" : { "exec" : { "command" : [ "/bin/sh", "-c", "echo service end" ] } } } } } ]}
  • 操作步骤 创建应用。 调用创建应用接口,请求示例如下。 curl -k -H "Content-Type:application/json" -H "X-Environment-ID: $env_id" -H "X-Auth-Token:$Token" -X POST "https://{cae_endpoint}/v1/{project_id}/cae/applications" -d '{ "apiVersion": "v1", "kind": "Application", "metadata": { "name": "demo-app", "annotations": { "description": "demo" } }}' 返回结果: { "api_version": "v1", "kind": "Application", "metadata": { "id": "25f5aa9e-724c-4227-ab56-79b4066dce21", "name": "demo-app", "annotations": { "description": "demo" }, "created_at": "2022-07-05T08:34:15.9820794Z", "updated_at": "2022-07-05T08:34:15.9820794Z" }}
  • 概述 欢迎使用云应用引擎(Cloud Application Engine)。云应用引擎是一个面向应用的Serverless托管服务,提供极速部署、极低成本、极简运维的一站式应用托管方案。支持从源码、软件包、镜像包快速发布应用,秒级弹性伸缩、按量付费。可做到基础设施免运维,根据可观测的运行指标对应用进行生命周期管理。 您可以使用本文档提供API对云应用引擎相关的资源进行相关操作,如创建、删除、变更等。支持的全部操作请参见2 API概览。 在调用API之前,请确保已经充分了解云应用引擎相关概念,详细信息请参见产品介绍。 父主题: 使用前必读
  • 响应示例 状态码: 200 请求成功。 { "api_version" : "v1", "kind" : "ComponentConfiguration", "items" : [ { "type" : "env", "data" : { "spec" : { "envs" : { "TZ" : "Asia/Shanghai" } } }, "operation_id" : "68e82e30-190d-40b2-9680-98a66ccb2f8f", "operated_at" : "2023-02-16T06:35:46.23126Z", "is_activated" : true }, { "type" : "volume", "data" : { "spec" : { "volumes" : [ { "volume_id" : "bef119d0-c7d1-4b58-9794-8b74faf80a59", "resource_name" : "test-nacos", "resource_type" : "", "resource_sub_type" : "object_bucket", "mount_info" : [ { "path" : "/tmp", "access_mode" : "ReadWriteMany", "create_time" : "2023-02-16T03:22:59.599Z" } ] }, { "volume_id" : "a061934d-52e3-4b36-aea7-6c51879f84c9", "resource_name" : "test", "resource_type" : "", "resource_sub_type" : "parallel_file_system", "mount_info" : [ { "path" : "/temp", "access_mode" : "ReadWriteMany", "create_time" : "2023-02-16T03:25:08.841Z" } ] } ] } }, "operation_id" : "68e82e30-190d-40b2-9680-98a66ccb2f8f", "operated_at" : "2023-02-16T06:35:46.23126Z", "is_activated" : true }, { "type" : "rds", "data" : { "spec" : { "rds_id" : "a5fdee4cf88c4277a68688a014f444bdin01", "rds_port" : "", "rds_address" : "100.xx.xx.xxx", "rds_db_name" : "cae", "rds_password" : "xxx", "rds_username" : "cae" } }, "operation_id" : "b4ce410c-3ac3-40ae-9f11-0c8b98c2df19", "operated_at" : "2023-02-16T02:14:03.416282Z", "is_activated" : true }, { "type" : "scaling", "data" : { "spec" : { "max_replica_count" : 1, "triggers" : [ { "type" : "cpu", "metadata" : { "type" : "Utilization", "value" : "30" } }, { "type" : "memory", "metadata" : { "type" : "Utilization", "value" : "30" } } ] } }, "operation_id" : "02c81e5a-251b-4921-878e-a8f78efbadd1", "operated_at" : "2023-02-16T07:03:07.711734Z", "is_activated" : true }, { "type" : "access", "data" : { "metadata" : { "annotations" : { "deployBackend" : "k8s", "kubernetes.io/elb.health-check-flag" : "off", "kubernetes.io/elb.lb-algorithm" : "ROUND_ROBIN" } }, "spec" : { "ip" : "100.xx.xx.xxx", "items" : [ { "type" : "ClusterIP", "domain_names" : [ "test-test-config" ], "ports" : [ { "ip" : "", "name" : "loadBalancer-5x095cix5deo", "target_port" : 80, "port" : 8080, "protocol" : "TCP" } ] }, { "type" : "LoadBalancer", "ports" : [ { "ip" : "", "name" : "loadBalancer-0yzp5ud3w2pa", "target_port" : 80, "port" : 8080, "protocol" : "TCP" } ] } ] }, "ref" : { "id" : "f5de88cc-64be-4f70-ac17-db745eb76e67" } }, "operation_id" : "68e82e30-190d-40b2-9680-98a66ccb2f8f", "operated_at" : "2023-02-16T06:35:46.23126Z", "is_activated" : true }, { "type" : "lifecycle", "data" : { "api_version" : "v1", "kind" : "lifecycle", "spec" : { "postStart" : { "exec" : { "command" : [ "/bin/sh", "-c", "echo service start" ] } }, "preStop" : { "exec" : { "command" : [ "/bin/sh", "-c", "echo service end" ] } } } }, "operation_id" : "69bcf986-6f83-4f43-9ca1-595684ba0748", "operated_at" : "2023-02-16T07:05:05.610439Z", "is_activated" : true }, { "type" : "cse", "data" : { "spec" : { "cse_id" : "25779525-1aac-44be-abda-f9164f1b41b8", "config_center_addr" : "https://192.168.1.xxx:30103,https://192.168.1.xxx:30103", "service_center_addr" : "https://192.168.1.xxx:30100,https://192.168.1.xxx:30100" } }, "operation_id" : "945305ee-8be5-4826-9215-45a0b545ed13", "operated_at" : "2023-02-16T07:10:38.937075Z", "is_activated" : true }, { "type" : "healthCheck", "data" : { "spec" : { "livenessProbe" : { "httpGet" : { "path" : "", "port" : 80, "scheme" : "HTTP" }, "initialDelaySeconds" : 0, "timeoutSeconds" : 1, "periodSeconds" : 10, "successThreshold" : 1, "failureThreshold" : 3 }, "readinessProbe" : { "httpGet" : { "path" : "", "port" : 80, "scheme" : "HTTP" }, "initialDelaySeconds" : 0, "timeoutSeconds" : 1, "periodSeconds" : 10, "successThreshold" : 1, "failureThreshold" : 3 }, "startupProbe" : { "httpGet" : { "path" : "", "port" : 80, "scheme" : "HTTP", "httpHeaders" : [ { "name" : "x-auth-token", "value" : "xxx" } ] }, "initialDelaySeconds" : 0, "timeoutSeconds" : 1, "periodSeconds" : 10, "successThreshold" : 1, "failureThreshold" : 3 } } }, "operation_id" : "2361fba9-ee7e-405d-8b05-afc945a43e65", "operated_at" : "2023-02-16T07:07:23.193231Z", "is_activated" : true } ]}
  • SFS Turbo文件系统限制 表1 SFS Turbo文件系统限制 限制项 通用型 HPC型 HPC缓存型 支持访问方式 VPN/专线/云连接 VPN/专线/云连接 VPN/专线/云连接 最大带宽 2GB/s 20GB/s 48GB/s 最大IOPS 100K 1000K 2000K 最低时延 1~2ms 1~2ms 亚毫秒 单文件系统最大容量 320TB 1PB 1PB 支持协议 仅支持NFSv3 仅支持NFSv3 仅支持NFSv3 单文件系统最大挂载客户端数量 500 3000 3000 单文件系统可添加VPC数量 20 20 20 单文件大小 最大16TB 最大320TB 最大320TB 单文件系统最大文件或子目录数 10亿 20亿 20亿 单目录下最大文件或子目录数 2000万 2000万 2000万 目录最大深度(单位:层) 100 100 100 最大路径长度(单位:Byte) 1024 4096 4096 最大软链接长度(单位:Byte) 1024 1024 1024 最大硬链接长度(单位:Byte) 255 255 255 文件系统数量配额 默认32个,可提交工单申请扩大配额 默认32个,可提交工单申请扩大配额 默认32个,可提交工单申请扩大配额 备份 支持 即将开放 不支持 文件语义锁Flock 不支持 不支持 不支持 缓存加速 不支持 支持(仅保证最终一致性,如需关闭,请提交工单反馈) 说明: 最终一致性意味着当通过多客户端访问共享文件系统时,因为一个客户端的访问请求可能路由到不同的分布式后端,当命中到分布式后端的本地cache时,可能无法实时获取到其他客户端的更新操作,cache的失效时间通常为3~30s之间。 支持(仅保证最终一致性,如需关闭,请提交工单反馈) 说明: 最终一致性意味着当通过多客户端访问共享文件系统时,因为一个客户端的访问请求可能路由到不同的分布式后端,当命中到分布式后端的本地cache时,可能无法实时获取到其他客户端的更新操作,cache的失效时间通常为3~30s之间。
  • 审计 云审计服务(Cloud Trace Service,CTS),是华为 云安全 解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 用户开通云审计服务并创建和配置追踪器后,CTS可记录SFS的管理事件和数据事件用于审计。 CTS的详细介绍和开通配置方法,请参见CTS快速入门。 CTS支持追踪的SFS管理事件和数据事件列表,请参见审计。 父主题: 安全
  • 服务的访问控制 SFS对接了IAM服务,支持给企业中的员工设置不同的访问权限功能,以达到不同员工之间的权限隔离,用户可以通过IAM服务进行精细化的资源管控。详情请参见SFS的权限策略。 SFS支持通过IAM权限进行访问控制。 表1 SFS访问控制 访问控制方式 简要说明 详细介绍 权限控制 IAM权限 IAM权限是作用于云资源的,IAM权限定义了允许和拒绝的访问操作,以此实现云资源权限访问控制。管理员创建IAM用户后,需要将用户加入到一个用户组中,IAM可以对这个组授予SFS所需的权限,组内用户自动继承用户组的所有权限。 权限管理 父主题: 身份认证与访问控制
  • CIFS CIFS(Common Internet File System),通用Internet文件系统,是一种网络文件系统访问协议。CIFS是公共的或开放的SMB协议版本,由微软公司使用,它使程序可以访问远程Internet计算机上的文件并要求此计算机提供服务。通过CIFS协议,可实现Windows系统主机之间的网络文件共享。 CIFS类型的文件系统不支持使用Linux操作系统的云服务器进行挂载。 Windows系统建议使用CIFS协议类型的文件系统。
  • SFS Turbo HPC型 SFS Turbo HPC型文件系统为用户提供一个完全托管的共享文件存储,能够弹性伸缩至PB级规模,具备高可用性和持久性,为海量的小文件、低延迟高IOPS型应用提供有力支持。适用于影视渲染、泛HPC、AI训练、自动驾驶等场景。 影视渲染 提供百万IOPS,几十GB带宽性能,满足影视渲染高性能需求,提高数据处理效率。 泛HPC 提供高吞吐、高IOPS的性能,支持海量文件,满足气象分析、石油勘探、EDA仿真、基因分析等场景数据访问诉求。 AI训练 借助高性能文件系统,高效利用云上资源和大吞吐量数据,缩短人工智能训练时间。
  • 操作步骤 用户获取“用户访问域名”,域名在管理员添加用户时,会通过短信或邮件的形式告知用户,添加用户详情请参考添加企业成员。或您可以直接登录开天工作台用户工作台。 登录方式有两种,一种是输入用户名和密码,另一种是输入手机和验证码,如图1所示,然后单击“登录”,进入用户门户首页。 图1 企业用户登录 通过管理员手动添加企业成员的方式创建的账号,首次登录或者未设置密码时,只可通过手机验证码的方式登录,登录后请根据弹窗提示前往设置密码,如图2所示。设置密码后,下次才可使用账号密码登录。 图2 设置密码 单击需要访问的应用,进入应用系统。 若您想了解更多功能,可参考《用户指南》。
  • 如何操作MIW平台,触发帐号同步事件? 在ISV用户绑定企业且企业管理员授权应用后,会按顺序触发新增企业管理员、新增根组织机构的同步事件。ISV用户绑定企业的操作步骤请参见ISV用户如何绑定和重新绑定企业?。企业管理员授权应用的操作步骤如下图。 在企业管理员管理后台给用户设置应用的可见范围后,会按顺序触发新增组织机构、新增用户的同步事件。 ISV用户登录MIW平台,进入【应用注册中心】详情页,删除应用实例(即删除绑定的企业),会触发删除企业管理员、删除组织机构、删除企业用户的同步事件。 目前,MIW平台没有触发更新企业管理员事件的操作。 目前,MIW平台没有触发更新组织机构事件的操作。 其他触发新增企业用户的事件:企业管理员在管理后台通讯录下添加新员工时。 触发更新企业用户的事件, 企业工作台 通讯录下人员详情处调整部门。 其他触发删除企业用户的事件,企业工作台通讯录下人员详情处,选择员工离职。 父主题: 开发相关
共100000条