华为云用户手册

  • 检查是否已经安装Cloud-Init工具 请先执行如下步骤检查是否已安装Cloud-Init工具。在不同的操作系统下,查看是否已经安装Cloud-Init工具的方法不同。 若依赖python3 环境时,以Ubuntu22.0.4为例,执行以下命令查看是否安装Cloud-Init工具。 which cloud-init 回显类似如下,表示已经安装Cloud-Init工具,无需重复安装。 /usr/bin/cloud-init 回显类似如下,表示未安装Cloud-Init工具。 /usr/bin/which: no cloud-init in (/usr/local/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin) 若依赖python2 环境时,以CentOS 6系列为例,执行以下命令查看是否安装Cloud-Init工具。 which cloud-init 回显类似如下,表示已经安装Cloud-Init工具,无需重复安装。 cloud-init-0.7.5-10.el6.centos.2.x86_64 无回显信息表示未安装Cloud-Init工具。 由于Cloud-Init工具存在多种安装方法,如果无回显信息,请再次使用rpm -qa |grep cloud-init命令进行检查。which cloud-init和rpm -qa |grep cloud-init任何一个命令显示已安装,表示操作系统已安装Cloud-Init工具。 如果已安装Cloud-Init工具,还需要执行以下操作: 请确认当前云服务器操作系统中的证书是否继续使用。如果不再使用该证书,请删除证书。 root用户对应目录下的文件(如“/$path/$to/$root/.ssh/authorized_keys”),执行以下命令: cd /root/.ssh rm authorized_keys 非root用户对应目录下的证书文件(如“/$path/$to/$none-root/.ssh/authorized_keys”),执行以下命令: cd /home/centos/.ssh rm authorized_keys 执行以下命令,清除Cloud-Init工具产生的缓存,确保使用该私有镜像创建的云服务器可以使用证书方式登录。 sudo rm -rf /var/lib/cloud/* 设置完成后请勿重启云服务器,否则,需重新设置。
  • 采用官方提供的包源安装Cloud-Init工具(优先推荐) 在不同操作系统的云服务器上安装Cloud-Init工具的方法不同,请在root用户下执行相关安装操作。 以下将介绍SUSE、CentOS、Fedora、Debian和Ubuntu操作系统安装Cloud-Init工具的具体方法。其他操作系统类型,请安装并配置对应类型的Cloud-Init工具,例如,使用CoreOS操作系统时需安装并配置coreos-cloudinit。 SUSE操作系统 SUSE操作系统的Cloud-Init网络安装地址: https://ftp5.gwdg.de/pub/opensuse/repositories/Cloud:/Tools/ http://download.opensuse.org/repositories/Cloud:/Tools/ 在上述提供的网络安装地址下选择相应操作系统版本的repo安装包进行安装。 以SUSE Enterprise Linux Server 12为例,Cloud-Init工具的安装步骤如下。 登录到创建Linux私有镜像所使用的云服务器。 执行以下命令,安装SUSE 12的网络安装源。 zypper ar https://ftp5.gwdg.de/pub/opensuse/repositories/Cloud:/Tools/SLE_12_SP3/Cloud:Tools.repo 执行以下命令,更新网络安装源。 zypper refresh 执行以下命令,安装Cloud-Init。 zypper install cloud-init 执行以下命令,设置Cloud-Init为开机自启动服务。 SUSE 11: chkconfig cloud-init-local on; chkconfig cloud-init on; chkconfig cloud-config on; chkconfig cloud-final on service cloud-init-local status; service cloud-init status; service cloud-config status; service cloud-final status SUSE 12以及openSUSE 12/13/42: systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 对于SUSE和openSUSE操作系统,请执行以下步骤禁止动态修改云服务器名称。 执行以下命令,使用vi编辑器打开“dhcp”文件。 vi etc/sysconfig/network/dhcp 将“dhcp”文件中的“DHCLIENT_SET_HOSTNAME”的值修改为“no”。 CentOS操作系统 CentOS操作系统的Cloud-Init网络安装地址如表1所示。请在提供的网络安装地址下选择相应的epel-release安装包进行安装。 表1 Cloud-Init网络安装地址 操作系统类型 版本 网络安装地址 CentOS 6系列32位 https://archives.fedoraproject.org/pub/archive/epel/6/i386/ 6系列64位 https://archives.fedoraproject.org/pub/archive/epel/6/x86_64/ 7系列64位 https://archives.fedoraproject.org/pub/epel/7/x86_64/Packages/e/ 执行以下命令安装Cloud-Init: yum install 网络安装地址/epel-release-x-y.noarch.rpm yum install cloud-init “网络安装地址”表示Cloud-Init对应的epel-release安装包的地址,“x-y”表示当前操作系统对应的Cloud-Init epel-release版本号,执行命令时需参考表1以及实际使用的安装包版本进行替换。 以CentOS 6系列64位为例,当前版本号为6.8,则命令修改为: yum install https://archives.fedoraproject.org/pub/archive/epel/6/x86_64/epel-release-6-8.noarch.rpm 以CentOS 7系列64位为例,当前版本号为7.14。则命令修改为: yum install https://archives.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-14.noarch.rpm 执行以下命令,设置Cloud-Init为开机自启动服务。 systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service Fedora操作系统 安装Cloud-Init前,请确认操作系统已经配置好对应的网络安装源地址,请查看“/etc/yum.repo.d/fedora.repo”文件中是否已配置相关软件包安装源地址,如果没有配置相关地址源,请参考相关Fedora官网信息配置软件包安装源。 执行以下命令,安装Cloud-Init。 yum install cloud-init 执行以下命令,设置Cloud-Init为开机自启动服务。 systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service Debian和Ubuntu操作系统 安装Cloud-Init前,请确认操作系统已经配置好对应的网络安装源地址,请查看“/etc/apt/sources.list”文件中是否已配置相关软件包安装源地址,如果没有配置相关地址源,请参考Debian或者Ubuntu官网信息配置软件包安装源。 执行以下命令,安装Cloud-Init。 apt-get update apt-get install cloud-init 执行以下命令,设置Cloud-Init为开机自启动服务。 systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 以cloud-init-23.2.2版本为例,介绍Centos、Fedora、Ubuntu、Debian和SUSE操作系统安装Cloud-Init工具的具体方法,安装步骤如下。 cloud-init-23.2.2.tar.gz源码包下载地址:https://launchpad.net/cloud-init/trunk/23.2.2/+download/cloud-init-23.2.2.tar.gz Centos 7/Fedora (Fedora-Server-36)操作系统 依赖python3 环境,确认已经安装python3。 查询当前系统环境是否已安装cloud-init, 执行有结果表示已经安装。 cloud-init -v 删除cloud-init缓存目录。 rm -rf /var/lib/cloud/* 安装cloud-init依赖包 yum install python3-pip -y yum install python3-devel 执行如下命令,下载cloud-init压缩包。 wget https://launchpad.net/cloud-init/trunk/23.2.2/+download/cloud-init-23.2.2.tar.gz 执行如下命令,解压cloud-init压缩包。 tar -zxvf cloud-init 23.2.2.tar.gz 执行如下命令进入cloud-init-23.2.2目录文件夹,并安装所有依赖库。 cd cloud-init23.2.2 pip3 install -r requirements.txt 执行如下命令安装cloud-init。 python3 setup.py build python3 setup.py install --init-system system 在配置文件/etc/cloud/cloud.cfg禁用cloud-init接管网络(可选)。 vi /etc/cloud/cloud.cfg 添加如下内容: network: config: disabled 重启cloud-init, 查看cloud-init 状态。 systemctl restart cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 设置cloud-init相关服务为开机自启动。 systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 执行如下命令检查cloud-init版本以及是否正常运行。 cloud-init -v cloud-init init --local Ubuntu22.0.4/debian11操作系统 依赖python3 环境,确认已经安装python3。 检查并清理系统自带的cloud-init可能存在冗余的配置文件。 rm -rf /var/lib/cloud/* rm -f /var/log/cloud-init* 删除/etc/cloud/cloud.cfg.d/目录下除了log相关的配置文件外的所有文件。 执行如下命令更新apt,检查是否有wget,没有则安装。 sudo apt update sudo apt install wget 执行如下命令,安装依赖包。 apt-get install cloud-guest-utils -y apt-get install python3-pip -y apt-get install python3-devel 执行以下命令,下载cloud-init压缩包。 wget https://launchpad.net/cloud-init/trunk/23.2.2/+download/cloud-init-23.2.2.tar.gz 执行如下命令,解压cloud-init压缩包。 tar -zxvf cloud-init 23.2.2.tar.gz 进入cloud-init目录。 cd cloud-init 执行如下命令安装所有依赖库。 pip3 install -r requirements.txt 执行如下命令安装cloud-init。 python3 setup.py install 在vi /etc/cloud/cloud.cfg配置禁止cloud-init接管网络(可选)。 1.当cloud-init版本等于高于0.7.9版本,且用户需要自定义网络时,在cloud-init安装完成后,请执行如下命令,在编辑器中打开/etc/cloud/cloud.cfg。 vi /etc/cloud/cloud.cfg 2.输入i, 在/etc/cloud/cloud.cfg中将network修改为disabled, 禁用Cloud-Init接管网络配置(若没有该配置项请增加): network: config: disabled 重启cloud-init, 查看cloud-init 状态 systemctl restart cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 设置cloud-init相关服务为开机自启动。 systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 执行如下命令检查cloud-init版本以及是否正常运行。 cloud-init -v cloud-init init --local SUSE Enterprise Linux Server 15操作系统 依赖python3 环境,确认已经安装python3。 执行如下命令查看历史已配置好的安装源。 zypper lr 执行如下命令删除历史配置的suse的cloud-init的源。 zypper rr 步骤1中执行结果显示的序号 执行如下命令配置suse源。 zypper ar https://ftp5.gwdg.de/pub/opensuse/repositories/Cloud:/Tools/SLE_15_SP4/Cloud:Tools.repo 执行如下命令刷新suse源。 zypper refresh 执行如下命令安装cloud-init。 zypper install cloud-init 安装cloud-init成功后,执行cloud-init -v,若出现类似下图报错提示,需执行如下命令安装依赖包。 pip install requests pyyaml oauthlib jsonschema jsonpatch jinja2 configobj 检查cloud-init是否安装成功,若出现下图报错提示,则需要在/etc/cloud/cloud.cfg配置datasource_list。 datasource_list: [ OpenStack ] datasource: OpenStack: metadata_urls: ['http://169.254.169.254'] max_wait: 120 timeout: 5 apply_network_config: false 修改配置文件后,重启cloud-init, 并查看cloud-init 的状态 systemctl restart cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service systemctl status cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 设置cloud-init相关服务为开机自启动。 systemctl enable cloud-init-local.service cloud-init.service cloud-config.service cloud-final.service 执行如下命令检查cloud-init版本以及是否正常运行。 cloud-init -v cloud-init init --local
  • 操作场景 为了保证使用私有镜像创建的新云服务器可以通过“用户数据注入”功能注入初始化自定义信息(例如为云服务器设置登录密码),请在创建私有镜像前安装Cloud-Init工具。 安装Cloud-Init工具时需要从官网下载并安装,因此,需要提前为云服务器绑定弹性公网IP。 不安装Cloud-Init工具,将无法对云服务器进行自定义配置,只能使用镜像原有密码登录云服务器。 使用公共镜像创建的云服务器,默认已经安装Cloud-Init,不需要执行安装及配置操作。 用户导入镜像创建的云服务器,请按照指导安装及配置Cloud-Init。配置Cloud-Init操作请参考配置Cloud-Init工具章节。
  • 灰度起负载插件 插件配置 选择升级服务所在的命名空间,选择升级的服务,填写升级的工作负载YAML路径。 YAML文件的代码仓和分支来源于用户在微服务中配置的代码仓和分支。 YAML路径为相对路径,当前目录为代码分支的根目录。 仅支持单个YAML文件。 YAML路径可以使用“${变量名}”引用环境变量,YAML文件中可以使用“{{变量名}}”引用环境变量。 发布单 展示升级的工作负载信息、工作负载对应的Pod信息以及关键事件信息,单击卡片可以切换新旧负载,查看对应负载信息。 工作负载信息 旧负载名称、新负载名称、负载类型及命名空间。 Pod信息 实例名称: Pod的名称。 状态 :Pod的运行状态。 Pod IP :Pod的IP。 Host IP :Pod所在节点的IP。 创建时间 :实例创建的时间。 关键事件 查看Pod的关键事件信息,可用于辅助Pod问题定位,包括K8s组件名、事件类型、K8s事件、首次发生时间、最近发生时间。
  • 灰度引流插件 插件配置 选择引流的YAML类型,支持VirtualService和DestinationRule,填写YAML路径。 YAML文件的代码仓和分支来源于用户在微服务中配置的代码仓和分支。 YAML路径为相对路径,当前目录为代码分支的根目录。 仅支持单个YAML文件。 YAML路径可以使用“${变量名}”引用环境变量,YAML文件中可以使用“{{变量名}}”引用环境变量。 发布单 发布单展示引流YAML文件的代码仓、分支、YAML文件类型和文件路径等信息。
  • 滚动升级插件 插件配置 填写升级的工作负载YAML路径。 YAML文件的代码仓和分支来源于用户在微服务中配置的代码仓和分支。 YAML路径为相对路径,当前目录为代码分支的根目录。 仅支持单个YAML文件。 YAML路径可以使用“${变量名}”引用环境变量,YAML文件中可以使用“{{变量名}}”引用环境变量。 发布单 展示升级的工作负载信息、工作负载对应的Pod信息以及关键事件信息。 工作负载信息 负载名称、类型、命名空间及创建时间。 Pod信息 实例名称: Pod的名称。 状态 :Pod的运行状态。 Pod IP :Pod的IP。 Host IP :Pod所在节点的IP。 创建时间 :实例创建的时间。 关键事件 查看Pod的关键事件信息,可用于辅助Pod问题定位,包括K8s组件名、事件类型、K8s事件、首次发生时间、最近发生时间。
  • 编排模板 在模板编排页面,可以编排需要部署的微服务和中间件的完整信息。 请根据环境的依赖关系,合理编排阶段,将不同的微服务编排到不同的阶段。 请保证集群具有拉取镜像的权限,否则服务会部署失败。 尽量避免修改系统提供的开源中间件的默认配置,否则中间件可能部署失败。 配置阶段 单击,可以为模板添加新的阶段,添加完阶段后,可根据实际需要移动、删除阶段,也可以在阶段下添加微服务和中间件。 操作项 说明 排序阶段 单击不松开,可以移动阶段调整阶段顺序。 说明: 不同阶段之间在部署时按照串行方式进行部署。 同一阶段内的微服务在部署时按照并行方式进行部署。 删除阶段 单击,根据删除提示确认是否删除阶段。 添加组件/系统中间件 阶段添加后,可以为阶段添加组件/系统中间件,并根据需要配置组件/系统中间件的各项属性。 操作项 说明 添加组件/系统中间件 单击,可选择添加组件/中间件。 排序组件/系统中间件 单击不松开,可移动调整组件/中间件的顺序。 删除组件/系统中间件 单击,可删除组件/中间件。 配置组件 单击组件名称,展开组件信息配置面板,可以为当前组件配置具体信息,相关参数如表1。 表1 配置说明 参数项 说明 组件 组件的名称。 选择配置 选择组件需要使用的配置,需提前在配置中心创建,包含配置文件、环境变量、启动脚本等。 产物 选择组件部署时使用的容器镜像。 服务端口 协议 请根据业务的协议类型选择。支持HTTPS、HTTP、TCP三种协议类型的选择。 容器端口 程序启动后监听的端口。 公网访问 打开公网访问开关后,组件可以通过集群配置的外部访问方式对外暴露服务。 URL匹配规则 开启公网访问后可配置。 前缀匹配:只需前缀相同即可匹配上,如:URL映射为/health时,/healtha、/healthz都可以成功匹配。 完全匹配:只有完全匹配上才能生效,如:URL映射为/health时,则必须是此URL才可以成功匹配。 高级配置 工作负载 deployment:无状态负载。 statefulset:有状态负载。 特权模式 开启后容器中将有与内核交互的权限,可能具有安全风险,请谨慎选择。 实例规格 配置微服务实例部署所需的CPU、内存及实例副本数。 健康检查 就绪性探针,用于判断容器内的程序是否健康,支持HTTPS、HTTP、BASH三种类型。 对于HTTPS和HTTP,返回码为200认为程序健康。 对于BASH检查,执行命令返回非0认为程序健康。 存活检查 存活性探针,用于判断容器是否健康,支持HTTPS、HTTP、BASH三种类型。 对于HTTPS和HTTP,返回码为200认为容器健康。 对于BASH检查,执行命令返回非0认为容器健康。 host挂载 用于将集群节点的某个文件挂载到容器内部。 配置中间件 单击中间件,展开中间件信息配置面板,可以为当前中间件配置具体信息,相关参数请参考微服务参数配置。 系统默认提供了开源的mysql、mongo、redis三种中间件,针对不同中间件,需在配置中心创建对应的配置即可使用。 不同系统开源中间件配置创建方法如下: mysql 在“配置中心”页面,单击“新建配置”,进入“配置信息”页面,填写以下环境变量: MYSQL_ROOT_PASSWORD:root用户密码。 mongodb 在“配置中心”页面,单击“新建配置”,进入“配置信息”页面,填写以下环境变量: MONGO_INITDB_ROOT_USERNAME:用户名。 MONGO_INITDB_ROOT_PASSWORD:用户密码。 redis 在“配置中心”页面,单击“新建配置”,进入“配置信息”页面,增加如下配置文件。 文件名称:/usr/local/bin/docker-entrypoint.sh,内容如下: #!/bin/sh set -e # first arg is `-f` or `--some-option` # or first arg is `something.conf` if [ "${1#-}" != "$1" ] || [ "${1%.conf}" != "$1" ]; then set -- redis-server "$@" fi # allow the container to be started with `--user` if [ "$1" = 'redis-server' -a "$(id -u)" = '0' ]; then find . \! -user redis -exec chown redis '{}' + exec gosu redis "$0" "$@" fi exec "$@" --requirepass ${REQUIREPASS} 增加如下环境变量。 INITIAL_PORT:redis端口号。 REQUIREPASS:redis密码。
  • LTS日志概述 云日志 服务(Log Tank Service,简称LTS),用于收集来自主机和云服务的日志数据,通过海量日志数据的分析与处理,可以将云服务和应用程序的可用性和性能最大化,为您提供实时、高效、安全的日志处理能力,帮助您快速高效地进行实时决策分析、设备运维管理、用户业务趋势分析等。 ServiceStage支持通过对接LTS,查看、搜索、导出组件运行LTS日志记录,同时也支持查看容器日志,用于排查和解决组件运行中出现的问题。 父主题: 管理组件运行LTS日志
  • 响应示例 { "id": "1cfdda6f-84cd-4ead-8e09-628fabf662e2", "name": "test-micro", "runtime": "Java8", "category": "MicroService", "sub_category": "Java Chassis", "description": "", "project_id": "e7d2e9c589e5445e808a8ff0d1235aca", "application_id": "4d92833a-fa05-4fc0-a761-e67620022310", "source": { "kind": "artifact", "spec": { "storage": "obs", "type": "package", "url": "obs://test-soft/fusionweather-1.0.0.jar", "auth": "iam", "webUrl": "", "properties": { "bucket": "test-soft", "endpoint": "https://obs.region_id.development.com:443", "key": "fusionweather-1.0.0.jar" } } }, "build": { "id": "zpdkj42b3rnko8bmyojzt1ng828ubychw13j8flv", "parameters": { "artifact_namespace": "ns", "use_public_cluster": false, "cluster_id": "523498f1-36c4-11eb-ae36-0255ac1000c2", "cluster_name": "cce-test", "cluster_type": "VirtualMachine" } }, "status": 0, "creator": "ss-test", "create_time": 1610331760105, "update_time": 1610519881943 }
  • URI GET /v2/{project_id}/cas/applications/{application_id}/components/{component_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 application_id 是 String 应用ID。获取方法,请参考获取所有应用。 component_id 是 String 组件ID。获取方法,请参考获取应用所有组件。
  • 响应示例 状态码: 200 用于获取用户Token的响应结构体。 { "token" : "****bGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50Ijoicm9vdCIsImV4cCI6MTY1MDU5MTcwMSwicm9sZXMiOlsiYWRtaW4iXX0.WKwNAjaYMM CS jNX0qCGCeyh13FJRzLousxoXlThdkMwkH- pXEmG51_SguH0LlHOZoIc8gNJq-ilQg4bxTo1s0pnQZIS3wma0qvE-MzaYnFguTuHM7rxD7eZdwnbUe3dhnw9xRqR1hcd-lTuBbLoL9fbED4U_63IoEDyBCJl9D_l0F86uGzpUysCvC-t6MrJHgi7miUaO7ZZQmSAUNhmbEoN8IIVp-QtP_cWNWtWaFO-eoQrmCT2FdlYiB9MCuELr9-5EGM_mFLPgs6E4fyIGiGHy7IwoGUKOCW5w6Jb0l-2JxeUe3eOl5Md5kzOIAE_EYUATxCbJ5GmgpSSJf*****" }
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 token String 获取的用户Token,有效期为12小时。 状态码: 401 表3 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。 状态码: 500 表4 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。
  • 请求示例 修改应用对应环境id为0fa75dfe-0d32-4bc1-848b-8008cf3f2567的环境变量配置:名为app-env、值为env的环境变量。 { "environment_id": "0fa75dfe-0d32-4bc1-848b-8008cf3f2567", "configuration": { "env": [ { "name": "app-env", "value": "env" } ] } }
  • 响应示例 { "application_id": "06cf2fda-af45-44b4-9e22-6294c4804515", "environment_id": "0fa75dfe-0d32-4bc1-848b-8008cf3f2567", "configuration": { "env": [ { "name": "app-env", "value": "env" } ] } }
  • 响应消息 表6 响应参数 参数 参数类型 描述 application_id String 应用ID。 environment_id String 环境ID。 configuration Object 应用配置信息,请参考表7。 表7 configuration参数 参数 参数类型 描述 env Array of objects 应用环境变量,请参考表8。 表8 env参数 参数 参数类型 描述 name String 环境变量名称 value String 环境变量取值
  • 请求消息 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式)。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 environment_id 是 String 环境ID,可以通过调用获取所有环境找到对应的环境获取。 configuration 是 Object 应用配置信息,如公共环境变量,请参考表4。 表4 configuration参数 参数 是否必选 参数类型 描述 env 是 Array of objects 应用环境变量,请参考表5。 如果多个环境变量的名称重复,则只有最后一个会生效。 表5 env参数 参数 是否必选 参数类型 描述 name 是 String 环境变量名称。 由字母、数字、下划线、中划线或者点号组成,不能以数字开头,且长度为1-64个字符。 value 是 String 环境变量取值。 此接口的请求参数configuration中env变量会全量覆盖应用本身已有的环境变量配置,使用时请根据是新增还是替换环境变量的场景设置此参数。
  • 响应消息 表5 响应参数说明 参数 参数类型 描述 id String 环境ID。 name String 环境名称。 description String 环境描述。 project_id String 项目ID。 enterprise_project_id String 企业项目ID。 deploy_mode String 环境类型。 vpc_id String 虚拟私有云ID。 creator String 创建人。 create_time Integer 创建时间。 update_time Integer 修改时间。 labels Array of objects 标签,可使用标签管理服务通过标签过滤查询资源信息,请参考表6。 表6 labels参数 参数 参数类型 描述 key String 标签名称 value String 标签值
  • 响应示例 { "id": "c93a5313-d141-4b9f-97ce-b4ce2b3988bd", "name": "test", "description": "", "project_id": "13ae26238d724e54947af3e0fcbef9c3", "enterprise_project_id": "0", "vpc_id": "0c72428b-cd6c-4283-a560-210d3edb49f7", "creator": "ss-test", "create_time": 1681384236023, "update_time": 1681384236023, "deploy_mode": "virtualmachine", "labels": [] }
  • 请求消息 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 消息体的类型(格式)。 X-Auth-Token 是 String 调用接口的认证方式分为Token和AK/SK两种,如果您使用的Token方式,此参数为必填,请填写Token的值。Token获取方式,请参考获取用户Token。 表3 请求Body参数说明 参数 是否必选 参数类型 描述 name 是 String 环境名称。 由英文字母、数字、中划线(-)、下划线(_)组成,并以英文字母开头,英文字母或者数字结尾,英文字母不区分大小写,长度为2~64个字符。 deploy_mode 否 String 指定环境类型。 virtualmachine:虚拟机。 container:Kubernetes。 mixed :虚拟机和Kubernetes。 description 否 String 环境描述。 最大长度为128个字符。 enterprise_project_id 否 String 企业项目ID。 vpc_id 是 String 虚拟私有云ID。 labels 否 Array of objects 标签,可使用标签管理服务通过标签过滤资源,请参考表4。 表4 labels参数 参数 是否必选 参数类型 描述 key 是 String 标签名称 value 是 String 标签值
  • 请求示例 创建名称为env-test的“虚拟机”类型环境,环境所在VPC的id为0c72428b-cd6c-4283-a560-210d3edb49f7。 { "name": "env-test", "description": "", "enterprise_project_id": "0", "vpc_id": "0c72428b-cd6c-4283-a560-210d3edb49f7", "labels": [ { "key": "aaaaa", "value": "a5" } ], "deploy_mode": "virtualmachine" }
  • 功能介绍 环境是用于应用部署和运行的计算、存储、网络等基础资源的集合。ServiceStage把相同企业项目、VPC下的计算资源(如云服务引擎CCE、弹性 云服务器ECS 等)、网络资源(如弹性负载均衡ELB、弹性公网EIP等)和中间件(如分布式缓存DCS、云数据库RDS、 微服务引擎CSE 等)组合为一个环境,如:开发环境,测试环境,预生产环境,生产环境。环境内网络互通,可以按环境维度来管理资源、部署服务,减少具体基础资源运维管理的复杂性。 此API用来创建环境。
  • URI GET /v3/{project_id}/cas/applications/{application_id}/components/{component_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 application_id 是 String 应用ID。获取方法,请参考获取所有应用。 component_id 是 String 组件ID。获取方法,请参考获取应用所有组件。
  • 响应示例 { "name": "test-component", "description": "", "labels": [], "runtime_stack": { "type": "Java", "name": "OpenJDK8", "deploy_mode": "virtualmachine", "version": "1.1.1" }, "id": "b8702b0f-94d3-4822-98a1-56815632a0a0", "source": { "kind": "package", "url": "obs://bucket0001/weather-1.0.0.jar", "storage": "obs" }, "environment_id": "4d084044-0b80-4641-963c-b9c9f4092a4f", "application_id": "fc092465-a5fb-4a52-bc65-b735f18366d8", "replica": 1, "version": "2023.0323.15181", "envs": [], "tomcat_opts": { "server_xml": "", "http_port": 0, "context_path": null }, "refer_resources": [ { "id": "Default", "type": "ecs", "parameters": { "hosts": [ "67835bb3-1235-4cc9-be71-becbb2b4ca0d" ] } } ], "status": { "component_status": "RUNNING", "available_replica": 1, "replica": 1, "fail_detail": null, "last_job_id": "JOB1c8e20ec-1b30-4ee4-9a36-35a18b5e8b7e", "creator": null, "create_time": 1679556221933, "update_time": 1679579448500, }, "workload_kind": "deployment" }
  • URI GET /v2/{project_id}/enginemgr/engines 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户子项目的唯一标识,字符长度为1~64位,获取方法请参考获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 偏移量 limit 否 Integer 每页数据大小 type 否 String 查询的引擎类型:CSE、CSE_SHARE。
  • 响应示例 { "total": 1, "data": [{ "id": "891bf21a-4024-4f47-b38c-bd259ca8f10a", "name": "test", "enterpriseProjectId": "0", "enterpriseProjectName": "default", "type": "CSE_SHARE", "description": "", "flavor": "cse.s1.medium2", "payment": "0", "authType": "RBAC", "status": "Available", "externalAddress": "192.168.0.169", "serviceEndpoint": { "kie": { "masterEntrypoint": "https://192.168.0.169:30110", "masterEntrypointIpv6": "https://[2407:c080:11f0:11:b11d:675c:97ab:65f6]:30110", "slaveEntrypoint": null, "slaveEntrypointIpv6": null, "type": "REGISTRY" }, "serviceCenter": { "masterEntrypoint": "https://192.168.0.169:30100", "masterEntrypointIpv6": "https://[2407:c080:11f0:11:b11d:675c:97ab:65f6]:30100", "slaveEntrypoint": null, "slaveEntrypointIpv6": null, "type": "REGISTRY" } }, "publicAddress": "", "publicServiceEndpoint": { "kie": { "masterEntrypoint": "", "masterEntrypointIpv6": "", "slaveEntrypoint": "", "slaveEntrypointIpv6": "", "type": "REGISTRY" }, "serviceCenter": { "masterEntrypoint": "", "masterEntrypointIpv6": "", "slaveEntrypoint": "", "slaveEntrypointIpv6": "", "type": "REGISTRY" } }, "totalInstance": 200, "usedInstance": 0, "availableInstance": 200, "version": "2.3.1", "latestVersion": "2.3.3", "createTime": 1635576800332, "dueTo": 4102415999000, "latestJobId": 12339, "engineAdditionalActions": ["Retry"], "specType": "CSE2", "reference": { "vpc": "vpc-test", "vpcId": "09902850-9454-4715-9764-018f0c3701hy", "azList": ["test"], "networkId": "88550801-e892-4f8e-b21b-f7147f604f69", "subnetCidr": "192.168.0.0/24", "subnetCidrV6": "2407:c080:11f0:11::/64", "subnetGateway": "192.168.0.2", "publicIpId": null, "serviceLimit": 200, "instanceLimit": 200, "inputs": { "is_arm_cluster": "false", "nodeFlavor": "s6.large.2" } } }] }
  • 响应参数 状态码: 400 表4 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。 状态码: 500 表5 响应Body参数 参数 参数类型 描述 errorCode String 错误代码。 errorMessage String 错误信息。 detail String 详细定位信息。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Authorization 否 String 若微服务引擎专享版开启了安全认证,此参数必填。否则,无此参数。 开启了安全认证的微服务引擎专享版Token,格式为: Authorization:Bearer {Token} Token获取方法,请参考获取微服务引擎专享版用户Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 properties 否 Object 微服务扩展属性,可以自定义KEY和相应的Value。长度最小1字节。
  • URI PUT /v4/{project_id}/registry/microservices/{service_id}/properties 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 微服务引擎专业版,请填租户项目id,长度为1~64, 获取方法请参考获取项目ID。也可以填固定值default。 微服务引擎专享版,请填固定值:default。 service_id 是 String 微服务唯一标识。字符长度为1~64,正则表达式为^.*$,获取方法请参考查询所有微服务信息。
  • URI PUT /v3/{project_id}/cas/applications/{application_id}/components/{component_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户项目ID。获取方法,请参考获取项目ID。 application_id 是 String 应用ID。获取方法,请参考获取所有应用。 component_id 是 String 组件ID。获取方法,请参考获取应用所有组件。
  • 请求示例 修改名为mycomponet的组件,组件来源使用OBS上bucket0001桶里面的weather-1.0.0.jar包。 { "name": "mycomponet", "description": "", "labels": [ { "key": "com-key", "value": "com-value" } ], "version": "2023.0323.15181", "runtime_stack": { "name": "OpenJDK8", "version": "1.1.1", "type": "Java", "deploy_mode": "virtualmachine" }, "source": { "kind": "package", "url": "obs://bucket0001/weather-1.0.0.jar", "version": "", "storage": "obs" }, "tomcat_opts": { "server_xml": "" }, "refer_resources": [ { "id": "67835bb3-1235-4cc9-be71-becbb2b4ca0d", "type": "ecs" } ], "replica": 1, "external_accesses": [] }
共100000条