本文主要介绍了如何通过 OpenAPI 门户,来调试对接云平台各类容器接口。
操作步骤
通过 OpenAPI 门户成功发起 API 请求后,会对账号下云资源产生真实变更,与云控制台操作完全对等,请谨慎操作 。
1. 登录 OpenAPI 门户
登录OpenAPI门户。点击右上角登录按钮,输入云平台账号和密码。
2. 查询集群
查询集群,获取当前登录账号下所有集群信息,记录下需要操作的集群名称
。之后对所有资源的增删改查,都需要指定集群。
No | 说明 |
---|---|
1 | API分组切换到容器管理 |
2 | 选择菜单 > 集群 > 查询集群 |
3 | 选择调试标签 |
4 | 点击发送 |
5 | 选择并记录下需要操作的集群名称 ,后续请求需要指定集群 |
3. 命名空间
所有资源全部放于命名空间之中,不同命名空间下的资源相互独立。
3.1 创建命名空间
创建自己的命名空间,或使用已有的命名空间。之后对所有资源的增删改查,都需要指定命名空间。
3.1.1 查看文档
对于接口的每个字段的说明,都可以在文档标签查看
No | 说明 |
---|---|
1 | 选择菜单 > 命名空间 > 创建命名空间 |
2 | 切换至文档标签 |
3 | 入参,可直接复制使用 |
4 | 字段详细描述 |
3.1.2 发送请求
No | 说明 |
---|---|
1 | 切换至调试标签 |
2 | 输入 2 查到的集群名称 |
3 | 输入命名空间名称 |
4 | 输入Base64加密后的登录密码 |
5 | 点击发送 |
6 | 创建返回码201表示创建成功(响应码表) |
3.2 查询命名空间详情
No | 说明 |
---|---|
1 | 选择菜单 > 命名空间 > 查看命名空间详情 |
2 | 切换至调试标签 |
3 | 输入 2 查到的集群名称 |
4 | 输入 3 创建的命名空间名称 |
5 | 点击发送 |
6 | 返回 JSON 格式的命名空间 Kubernetes 资源描述 |
7 | 字段描述显示开关 |
8 | 字段描述 |
9 | 返回码200 |
3.3 删除命名空间
No | 说明 |
---|---|
1 | 选择菜单 > 命名空间 > 删除命名空间 |
2 | 切换至调试标签 |
3 | 输入2查到的集群名称 |
4 | 输入3创建的命名空间名称 |
5 | 点击发送 |
6 | 删除返回204表示删除成功(响应码表) |
4. 无状态工作负载
普通的应用需要在无状态工作负载上提供服务
4.1 创建无状态工作负载
本示例,创建一个nginx的无状态工作负载,可以替换Json内容,换成自己的应用。
No | 说明 |
---|---|
1 | 选择菜单 > 无状态工作负载 > 创建Deployment |
2 | 切换至调试标签 |
3 | 输入 2 查到的集群名称 |
4 | 输入 3 创建的命名空间名称或已经存在的命名空间 |
4.1 | 两处命名空间必须保持一致, |
4.2 | 其余参数默认值可用,也可以切换到文档标签进行字段详情的查询 |
5 | 点击发送 |
6 | 返回 JSON 格式的无状态工作负载 Kubernetes 资源描述 |
7 | 创建返回码201表示创建成功(响应码表) |
4.2 查询无状态工作负载详情
同 3.2 查询命名空间详情,查询详情接口可以获取查询资源的 Kubernetes 资源描述,
{
"apiVersion": "apps/v1",
"kind": "Deployment",
"metadata": {
"annotations": {
"deployment.kubernetes.io/revision": "21",
"desc": "帮助中心"
},
"creationTimestamp": "2023-06-28T05:24:05Z",
"generation": 27,
"name": "cloud-help-center",
"namespace": "manager",
"resourceVersion": "478729087",
"uid": "826f4590-c762-4bfc-80ec-27d53d6f1f10",
"managedFields": []
},
"spec": {
"minReadySeconds": 10,
"progressDeadlineSeconds": 600,
"replicas": 1,
"revisionHistoryLimit": 10,
"selector": {
"matchLabels": {
"app": "cloud-help-center"
}
},
"strategy": {
"rollingUpdate": {
"maxSurge": "10%",
"maxUnavailable": "0%"
},
"type": "RollingUpdate"
},
"template": {
"metadata": {
"labels": {
"app": "cloud-help-center"
}
},
"spec": {
"affinity": {
"nodeAffinity": {
"preferredDuringSchedulingIgnoredDuringExecution": [
{
"preference": {
"matchExpressions": [
{
"key": "area",
"operator": "In",
"values": [
"mandaoyun"
]
}
]
},
"weight": 100
}
]
}
},
"containers": [
{
"env": [
{
"name": "PROJECT_NAME",
"value": "cloud-help-center"
},
{
"name": "DEPLOYMENT_DEMO_VER",
"value": "v0.1"
},
{
"name": "PROJECT_JAR",
"value": "peojectjar.war"
},
{
"name": "ENVIRONMENT",
"value": "manager"
}
],
"image": "dockerhub.baofu.com/app/2019111400000016/mandaoyun-help:dev-1.0.8",
"imagePullPolicy": "IfNotPresent",
"name": "cloud-help-center0",
"resources": {
"limits": {
"cpu": "1",
"memory": "1Gi"
},
"requests": {
"cpu": "100m",
"memory": "100Mi"
}
},
"terminationMessagePath": "/dev/termination-log",
"terminationMessagePolicy": "File",
"volumeMounts": [
{
"mountPath": "/opt",
"name": "logs"
},
{
"mountPath": "/usr/local/run-jar.sh",
"name": "run",
"subPath": "run-jar.sh"
},
{
"mountPath": "/mandao-config",
"name": "run-config"
},
{
"mountPath": "/mindoc/uploads",
"name": "uploads"
}
]
}
],
"dnsPolicy": "ClusterFirst",
"imagePullSecrets": [
{
"name": "myregistrykey"
}
],
"restartPolicy": "Always",
"schedulerName": "default-scheduler",
"securityContext": {},
"terminationGracePeriodSeconds": 30,
"volumes": [
{
"hostPath": {
"path": "/data/log/manager",
"type": ""
},
"name": "logs"
},
{
"configMap": {
"defaultMode": 493,
"name": "config-java-run"
},
"name": "run"
},
{
"configMap": {
"defaultMode": 420,
"name": "mdy-help-center"
},
"name": "run-config"
},
{
"name": "uploads",
"persistentVolumeClaim": {
"claimName": "pvc-cloud-help-center-uploads"
}
}
]
}
}
},
"status": {
"availableReplicas": 1,
"conditions": [
{
"lastTransitionTime": "2023-06-28T05:52:29Z",
"lastUpdateTime": "2024-02-19T07:40:46Z",
"message": "ReplicaSet \"cloud-help-center-758658df7\" has successfully progressed.",
"reason": "NewReplicaSetAvailable",
"status": "True",
"type": "Progressing"
},
{
"lastTransitionTime": "2024-06-14T10:30:12Z",
"lastUpdateTime": "2024-06-14T10:30:12Z",
"message": "Deployment has minimum availability.",
"reason": "MinimumReplicasAvailable",
"status": "True",
"type": "Available"
}
],
"observedGeneration": 27,
"readyReplicas": 1,
"replicas": 1,
"updatedReplicas": 1
}
}
4.3 修改无状态工作负载
修改资源需要获取到该资源的 Kubernetes 资源描述,原生的描述格式为 YAML,本平台需要转换成 JSON 格式作为修改接口的请求参数。
4.3.1 通过查询接口获取 Kubernetes 资源描述
4.2查询接口返回的 JSON 格式的 Kubernetes 资源描述,可用于修改接口的请求参数
4.3.2 通过云平台项目详情获取 Kubernetes 资源描述
本视频会引导您将云平台已有应用,通过 OpenAPI 接口调整应用中的参数。
作者:叶奕珺 创建时间:2024-07-17 16:16
最后编辑:叶奕珺 更新时间:2025-04-29 18:46
最后编辑:叶奕珺 更新时间:2025-04-29 18:46