mirror of
https://github.com/optim-enterprises-bv/control-pane.git
synced 2025-10-30 01:22:24 +00:00
k8s module:wip
This commit is contained in:
@@ -2070,6 +2070,20 @@ class ClonOS {
|
||||
return $arr;
|
||||
}
|
||||
|
||||
function ccmd_getFreeCname(){
|
||||
$arr=array();
|
||||
$add_cmd=' default_jailname=kube';
|
||||
$res=$this->cbsd_cmd("freejname".$add_cmd);
|
||||
if($res['error']){
|
||||
$arr['error']=true;
|
||||
$arr['error_message']=$err['error_message'];
|
||||
}else{
|
||||
$arr['error']=false;
|
||||
$arr['freejname']=$res['message'];
|
||||
}
|
||||
return $arr;
|
||||
}
|
||||
|
||||
function ccmd_k8sCreate()
|
||||
{
|
||||
$form=$this->form;
|
||||
@@ -2116,7 +2130,9 @@ class ClonOS {
|
||||
if($form['kubelet_master']=='on') $res['kubelet_master']="1";
|
||||
}
|
||||
|
||||
$url='http://144.76.225.238/api/v1/create/move';
|
||||
$cname=$form['cname'];
|
||||
|
||||
$url='http://144.76.225.238/api/v1/create/'.$cname;
|
||||
$result=$this->postCurl($url,$res);
|
||||
|
||||
return $result;
|
||||
|
||||
17
public/curl2.php
Normal file
17
public/curl2.php
Normal file
@@ -0,0 +1,17 @@
|
||||
<?php
|
||||
$ch = curl_init( 'http://144.76.225.238/api/v1/create/move' );
|
||||
# Setup request to send json via POST.
|
||||
|
||||
$payload = json_encode( array( "email"=>"root@my.domain", "init_masters"=>"1" ) );
|
||||
|
||||
|
||||
curl_setopt( $ch, CURLOPT_POSTFIELDS, $payload );
|
||||
curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
|
||||
# Return response instead of printing.
|
||||
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
|
||||
# Send request.
|
||||
$result = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
# Print response.
|
||||
echo "<pre>$result</pre>";
|
||||
|
||||
@@ -10,6 +10,10 @@ err_messages.add({
|
||||
<h2><?php echo $this->translate('create master node and workers');?></h2>
|
||||
<form class="win" method="post" id="k8sNewSettings" onsubmit="return false;">
|
||||
<div class="window-content">
|
||||
<p>
|
||||
<span class="field-name"><?php echo $this->translate('Cluster name');?>:</span>
|
||||
<input type="text" name="cname" value="" pattern="[^0-9]{1}[a-zA-Z0-9]{2,}" required="required" class="edit-disable" />
|
||||
</p>
|
||||
<p>
|
||||
<span class="field-name"><?php echo $this->translate('Master Nodes count');?>:</span>
|
||||
<span class="range">
|
||||
@@ -42,8 +46,8 @@ err_messages.add({
|
||||
<p>
|
||||
<span class="field-name"><?php echo $this->translate('Worker Nodes count');?>:</span>
|
||||
<span class="range">
|
||||
<input type="range" name="worker_nodes" class="vHorizon" min="1" max="8" value="1" style="margin:6px 0;" id="rngWNodes" oninput="rngWNodesShow.value=rngWNodes.value">
|
||||
<input type="text" disabled="disabled" id="rngWNodesShow" value="1" name="worker_nodes_count">
|
||||
<input type="range" name="worker_nodes" class="vHorizon" min="0" max="8" value="0" style="margin:6px 0;" id="rngWNodes" oninput="rngWNodesShow.value=rngWNodes.value">
|
||||
<input type="text" disabled="disabled" id="rngWNodesShow" value="0" name="worker_nodes_count">
|
||||
</span>
|
||||
</p>
|
||||
<p>
|
||||
|
||||
@@ -227,6 +227,11 @@ var clonos={
|
||||
if(typeof this.vm_packages_obtain_min_id!='undefined')
|
||||
$('#bhyveObtSettings select[name="vm_packages"]').val(this.vm_packages_obtain_min_id).change();
|
||||
}
|
||||
if(id=='k8s-new')
|
||||
{
|
||||
this.getFreeCname(); // Берём с сервера свободное имя kubernetes
|
||||
//this.trids=this.getTrIdsForCheck('jailslist');
|
||||
}
|
||||
this.dialogShow1(id);
|
||||
}
|
||||
},
|
||||
@@ -858,6 +863,15 @@ var clonos={
|
||||
$('dialog#jail-settings input[name="jname"]').val(data.freejname);
|
||||
$('dialog#jail-settings input[name="host_hostname"]').val(data.freejname+'.my.domain');
|
||||
},
|
||||
getFreeCname:function()
|
||||
{
|
||||
this.loadData('getFreeCname',$.proxy(this.onGetFreeCname,this));
|
||||
},
|
||||
onGetFreeCname:function(data)
|
||||
{
|
||||
$('dialog#k8s-new input[name="cname"]').val(data.freejname);
|
||||
//$('dialog#jail-settings input[name="host_hostname"]').val(data.freecname+'.my.domain');
|
||||
},
|
||||
|
||||
onUsersAdd:function(data)
|
||||
{
|
||||
@@ -1835,6 +1849,11 @@ var clonos={
|
||||
this.imageRemove(trid);
|
||||
return;
|
||||
}
|
||||
if(tblid=='k8slist')
|
||||
{
|
||||
this.ks8Remove(trid);
|
||||
return;
|
||||
}
|
||||
alert(tblid);
|
||||
return;break;
|
||||
case 'icon-arrows-cw':
|
||||
@@ -2163,9 +2182,36 @@ var clonos={
|
||||
$('div.main').removeClass('asplit');
|
||||
},
|
||||
|
||||
onK8sCreate:function(data)
|
||||
onK8sCreate:function(tdata)
|
||||
{
|
||||
alert(JSON.stringify(data));
|
||||
var data=JSON.parse(tdata);
|
||||
this.dialogClose();
|
||||
if(typeof data!='undefined')
|
||||
{
|
||||
if(typeof data['Message']!='undefined')
|
||||
{
|
||||
this.notify(data.Message,'success');
|
||||
}
|
||||
}
|
||||
},
|
||||
ks8Remove:function(id)
|
||||
{
|
||||
var c=confirm(this.translate('You want to delete kubernetes «'+id+'»! Are you sure?'));
|
||||
if(!c) return;
|
||||
|
||||
var posts=[{'name':'k8sname','value':id}];
|
||||
this.loadData('k8sRemove',$.proxy(this.onKs8Remove,this),posts,false);
|
||||
},
|
||||
onKs8Remove:function(tdata)
|
||||
{
|
||||
var data=JSON.parse(tdata);
|
||||
if(typeof data!='undefined')
|
||||
{
|
||||
if(typeof data['Message']!='undefined')
|
||||
{
|
||||
this.notify(data.Message,'success');
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<tbody>
|
||||
<tr class="#nth-num##desktop##maintenance#" id="#name#">
|
||||
<tr class="#nth-num#<!--#maintenance#-->" id="#name#">
|
||||
<td class="txtleft">#name#</td>
|
||||
<td class="txtleft wordwreck node">#cluster#</td>
|
||||
<td class="txtcenter">#masters#</td>
|
||||
@@ -8,6 +8,6 @@
|
||||
<td class="ops"><span class="icon-cnt"><span class="icon-#icon#"></span></span></td>
|
||||
<td class="op-settings"><span class="icon-cog"></span></td>
|
||||
<td class="op-reboot" title="#reboot_title#"><span class="icon-arrows-cw"></span></td>
|
||||
<td class="op-del"#protitle#><span class="#protected#"></span></td>
|
||||
<td class="op-del"#protitle#><span class="icon-cancel"></span></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -11,6 +11,12 @@ $clonos->useDialogs(array(
|
||||
'k8s-new',
|
||||
));
|
||||
|
||||
/*
|
||||
Модуль kubernetes использует в работе преднастроенный образ Linux, который не входит в базовую установку ClonOS.
|
||||
Если вы хотите использовать модуль k8s, нажмите кнопку 'инициализация' для скачивания и подготовки образа k8s к работе.
|
||||
Подразумевается, что система имеет доступ в Internet. Объем образа который будет загружен приблизительно 4 GB.
|
||||
*/
|
||||
|
||||
?>
|
||||
<h1>K8S кластеры:</h1>
|
||||
<p><span class="top-button icon-plus id:k8s-new">Создать Kubernetes</span></p>
|
||||
|
||||
1
public/test.k8s
Normal file
1
public/test.k8s
Normal file
@@ -0,0 +1 @@
|
||||
{"master_nodes":"1","master_ram":"1","master_cpus":"1","master_img":"10","worker_nodes":"1","worker_ram":"1","worker_cpus":"1","worker_img":"10","pv_enable":0,"kubelet_master":0}
|
||||
Reference in New Issue
Block a user