From 039ab49b0ac32ac0398fbab27c08d725d4b9fd67 Mon Sep 17 00:00:00 2001 From: nopy <646880214@qq.com> Date: Wed, 10 Jul 2024 13:58:17 +0800 Subject: [PATCH 1/2] 123 --- python/k8s_func.py | 94 ---------------------------------------------- 1 file changed, 94 deletions(-) delete mode 100644 python/k8s_func.py diff --git a/python/k8s_func.py b/python/k8s_func.py deleted file mode 100644 index c9f76e7..0000000 --- a/python/k8s_func.py +++ /dev/null @@ -1,94 +0,0 @@ -import json -import traceback - -import yaml -from kubernetes import client, config -from flask import jsonify -import dmPython - -# Load in-cluster config - -config.load_incluster_config() -v1 = client.CoreV1Api() -namespace = open("/var/run/secrets/kubernetes.io/serviceaccount/namespace").read() -IP = "36.138.114.105" - - -def list_pods(): - ret = v1.list_namespaced_pod(namespace, watch=False) - return ({ - "list": [{ - "name": item.metadata.name, - "ip": item.status.pod_ip - } for item in ret.items] - }) - - -def list_services(): - ret = v1.list_namespaced_service(namespace) - return { - "list": [{ - "ip": item.spec.cluster_ip, - "name": item.metadata.name, - "ports": [port.to_dict() for port in item.spec.ports] - } for item in ret.items] - } - - -def create_pod(type, name): - # 读取 pod yaml 文件 - with open(f"assets/type{type}-pod.yaml") as f: - pod_manifest = yaml.safe_load(f) - pod_manifest["metadata"]["name"] = name - pod_manifest["metadata"]["labels"]["app"] = name - # 创建 Pod - resp = v1.create_namespaced_pod( - body=pod_manifest, - namespace=namespace - ) - # print(f"pod '{resp.metadata.name}' 创建成功") - # 创建 Service - with open(f"assets/type{type}-service.yaml") as f: - service_pod = yaml.safe_load(f) - service_pod["metadata"]["name"] = name + "-service" - service_pod["spec"]["selector"]["app"] = name - - resp = v1.create_namespaced_service( - body=service_pod, - namespace=namespace - ) - # print(f"服务 '{resp.metadata.name}' 创建成功") - if type == 1: - # 创建成功,再次查询,拿到端口 - service = v1.read_namespaced_service(name=name + "-service", namespace=namespace) - # print(service) - # print("访问地址:" + IP + ":" + str(service.spec.ports[0].node_port)) - else: - service = v1.read_namespaced_service(name=name + "-service", namespace=namespace) - # print(service) - # print("访问地址:" + IP + ":" + str(service.spec.ports[0].node_port)) - return "cjcg" - - -# create_pod(0,'20240101-zt-9-0') - -def delete_pod(name): - v1.delete_namespaced_pod(name=name, namespace=namespace) - print('deleting pod ' + name) - v1.delete_namespaced_service(name=name + "-service", namespace=namespace) - return "删除成功" - - -def check_dm(name): - try: - service = v1.read_namespaced_service(name=name + "-service", namespace=namespace) - print(service.spec.cluster_ip) - db = dmPython.connect(user='SYSDBA', password='SYSDBA', host=service.spec.cluster_ip) - cursor = db.cursor() - records = cursor.execute("SELECT * FROM V$VERSION").fetchall() - for record in records: - print(record) - return "OK" - except: - traceback.print_exc() - return "NO" From ba7e87eb6a5a16d21e0940e685cbfbab25f2c020 Mon Sep 17 00:00:00 2001 From: nopy <646880214@qq.com> Date: Wed, 10 Jul 2024 13:58:30 +0800 Subject: [PATCH 2/2] 23 --- app-dm/src/setupProxy.js | 2 +- python/app.py | 54 ++++++++++++++++++++-------------------- python/teacher_func.py | 2 +- 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/app-dm/src/setupProxy.js b/app-dm/src/setupProxy.js index 9a95cdf..3839db3 100644 --- a/app-dm/src/setupProxy.js +++ b/app-dm/src/setupProxy.js @@ -4,7 +4,7 @@ module.exports = function(app) { app.use( '/api', // 如果请求路径匹配'/api',则进行代理 createProxyMiddleware({ - target: 'http://36.138.114.105:31055/', // 目标后端服务地址 + target: 'http://127.0.0.1:5000s', // 目标后端服务地址 changeOrigin: true, }) ); diff --git a/python/app.py b/python/app.py index 0fee7da..b9f753f 100644 --- a/python/app.py +++ b/python/app.py @@ -6,7 +6,7 @@ import paramiko from teacher_func import * from student_func import * -from k8s_func import * +# from k8s_func import * from flask import Flask, render_template, request, jsonify, send_from_directory, session from flask_cors import CORS @@ -331,32 +331,32 @@ def appendQuestion(): -@app.route("/api/teacher/list_pods",methods=['POST']) # 列出pod -def teacher_list_pods(): - return list_pods() -@app.route("/api/teacher/list_services") # 列出服务 -def teacher_list_services(): - return list_services() - -# @app.route("/api/teacher/create_pod") # 创建服务 1为项目实训, 0为安装实训 -# def teacher_create_pod(): -# create_pod(1, "test2") - -@app.route("/api/teacher/DelPods",methods=['POST']) # 删除服务 -def teacher_delete_pod(): - name=request.json['name'] - studentID=name[1:9] - testID=name[10:] - delDMFunc(studentID,testID) - return delete_pod(name=name) - -@app.route("/api/student/check_pod",methods=['POST']) # 检测数据库是否安装成功 若成功,返回OK 否则返回NO -def teacher_check_pod(): - name=request.json["student_ID"] - testID=request.json["operateID"] - name= 'n' + str(name) + '-' + str(testID) - result = check_dm(name) - return jsonify(result) +# @app.route("/api/teacher/list_pods",methods=['POST']) # 列出pod +# def teacher_list_pods(): +# return list_pods() +# @app.route("/api/teacher/list_services") # 列出服务 +# def teacher_list_services(): +# return list_services() +# +# # @app.route("/api/teacher/create_pod") # 创建服务 1为项目实训, 0为安装实训 +# # def teacher_create_pod(): +# # create_pod(1, "test2") +# +# @app.route("/api/teacher/DelPods",methods=['POST']) # 删除服务 +# def teacher_delete_pod(): +# name=request.json['name'] +# studentID=name[1:9] +# testID=name[10:] +# delDMFunc(studentID,testID) +# return delete_pod(name=name) +# +# @app.route("/api/student/check_pod",methods=['POST']) # 检测数据库是否安装成功 若成功,返回OK 否则返回NO +# def teacher_check_pod(): +# name=request.json["student_ID"] +# testID=request.json["operateID"] +# name= 'n' + str(name) + '-' + str(testID) +# result = check_dm(name) +# return jsonify(result) @app.route('/') @app.route('/') diff --git a/python/teacher_func.py b/python/teacher_func.py index 51a99e0..6c85932 100644 --- a/python/teacher_func.py +++ b/python/teacher_func.py @@ -4,7 +4,7 @@ from Crypto.Cipher import AES from Crypto.Random import get_random_bytes import base64 import datetime -import k8s_func +# import k8s_func db = dmPython.connect(user='SYSDBA', password='dameng!!', host="36.138.114.105", port="32522")