我想创建一个部署按钮,单击该按钮应将一个容器部署到我的kubernetes集群上。为此,每当单击html按钮时,我想调用一个node.js文件,该文件将执行命令“ kubectl apply” -f tomcat.yaml”。因此,当单击html按钮时如何调用node.js文件。我听说可以使用AJAX来实现。
HTML页面
<!DOCTYPE html>
<html>
<body>
<h3>Example of a Deploy and Decommission Button</h3>
<button onclick="myFunction()">Deploy</button>
<button onclick="myFunction()">Decommission</button>
</body>
</html>
运行kubectl命令的node.js文件
var process = require('child_process');
process.exec('kubectl apply -f tomcat.yaml',function (err,stdout,stderr) {
if (err) {
console.log("\n"+stderr);
} else {
console.log(stdout);
}
});
如果有人可以向我展示如何在单击按钮时调用我的代码作为示例,以我个人的理解为例,那么它将对我有帮助。 我听说可以使用AJAX调用服务器端代码或获取请求。但是有人可以通过使用我的html和node.js文件为示例向我展示示例。请帮忙。
答案 0 :(得分:0)
您可以在nodejs中使用express like作为终点
const app = require("express")();
const process = require('child_process');
app.post("/createContainer", (req, res) => {
process.exec('kubectl apply -f tomcat.yaml',function (err,stdout,stderr) {
if (err) {
console.log("\n"+stderr);
} else {
console.log(stdout);
}
});
});
app.list(80);
完成后,您只需在正面拨打AJAX呼叫
$("#myBtn").click(() => {
$.post("/createContainer").done(() => {
console.log("container created")
});
});