Merge pull request '算力中心API异步化' (#5) from dev1 into main
Reviewed-on: #5
This commit is contained in:
commit
1c6c53ed4f
@ -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
|
||||||
|
|
||||||
def delete_cluster_node(params):
|
async def delete_cluster_node(params):
|
||||||
"""
|
"""
|
||||||
删除集群节点
|
删除集群节点
|
||||||
--namespace 或 -n:指定节点所在的命名空间。不过,节点是集群级别的资源,不隶属于特定的命名空间,所以此参数一般不用于删除节点。
|
--namespace 或 -n:指定节点所在的命名空间。不过,节点是集群级别的资源,不隶属于特定的命名空间,所以此参数一般不用于删除节点。
|
||||||
@ -32,7 +32,7 @@ def delete_cluster_node(params):
|
|||||||
"""
|
"""
|
||||||
return "delete_cluster_node ok"
|
return "delete_cluster_node ok"
|
||||||
|
|
||||||
def node_state_switch(params):
|
async def node_state_switch(params):
|
||||||
"""
|
"""
|
||||||
恢复节点:
|
恢复节点:
|
||||||
kubectl uncordon 命令将节点标记为可调度状态,这样调度器就会重新考虑将新的 Pod 分配到该节点上
|
kubectl uncordon 命令将节点标记为可调度状态,这样调度器就会重新考虑将新的 Pod 分配到该节点上
|
||||||
@ -45,7 +45,7 @@ def node_state_switch(params):
|
|||||||
"""
|
"""
|
||||||
return "node_state_switch ok"
|
return "node_state_switch ok"
|
||||||
|
|
||||||
def yaml_apply_delete(params):
|
async def yaml_apply_delete(params):
|
||||||
"""
|
"""
|
||||||
1. 通过cpcc传递过来的参数进行级联初始化资源实例;
|
1. 通过cpcc传递过来的参数进行级联初始化资源实例;
|
||||||
2. 通过cpcc传递过来的参数进行级联更新资源实例;
|
2. 通过cpcc传递过来的参数进行级联更新资源实例;
|
||||||
@ -60,7 +60,7 @@ 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)
|
||||||
|
|
||||||
def node_label_opt(params):
|
async 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 @@ def node_label_opt(params):
|
|||||||
else:
|
else:
|
||||||
raise f"{worker_node} 解绑标签 {label} 失败,请检查集群节点状态或标签是否已绑定?"
|
raise f"{worker_node} 解绑标签 {label} 失败,请检查集群节点状态或标签是否已绑定?"
|
||||||
|
|
||||||
def unset_node_label(params):
|
async 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 @@ def unset_node_label(params):
|
|||||||
label = params.get("label")
|
label = params.get("label")
|
||||||
|
|
||||||
|
|
||||||
def get_cluster_nodes_by_server(params):
|
async 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 @@ 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
|
||||||
|
|
||||||
def get_cluster_pods_by_kubeconfig(params):
|
async def get_cluster_pods_by_kubeconfig(params):
|
||||||
"""
|
"""
|
||||||
通过调用方传递来的kubeconfig信息
|
通过调用方传递来的kubeconfig信息
|
||||||
获取集群中所有资源实例(Pod)信息详情
|
获取集群中所有资源实例(Pod)信息详情
|
||||||
@ -145,7 +145,7 @@ 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)
|
||||||
|
|
||||||
def determine_accommodat_by_kubeconfig(params):
|
async def determine_accommodat_by_kubeconfig(params):
|
||||||
"""
|
"""
|
||||||
通过调用方传递来的kubeconfig信息
|
通过调用方传递来的kubeconfig信息
|
||||||
判断集群中可部署哪些部件组合n
|
判断集群中可部署哪些部件组合n
|
||||||
@ -157,7 +157,7 @@ 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)
|
||||||
|
|
||||||
def get_cluster_nodes_by_kubeconfig(params):
|
async def get_cluster_nodes_by_kubeconfig(params):
|
||||||
"""
|
"""
|
||||||
通过调用方传递来的kubeconfig信息
|
通过调用方传递来的kubeconfig信息
|
||||||
获取集群中所有节点信息详情
|
获取集群中所有节点信息详情
|
||||||
@ -165,7 +165,7 @@ 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)
|
||||||
|
|
||||||
def get_cluster_pods_by_server(params):
|
async 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 @@ 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
|
||||||
|
|
||||||
def new_cluster_install(params):
|
async def new_cluster_install(params):
|
||||||
# 随后填充远程操控k8s主逻辑
|
# 随后填充远程操控k8s主逻辑
|
||||||
"""
|
"""
|
||||||
用于接收cpcc端传递过来的k8s安装指令参数, 进行远程sshx调用操作内网机器进行集群节点的安装
|
用于接收cpcc端传递过来的k8s安装指令参数, 进行远程sshx调用操作内网机器进行集群节点的安装
|
||||||
@ -275,7 +275,7 @@ def new_cluster_install(params):
|
|||||||
|
|
||||||
return results
|
return results
|
||||||
|
|
||||||
def get_multiple_cluster_pod():
|
async def get_multiple_cluster_pod():
|
||||||
"""
|
"""
|
||||||
获取 kubeconfig 中所有集群的 Pod 信息(JSON 格式)
|
获取 kubeconfig 中所有集群的 Pod 信息(JSON 格式)
|
||||||
|
|
||||||
@ -326,7 +326,7 @@ def get_multiple_cluster_pod():
|
|||||||
return all_clusters_pods
|
return all_clusters_pods
|
||||||
|
|
||||||
|
|
||||||
def get_multiple_cluster():
|
async def get_multiple_cluster():
|
||||||
"""
|
"""
|
||||||
获取所有集群的完整信息,包括用户证书、RBAC状态、服务账号颁发者等。
|
获取所有集群的完整信息,包括用户证书、RBAC状态、服务账号颁发者等。
|
||||||
|
|
||||||
@ -445,7 +445,7 @@ def get_multiple_cluster():
|
|||||||
}, indent=4)
|
}, indent=4)
|
||||||
|
|
||||||
|
|
||||||
def process_kubeconfigs():
|
async def process_kubeconfigs():
|
||||||
"""
|
"""
|
||||||
检测当前目录下的 kubestage 文件夹中的 kubeconfig 格式文件,
|
检测当前目录下的 kubestage 文件夹中的 kubeconfig 格式文件,
|
||||||
计算每个文件的大写 MD5 值,将其改名成对应的 MD5 值,
|
计算每个文件的大写 MD5 值,将其改名成对应的 MD5 值,
|
||||||
|
|||||||
@ -2,7 +2,7 @@ info('test .....{params_kw=}')
|
|||||||
|
|
||||||
#debug(f"accept cpcc node: {params_kw=}")
|
#debug(f"accept cpcc node: {params_kw=}")
|
||||||
try:
|
try:
|
||||||
result_dict["data"] = delete_cluster_node(params_kw)
|
result_dict["data"] = await delete_cluster_node(params_kw)
|
||||||
result_dict["status"] = True
|
result_dict["status"] = True
|
||||||
result_dict["info"] = "operate success"
|
result_dict["info"] = "operate success"
|
||||||
except:
|
except:
|
||||||
|
|||||||
@ -2,7 +2,7 @@ info('test .....{params_kw=}')
|
|||||||
|
|
||||||
#debug(f"accept cpcc node: {params_kw=}")
|
#debug(f"accept cpcc node: {params_kw=}")
|
||||||
try:
|
try:
|
||||||
result_dict["data"] = delete_cluster_pod(params_kw)
|
result_dict["data"] = await delete_cluster_pod(params_kw)
|
||||||
result_dict["status"] = True
|
result_dict["status"] = True
|
||||||
result_dict["info"] = "operate success"
|
result_dict["info"] = "operate success"
|
||||||
except:
|
except:
|
||||||
|
|||||||
@ -3,7 +3,7 @@ info('test .....{params_kw=}')
|
|||||||
#debug(f"delete_cpcpod接收cpcc参数:{params_kw=}")
|
#debug(f"delete_cpcpod接收cpcc参数:{params_kw=}")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
result_dict["data"] = yaml_apply_delete(params_kw)
|
result_dict["data"] = await yaml_apply_delete(params_kw)
|
||||||
result_dict["status"] = True
|
result_dict["status"] = True
|
||||||
result_dict["info"] = "operate success"
|
result_dict["info"] = "operate success"
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@ -7,7 +7,7 @@ info('test .....{params_kw=}')
|
|||||||
# return result_dict
|
# return result_dict
|
||||||
#debug(f"accept cpcc node: {params_kw=}")
|
#debug(f"accept cpcc node: {params_kw=}")
|
||||||
try:
|
try:
|
||||||
result_dict["data"] = determine_accommodat_by_kubeconfig(params_kw)
|
result_dict["data"] = await determine_accommodat_by_kubeconfig(params_kw)
|
||||||
result_dict["status"] = True
|
result_dict["status"] = True
|
||||||
result_dict["info"] = "operate success"
|
result_dict["info"] = "operate success"
|
||||||
except:
|
except:
|
||||||
|
|||||||
@ -7,7 +7,7 @@ info('test .....{params_kw=}')
|
|||||||
# return result_dict
|
# return result_dict
|
||||||
#debug(f"accept cpcc node: {params_kw=}")
|
#debug(f"accept cpcc node: {params_kw=}")
|
||||||
try:
|
try:
|
||||||
result_dict["data"] = get_cluster_nodes_by_kubeconfig(params_kw)
|
result_dict["data"] = await get_cluster_nodes_by_kubeconfig(params_kw)
|
||||||
result_dict["status"] = True
|
result_dict["status"] = True
|
||||||
result_dict["info"] = "operate success"
|
result_dict["info"] = "operate success"
|
||||||
except:
|
except:
|
||||||
|
|||||||
@ -7,7 +7,7 @@ info('test .....{params_kw=}')
|
|||||||
# return result_dict
|
# return result_dict
|
||||||
#debug(f"accept cpcc node: {params_kw=}")
|
#debug(f"accept cpcc node: {params_kw=}")
|
||||||
try:
|
try:
|
||||||
result_dict["data"] = get_cluster_pods_by_kubeconfig(params_kw)
|
result_dict["data"] = await get_cluster_pods_by_kubeconfig(params_kw)
|
||||||
result_dict["status"] = True
|
result_dict["status"] = True
|
||||||
result_dict["info"] = "operate success"
|
result_dict["info"] = "operate success"
|
||||||
except:
|
except:
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
info('test .....{params_kw=}')
|
info('test .....{params_kw=}')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
result_dict["data"] = get_multiple_cluster()
|
result_dict["data"] = await get_multiple_cluster()
|
||||||
result_dict["status"] = True
|
result_dict["status"] = True
|
||||||
result_dict["info"] = "operate success"
|
result_dict["info"] = "operate success"
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
info('test .....{params_kw=}')
|
info('test .....{params_kw=}')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
result_dict["data"] = get_multiple_cluster_pod()
|
result_dict["data"] = await get_multiple_cluster_pod()
|
||||||
result_dict["status"] = True
|
result_dict["status"] = True
|
||||||
result_dict["info"] = "operate success"
|
result_dict["info"] = "operate success"
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@ -3,7 +3,7 @@ info('test .....{params_kw=}')
|
|||||||
debug(f"接收cpcc参数:{params_kw=}")
|
debug(f"接收cpcc参数:{params_kw=}")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
result_dict["data"] = new_cluster_install(params_kw)
|
result_dict["data"] = await new_cluster_install(params_kw)
|
||||||
result_dict["status"] = True
|
result_dict["status"] = True
|
||||||
result_dict["info"] = "operate success"
|
result_dict["info"] = "operate success"
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@ -3,7 +3,7 @@ info('test .....{params_kw=}')
|
|||||||
debug(f"接收cpcc参数:{params_kw=}")
|
debug(f"接收cpcc参数:{params_kw=}")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
result_dict["data"] = new_cluster_install(params_kw)
|
result_dict["data"] = await new_cluster_install(params_kw)
|
||||||
result_dict["status"] = True
|
result_dict["status"] = True
|
||||||
result_dict["info"] = "operate success"
|
result_dict["info"] = "operate success"
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@ -3,7 +3,7 @@ info('test .....{params_kw=}')
|
|||||||
debug(f"node_label_opt接收cpcc参数:{params_kw=}")
|
debug(f"node_label_opt接收cpcc参数:{params_kw=}")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
result_dict["data"] = node_label_opt(params_kw)
|
result_dict["data"] = await node_label_opt(params_kw)
|
||||||
result_dict["status"] = True
|
result_dict["status"] = True
|
||||||
result_dict["info"] = "operate success"
|
result_dict["info"] = "operate success"
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@ -3,7 +3,7 @@ info('test .....{params_kw=}')
|
|||||||
debug(f"接收cpcc参数:{params_kw=}")
|
debug(f"接收cpcc参数:{params_kw=}")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
result_dict["data"] = node_state_switch(params_kw)
|
result_dict["data"] = await node_state_switch(params_kw)
|
||||||
result_dict["status"] = True
|
result_dict["status"] = True
|
||||||
result_dict["info"] = "operate success"
|
result_dict["info"] = "operate success"
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@ -3,7 +3,7 @@ info('test .....{params_kw=}')
|
|||||||
#debug(f"update_cpcpod接收cpcc参数:{params_kw=}")
|
#debug(f"update_cpcpod接收cpcc参数:{params_kw=}")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
result_dict["data"] = yaml_apply_delete(params_kw)
|
result_dict["data"] = await yaml_apply_delete(params_kw)
|
||||||
result_dict["status"] = True
|
result_dict["status"] = True
|
||||||
result_dict["info"] = "operate success"
|
result_dict["info"] = "operate success"
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@ -3,7 +3,7 @@ info('test .....{params_kw=}')
|
|||||||
debug(f"接收cpcc参数:{params_kw=}")
|
debug(f"接收cpcc参数:{params_kw=}")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
result_dict["data"] = yaml_apply_delete(params_kw)
|
result_dict["data"] = await yaml_apply_delete(params_kw)
|
||||||
result_dict["status"] = True
|
result_dict["status"] = True
|
||||||
result_dict["info"] = "operate success"
|
result_dict["info"] = "operate success"
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user