算力中心API异步化2

This commit is contained in:
ysh 2025-07-17 14:15:18 +08:00
parent a245a580a6
commit 7d32077aa4
2 changed files with 26 additions and 26 deletions

View File

@ -13,7 +13,7 @@ from . import ssh_utils,k8s_utils_public
from appPublic.log import debug from appPublic.log import debug
import traceback import traceback
async def delete_cluster_node(params): def delete_cluster_node(params):
""" """
删除集群节点 删除集群节点
--namespace -n:指定节点所在的命名空间不过,节点是集群级别的资源,不隶属于特定的命名空间,所以此参数一般不用于删除节点 --namespace -n:指定节点所在的命名空间不过,节点是集群级别的资源,不隶属于特定的命名空间,所以此参数一般不用于删除节点
@ -32,7 +32,7 @@ async def delete_cluster_node(params):
""" """
return "delete_cluster_node ok" return "delete_cluster_node ok"
async def node_state_switch(params): def node_state_switch(params):
""" """
恢复节点 恢复节点
kubectl uncordon 命令将节点标记为可调度状态,这样调度器就会重新考虑将新的 Pod 分配到该节点上 kubectl uncordon 命令将节点标记为可调度状态,这样调度器就会重新考虑将新的 Pod 分配到该节点上
@ -45,7 +45,7 @@ async def node_state_switch(params):
""" """
return "node_state_switch ok" return "node_state_switch ok"
async def yaml_apply_delete(params): def yaml_apply_delete(params):
""" """
1. 通过cpcc传递过来的参数进行级联初始化资源实例; 1. 通过cpcc传递过来的参数进行级联初始化资源实例;
2. 通过cpcc传递过来的参数进行级联更新资源实例; 2. 通过cpcc传递过来的参数进行级联更新资源实例;
@ -60,7 +60,7 @@ async def yaml_apply_delete(params):
elif instance_type == "LinuxOS": elif instance_type == "LinuxOS":
k8s_utils_linuxos_ubuntu.handle_k8s_operations(params) k8s_utils_linuxos_ubuntu.handle_k8s_operations(params)
async def node_label_opt(params): def node_label_opt(params):
""" """
要设置节点 worker-node-1 上的标签 app,可以使用以下命令 要设置节点 worker-node-1 上的标签 app,可以使用以下命令
kubectl label nodes worker-node-1 app=app,注意标签键和值之间有一个等号 (=),表示设置该标签 kubectl label nodes worker-node-1 app=app,注意标签键和值之间有一个等号 (=),表示设置该标签
@ -106,7 +106,7 @@ async def node_label_opt(params):
else: else:
raise f"{worker_node} 解绑标签 {label} 失败,请检查集群节点状态或标签是否已绑定?" raise f"{worker_node} 解绑标签 {label} 失败,请检查集群节点状态或标签是否已绑定?"
async def unset_node_label(params): def unset_node_label(params):
""" """
要取消节点 worker-node-1 上的标签 app,可以使用以下命令 要取消节点 worker-node-1 上的标签 app,可以使用以下命令
kubectl label nodes worker-node-1 app-注意标签键后面有一个短横线 (-),表示取消该标签 kubectl label nodes worker-node-1 app-注意标签键后面有一个短横线 (-),表示取消该标签
@ -121,7 +121,7 @@ async def unset_node_label(params):
label = params.get("label") label = params.get("label")
async def get_cluster_nodes_by_server(params): def get_cluster_nodes_by_server(params):
host = params.get("host") host = params.get("host")
port = int(params.get("port")) port = int(params.get("port"))
username = params.get("user") username = params.get("user")
@ -137,7 +137,7 @@ async def get_cluster_nodes_by_server(params):
# debug(f'集群 {host=} 所有节点信息如下{results=} => 转换后:\n{parse_k8s_nodes_result=}') # debug(f'集群 {host=} 所有节点信息如下{results=} => 转换后:\n{parse_k8s_nodes_result=}')
return parse_k8s_nodes_result return parse_k8s_nodes_result
async def get_cluster_pods_by_kubeconfig(params): def get_cluster_pods_by_kubeconfig(params):
""" """
通过调用方传递来的kubeconfig信息 通过调用方传递来的kubeconfig信息
获取集群中所有资源实例(Pod)信息详情 获取集群中所有资源实例(Pod)信息详情
@ -145,7 +145,7 @@ async def get_cluster_pods_by_kubeconfig(params):
kubeconfig = params.get("kubeconfig") kubeconfig = params.get("kubeconfig")
return k8s_utils_public.get_pod_info(kubeconfig) return k8s_utils_public.get_pod_info(kubeconfig)
async def determine_accommodat_by_kubeconfig(params): def determine_accommodat_by_kubeconfig(params):
""" """
通过调用方传递来的kubeconfig信息 通过调用方传递来的kubeconfig信息
判断集群中可部署哪些部件组合n 判断集群中可部署哪些部件组合n
@ -157,7 +157,7 @@ async def determine_accommodat_by_kubeconfig(params):
# debug(f'=====kubeconfig: {kubeconfig}, resources: {resources}') # debug(f'=====kubeconfig: {kubeconfig}, resources: {resources}')
return k8s_utils_public.determine_accommodat(kubeconfig, resources) return k8s_utils_public.determine_accommodat(kubeconfig, resources)
async def get_cluster_nodes_by_kubeconfig(params): def get_cluster_nodes_by_kubeconfig(params):
""" """
通过调用方传递来的kubeconfig信息 通过调用方传递来的kubeconfig信息
获取集群中所有节点信息详情 获取集群中所有节点信息详情
@ -165,7 +165,7 @@ async def get_cluster_nodes_by_kubeconfig(params):
kubeconfig = params.get("kubeconfig") kubeconfig = params.get("kubeconfig")
return k8s_utils_public.get_node_info(kubeconfig) return k8s_utils_public.get_node_info(kubeconfig)
async def get_cluster_pods_by_server(params): def get_cluster_pods_by_server(params):
host = params.get("host") host = params.get("host")
port = int(params.get("port")) port = int(params.get("port"))
username = params.get("user") username = params.get("user")
@ -182,7 +182,7 @@ async def get_cluster_pods_by_server(params):
# debug(f'集群 {host=} 所有Pod信息如下{results=} => 转换后:\n{parse_k8s_pods_result=}') # debug(f'集群 {host=} 所有Pod信息如下{results=} => 转换后:\n{parse_k8s_pods_result=}')
return parse_k8s_pods_result return parse_k8s_pods_result
async def new_cluster_install(params): def new_cluster_install(params):
# 随后填充远程操控k8s主逻辑 # 随后填充远程操控k8s主逻辑
""" """
用于接收cpcc端传递过来的k8s安装指令参数, 进行远程sshx调用操作内网机器进行集群节点的安装 用于接收cpcc端传递过来的k8s安装指令参数, 进行远程sshx调用操作内网机器进行集群节点的安装
@ -275,7 +275,7 @@ async def new_cluster_install(params):
return results return results
async def get_multiple_cluster_pod(): def get_multiple_cluster_pod():
""" """
获取 kubeconfig 中所有集群的 Pod 信息JSON 格式 获取 kubeconfig 中所有集群的 Pod 信息JSON 格式
@ -326,7 +326,7 @@ async def get_multiple_cluster_pod():
return all_clusters_pods return all_clusters_pods
async def get_multiple_cluster(): def get_multiple_cluster():
""" """
获取所有集群的完整信息,包括用户证书RBAC状态服务账号颁发者等 获取所有集群的完整信息,包括用户证书RBAC状态服务账号颁发者等
@ -445,7 +445,7 @@ async def get_multiple_cluster():
}, indent=4) }, indent=4)
async def process_kubeconfigs(): def process_kubeconfigs():
""" """
检测当前目录下的 kubestage 文件夹中的 kubeconfig 格式文件, 检测当前目录下的 kubestage 文件夹中的 kubeconfig 格式文件,
计算每个文件的大写 MD5 ,将其改名成对应的 MD5 , 计算每个文件的大写 MD5 ,将其改名成对应的 MD5 ,

View File

@ -70,18 +70,18 @@ def init_func():
# g.delete_ldap_user=delete_ldap_user # g.delete_ldap_user=delete_ldap_user
### k8s多集群相关 ### k8s多集群相关
g.new_cluster_install = new_cluster_install g.new_cluster_install = awaitify(new_cluster_install)
g.get_multiple_cluster = get_multiple_cluster g.get_multiple_cluster = awaitify(get_multiple_cluster)
g.get_multiple_cluster_pod = get_multiple_cluster_pod g.get_multiple_cluster_pod = awaitify(get_multiple_cluster_pod)
g.get_cluster_nodes_by_server = get_cluster_nodes_by_server g.get_cluster_nodes_by_server = awaitify(get_cluster_nodes_by_server)
g.get_cluster_pods_by_server = get_cluster_pods_by_server g.get_cluster_pods_by_server = awaitify(get_cluster_pods_by_server)
g.delete_cluster_node = delete_cluster_node g.delete_cluster_node = awaitify(delete_cluster_node)
g.node_state_switch = node_state_switch g.node_state_switch = awaitify(node_state_switch)
g.yaml_apply_delete = yaml_apply_delete g.yaml_apply_delete = awaitify(yaml_apply_delete)
g.get_cluster_nodes_by_kubeconfig = get_cluster_nodes_by_kubeconfig g.get_cluster_nodes_by_kubeconfig = awaitify(get_cluster_nodes_by_kubeconfig)
g.determine_accommodat_by_kubeconfig = determine_accommodat_by_kubeconfig g.determine_accommodat_by_kubeconfig = awaitify(determine_accommodat_by_kubeconfig)
g.get_cluster_pods_by_kubeconfig = get_cluster_pods_by_kubeconfig g.get_cluster_pods_by_kubeconfig = awaitify(get_cluster_pods_by_kubeconfig)
g.node_label_opt = node_label_opt g.node_label_opt = awaitify(node_label_opt)
g.get_storage_json=get_storage_json g.get_storage_json=get_storage_json
g.result_dict={ g.result_dict={