mirror of
				https://github.com/TeaOSLab/EdgeAdmin.git
				synced 2025-11-04 13:10:26 +08:00 
			
		
		
		
	可以在集群中查看待安装节点、并直接安装节点
This commit is contained in:
		@@ -1,6 +1,5 @@
 | 
			
		||||
<second-menu>
 | 
			
		||||
	<menu-item :href="'/clusters/cluster?clusterId=' + clusterId" code="index">节点列表</menu-item>
 | 
			
		||||
	<menu-item :href="'/clusters/cluster/node/create?clusterId=' + clusterId" code="create">添加节点</menu-item>
 | 
			
		||||
	<!--<menu-item :href="'/clusters/cluster/node/import?clusterId=' + clusterId" code="import">批量导入</menu-item>-->
 | 
			
		||||
	<menu-item :href="'/clusters/cluster/createNode?clusterId=' + clusterId" code="create">创建节点</menu-item>
 | 
			
		||||
	<menu-item :href="'/clusters/cluster/installNodes?clusterId=' + clusterId" code="install">安装节点</menu-item>
 | 
			
		||||
</second-menu>
 | 
			
		||||
							
								
								
									
										7
									
								
								web/views/@default/clusters/cluster/createBatch.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								web/views/@default/clusters/cluster/createBatch.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
.left-box {
 | 
			
		||||
  top: 10em;
 | 
			
		||||
}
 | 
			
		||||
.right-box {
 | 
			
		||||
  top: 10em;
 | 
			
		||||
}
 | 
			
		||||
/*# sourceMappingURL=createBatch.css.map */
 | 
			
		||||
							
								
								
									
										1
									
								
								web/views/@default/clusters/cluster/createBatch.css.map
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								web/views/@default/clusters/cluster/createBatch.css.map
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
{"version":3,"sources":["createBatch.less"],"names":[],"mappings":"AAAA;EACC,SAAA;;AAGD;EACC,SAAA","file":"createBatch.css"}
 | 
			
		||||
							
								
								
									
										19
									
								
								web/views/@default/clusters/cluster/createBatch.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								web/views/@default/clusters/cluster/createBatch.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
{$layout}
 | 
			
		||||
{$template "/clusters/cluster/menu"}
 | 
			
		||||
{$template "/left_menu"}
 | 
			
		||||
 | 
			
		||||
<div class="right-box">
 | 
			
		||||
	<form class="ui form" data-tea-action="$" data-tea-success="success">
 | 
			
		||||
		<input type="hidden" name="clusterId" :value="clusterId"/>
 | 
			
		||||
		<table class="ui table definition selectable">
 | 
			
		||||
			<tr>
 | 
			
		||||
				<td class="title">节点IP列表</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<textarea name="ipList" rows="20" placeholder="IP列表,每行一个IP" ref="ipList"></textarea>
 | 
			
		||||
					<p class="comment">每行一个节点IP。</p>
 | 
			
		||||
				</td>
 | 
			
		||||
			</tr>
 | 
			
		||||
		</table>
 | 
			
		||||
		<submit-btn></submit-btn>
 | 
			
		||||
	</form>
 | 
			
		||||
</div>
 | 
			
		||||
							
								
								
									
										7
									
								
								web/views/@default/clusters/cluster/createBatch.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								web/views/@default/clusters/cluster/createBatch.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
Tea.context(function () {
 | 
			
		||||
	this.success = NotifySuccess("保存成功", "/clusters/cluster?clusterId=" + this.clusterId)
 | 
			
		||||
 | 
			
		||||
	this.$delay(function () {
 | 
			
		||||
		this.$refs.ipList.focus()
 | 
			
		||||
	})
 | 
			
		||||
})
 | 
			
		||||
							
								
								
									
										7
									
								
								web/views/@default/clusters/cluster/createBatch.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								web/views/@default/clusters/cluster/createBatch.less
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
.left-box {
 | 
			
		||||
	top: 10em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.right-box {
 | 
			
		||||
	top: 10em;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										7
									
								
								web/views/@default/clusters/cluster/createNode.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								web/views/@default/clusters/cluster/createNode.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
.left-box {
 | 
			
		||||
  top: 10em;
 | 
			
		||||
}
 | 
			
		||||
.right-box {
 | 
			
		||||
  top: 10em;
 | 
			
		||||
}
 | 
			
		||||
/*# sourceMappingURL=createNode.css.map */
 | 
			
		||||
							
								
								
									
										1
									
								
								web/views/@default/clusters/cluster/createNode.css.map
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								web/views/@default/clusters/cluster/createNode.css.map
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
{"version":3,"sources":["createNode.less"],"names":[],"mappings":"AAAA;EACC,SAAA;;AAGD;EACC,SAAA","file":"createNode.css"}
 | 
			
		||||
							
								
								
									
										49
									
								
								web/views/@default/clusters/cluster/createNode.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								web/views/@default/clusters/cluster/createNode.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
			
		||||
{$layout}
 | 
			
		||||
{$template "/clusters/cluster/menu"}
 | 
			
		||||
{$template "/left_menu"}
 | 
			
		||||
 | 
			
		||||
<div class="right-box">
 | 
			
		||||
	<form class="ui form" data-tea-action="$" data-tea-success="success">
 | 
			
		||||
		<input type="hidden" name="clusterId" :value="clusterId"/>
 | 
			
		||||
		<table class="ui table definition selectable">
 | 
			
		||||
			<tr>
 | 
			
		||||
				<td class="title">节点名称 *</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<input type="text" name="name" maxlength="50" ref="focus"/>
 | 
			
		||||
				</td>
 | 
			
		||||
			</tr>
 | 
			
		||||
			<tr>
 | 
			
		||||
				<td>IP地址</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<node-ip-addresses-box></node-ip-addresses-box>
 | 
			
		||||
				</td>
 | 
			
		||||
			</tr>
 | 
			
		||||
			<tr>
 | 
			
		||||
				<td colspan="2"><more-options-indicator></more-options-indicator></td>
 | 
			
		||||
			</tr>
 | 
			
		||||
			<tbody v-show="moreOptionsVisible">
 | 
			
		||||
				<tr>
 | 
			
		||||
					<td>SSH主机地址</td>
 | 
			
		||||
					<td>
 | 
			
		||||
						<input type="text" name="sshHost" maxlength="64"/>
 | 
			
		||||
						<p class="comment">比如192.168.1.100</p>
 | 
			
		||||
					</td>
 | 
			
		||||
				</tr>
 | 
			
		||||
				<tr>
 | 
			
		||||
					<td>SSH主机端口</td>
 | 
			
		||||
					<td>
 | 
			
		||||
						<input type="text" name="sshPort" maxlength="5"/>
 | 
			
		||||
						<p class="comment">常见的比如22。</p>
 | 
			
		||||
					</td>
 | 
			
		||||
				</tr>
 | 
			
		||||
				<tr>
 | 
			
		||||
					<td>SSH登录认证</td>
 | 
			
		||||
					<td>
 | 
			
		||||
						<grant-selector></grant-selector>
 | 
			
		||||
					</td>
 | 
			
		||||
				</tr>
 | 
			
		||||
			</tbody>
 | 
			
		||||
		</table>
 | 
			
		||||
		<submit-btn></submit-btn>
 | 
			
		||||
	</form>
 | 
			
		||||
</div>
 | 
			
		||||
							
								
								
									
										7
									
								
								web/views/@default/clusters/cluster/createNode.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								web/views/@default/clusters/cluster/createNode.less
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
.left-box {
 | 
			
		||||
	top: 10em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.right-box {
 | 
			
		||||
	top: 10em;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										7
									
								
								web/views/@default/clusters/cluster/installNodes.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								web/views/@default/clusters/cluster/installNodes.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
.left-box {
 | 
			
		||||
  top: 10em;
 | 
			
		||||
}
 | 
			
		||||
.right-box {
 | 
			
		||||
  top: 10em;
 | 
			
		||||
}
 | 
			
		||||
/*# sourceMappingURL=installNodes.css.map */
 | 
			
		||||
							
								
								
									
										1
									
								
								web/views/@default/clusters/cluster/installNodes.css.map
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								web/views/@default/clusters/cluster/installNodes.css.map
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
{"version":3,"sources":["installNodes.less"],"names":[],"mappings":"AAAA;EACC,SAAA;;AAGD;EACC,SAAA","file":"installNodes.css"}
 | 
			
		||||
@@ -1,7 +1,9 @@
 | 
			
		||||
{$layout}
 | 
			
		||||
{$template "menu"}
 | 
			
		||||
{$template "/left_menu"}
 | 
			
		||||
 | 
			
		||||
	{$template "menu"}
 | 
			
		||||
	<p>可以通过节点安装包中的<code-label>configs/cluster.yaml</code-label>直接自动注册节点。</p>
 | 
			
		||||
<div class="right-box">
 | 
			
		||||
	<p>在官网下载节点安装包,然后通过修改节点安装包中的<code-label>configs/cluster.yaml</code-label>,启动后会自动注册节点。</p>
 | 
			
		||||
	<table class="ui table definition selectable">
 | 
			
		||||
		<tr>
 | 
			
		||||
			<td class="title">cluster.yaml<br/>
 | 
			
		||||
@@ -9,9 +11,10 @@
 | 
			
		||||
			</td>
 | 
			
		||||
			<td>
 | 
			
		||||
				<pre id="cluster-config-box">rpc:
 | 
			
		||||
  endpoints: [ {{cluster.endpoints}} ]
 | 
			
		||||
clusterId: "{{cluster.uniqueId}}"
 | 
			
		||||
secret: "{{cluster.secret}}"</pre>
 | 
			
		||||
	endpoints: [ {{cluster.endpoints}} ]
 | 
			
		||||
	clusterId: "{{cluster.uniqueId}}"
 | 
			
		||||
	secret: "{{cluster.secret}}"</pre>
 | 
			
		||||
			</td>
 | 
			
		||||
		</tr>
 | 
			
		||||
	</table>
 | 
			
		||||
	</table>
 | 
			
		||||
</div>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								web/views/@default/clusters/cluster/installNodes.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								web/views/@default/clusters/cluster/installNodes.less
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
.left-box {
 | 
			
		||||
	top: 10em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.right-box {
 | 
			
		||||
	top: 10em;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										7
									
								
								web/views/@default/clusters/cluster/installRemote.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								web/views/@default/clusters/cluster/installRemote.css
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
.left-box {
 | 
			
		||||
  top: 10em;
 | 
			
		||||
}
 | 
			
		||||
.right-box {
 | 
			
		||||
  top: 10em;
 | 
			
		||||
}
 | 
			
		||||
/*# sourceMappingURL=installRemote.css.map */
 | 
			
		||||
@@ -0,0 +1 @@
 | 
			
		||||
{"version":3,"sources":["installRemote.less"],"names":[],"mappings":"AAAA;EACC,SAAA;;AAGD;EACC,SAAA","file":"installRemote.css"}
 | 
			
		||||
							
								
								
									
										48
									
								
								web/views/@default/clusters/cluster/installRemote.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								web/views/@default/clusters/cluster/installRemote.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,48 @@
 | 
			
		||||
{$layout}
 | 
			
		||||
{$template "menu"}
 | 
			
		||||
{$template "/left_menu"}
 | 
			
		||||
 | 
			
		||||
<div class="right-box">
 | 
			
		||||
	<p class="comment" v-if="nodes.length == 0">暂时没有需要远程安装的节点。</p>
 | 
			
		||||
 | 
			
		||||
	<div v-if="nodes.length > 0">
 | 
			
		||||
		<h3>所有未安装节点</h3>
 | 
			
		||||
		<table class="ui table selectable">
 | 
			
		||||
			<thead>
 | 
			
		||||
				<tr>
 | 
			
		||||
					<th>节点名</th>
 | 
			
		||||
					<th>访问IP</th>
 | 
			
		||||
					<th>SSH地址</th>
 | 
			
		||||
					<th class="four wide">节点状态</th>
 | 
			
		||||
					<th class="two op">操作</th>
 | 
			
		||||
				</tr>
 | 
			
		||||
			</thead>
 | 
			
		||||
			<tr v-for="node in nodes">
 | 
			
		||||
				<td>{{node.name}}</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<span v-for="addr in node.addresses" v-if="addr.canAccess" class="ui label tiny">{{addr.ip}}</span>
 | 
			
		||||
				</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<span v-if="node.login != null && node.login.type == 'ssh' && node.loginParams != null && node.loginParams.host != null && node.loginParams.host.length > 0">
 | 
			
		||||
						{{node.loginParams.host}}:{{node.loginParams.port}}
 | 
			
		||||
					</span>
 | 
			
		||||
					<span v-else class="disabled">没有设置</span>
 | 
			
		||||
				</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<div v-if="node.installStatus != null && (node.installStatus.isRunning || node.installStatus.isFinished)">
 | 
			
		||||
						<div v-if="node.installStatus.isRunning" class="blue">安装中...</div>
 | 
			
		||||
						<div v-if="node.installStatus.isFinished">
 | 
			
		||||
							<span v-if="node.installStatus.isOk" class="green">已安装成功</span>
 | 
			
		||||
							<span v-if="!node.installStatus.isOk" class="red">安装过程中发生错误:{{node.installStatus.error}}</span>
 | 
			
		||||
						</div>
 | 
			
		||||
					</div>
 | 
			
		||||
				</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<a href="" @click.prevent="installNode(node)" v-if="!isInstalling">安装</a>
 | 
			
		||||
					<span v-if="isInstalling && node.isInstalling">安装中...</span>
 | 
			
		||||
					<span v-if="isInstalling && !node.isInstalling" class="disabled">安装</span>
 | 
			
		||||
				</td>
 | 
			
		||||
			</tr>
 | 
			
		||||
		</table>
 | 
			
		||||
	</div>
 | 
			
		||||
</div>
 | 
			
		||||
							
								
								
									
										73
									
								
								web/views/@default/clusters/cluster/installRemote.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								web/views/@default/clusters/cluster/installRemote.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,73 @@
 | 
			
		||||
Tea.context(function () {
 | 
			
		||||
	this.isInstalling = false
 | 
			
		||||
	let installingNode = null
 | 
			
		||||
 | 
			
		||||
	this.$delay(function () {
 | 
			
		||||
		this.reload()
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	this.installNode = function (node) {
 | 
			
		||||
		let that = this
 | 
			
		||||
		teaweb.confirm("确定要开始安装此节点吗?", function () {
 | 
			
		||||
			installingNode = node
 | 
			
		||||
			that.isInstalling = true
 | 
			
		||||
			node.isInstalling = true
 | 
			
		||||
 | 
			
		||||
			that.$post("$")
 | 
			
		||||
				.params({
 | 
			
		||||
					nodeId: node.id
 | 
			
		||||
				})
 | 
			
		||||
		})
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	this.reload = function () {
 | 
			
		||||
		let that = this
 | 
			
		||||
		if (installingNode != null) {
 | 
			
		||||
			this.$post("/clusters/cluster/installStatus")
 | 
			
		||||
				.params({
 | 
			
		||||
					nodeId: installingNode.id
 | 
			
		||||
				})
 | 
			
		||||
				.success(function (resp) {
 | 
			
		||||
					if (resp.data.status != null) {
 | 
			
		||||
						installingNode.installStatus = resp.data.status
 | 
			
		||||
						if (installingNode.installStatus.isFinished) {
 | 
			
		||||
							if (installingNode.installStatus.isOk) {
 | 
			
		||||
								installingNode = null
 | 
			
		||||
								teaweb.success("安装成功", function () {
 | 
			
		||||
									window.location.reload()
 | 
			
		||||
								})
 | 
			
		||||
							} else {
 | 
			
		||||
								let nodeId = installingNode.id
 | 
			
		||||
								let errMsg = installingNode.installStatus.error
 | 
			
		||||
								that.isInstalling = false
 | 
			
		||||
								installingNode.isInstalling = false
 | 
			
		||||
								installingNode = null
 | 
			
		||||
 | 
			
		||||
								switch (resp.data.status.errorCode) {
 | 
			
		||||
									case "EMPTY_LOGIN":
 | 
			
		||||
									case "EMPTY_SSH_HOST":
 | 
			
		||||
									case "EMPTY_SSH_PORT":
 | 
			
		||||
									case "EMPTY_GRANT":
 | 
			
		||||
										teaweb.warn("需要填写SSH登录信息", function () {
 | 
			
		||||
											teaweb.popup("/clusters/cluster/updateNodeSSH?nodeId=" + nodeId, {
 | 
			
		||||
												callback: function () {
 | 
			
		||||
													teaweb.reload()
 | 
			
		||||
												}
 | 
			
		||||
											})
 | 
			
		||||
										})
 | 
			
		||||
										return
 | 
			
		||||
									default:
 | 
			
		||||
										teaweb.warn("安装失败:" + errMsg)
 | 
			
		||||
								}
 | 
			
		||||
							}
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				})
 | 
			
		||||
				.done(function () {
 | 
			
		||||
					setTimeout(this.reload, 3000)
 | 
			
		||||
				})
 | 
			
		||||
		} else {
 | 
			
		||||
			setTimeout(this.reload, 3000)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
							
								
								
									
										7
									
								
								web/views/@default/clusters/cluster/installRemote.less
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								web/views/@default/clusters/cluster/installRemote.less
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
.left-box {
 | 
			
		||||
	top: 10em;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.right-box {
 | 
			
		||||
	top: 10em;
 | 
			
		||||
}
 | 
			
		||||
@@ -1,42 +0,0 @@
 | 
			
		||||
{$layout}
 | 
			
		||||
 | 
			
		||||
	{$template "/clusters/cluster/menu"}
 | 
			
		||||
 | 
			
		||||
	<form class="ui form" data-tea-action="$" data-tea-success="success">
 | 
			
		||||
		<input type="hidden" name="clusterId" :value="clusterId"/>
 | 
			
		||||
		<table class="ui table definition selectable">
 | 
			
		||||
			<tr>
 | 
			
		||||
				<td class="title">节点名称 *</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<input type="text" name="name" maxlength="50" ref="focus"/>
 | 
			
		||||
				</td>
 | 
			
		||||
			</tr>
 | 
			
		||||
			<tr>
 | 
			
		||||
				<td>IP地址</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<node-ip-addresses-box></node-ip-addresses-box>
 | 
			
		||||
				</td>
 | 
			
		||||
			</tr>
 | 
			
		||||
			<tr>
 | 
			
		||||
				<td>SSH主机地址</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<input type="text" name="sshHost" maxlength="64"/>
 | 
			
		||||
					<p class="comment">比如192.168.1.100</p>
 | 
			
		||||
				</td>
 | 
			
		||||
			</tr>
 | 
			
		||||
			<tr>
 | 
			
		||||
				<td>SSH主机端口</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<input type="text" name="sshPort" maxlength="5"/>
 | 
			
		||||
					<p class="comment">常见的比如22。</p>
 | 
			
		||||
				</td>
 | 
			
		||||
			</tr>
 | 
			
		||||
			<tr>
 | 
			
		||||
				<td>SSH登录认证</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<grant-selector></grant-selector>
 | 
			
		||||
				</td>
 | 
			
		||||
			</tr>
 | 
			
		||||
		</table>
 | 
			
		||||
		<submit-btn></submit-btn>
 | 
			
		||||
	</form>
 | 
			
		||||
							
								
								
									
										31
									
								
								web/views/@default/clusters/cluster/updateNodeSSH.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								web/views/@default/clusters/cluster/updateNodeSSH.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,31 @@
 | 
			
		||||
{$layout "layout_popup"}
 | 
			
		||||
 | 
			
		||||
<h3>修改节点"{{node.name}}"的SSH登录信息</h3>
 | 
			
		||||
 | 
			
		||||
<form class="ui form" data-tea-action="$" data-tea-success="success">
 | 
			
		||||
	<input type="hidden" name="nodeId" :value="node.id"/>
 | 
			
		||||
	<input type="hidden" name="loginId" :value="loginId"/>
 | 
			
		||||
	<table class="ui table definition">
 | 
			
		||||
		<tr>
 | 
			
		||||
			<td class="title">SSH主机地址 *</td>
 | 
			
		||||
			<td>
 | 
			
		||||
				<input type="text" name="sshHost" maxlength="64" v-model="params.host" ref="focus"/>
 | 
			
		||||
				<p class="comment">比如192.168.1.100</p>
 | 
			
		||||
			</td>
 | 
			
		||||
		</tr>
 | 
			
		||||
		<tr>
 | 
			
		||||
			<td>SSH主机端口 &</td>
 | 
			
		||||
			<td>
 | 
			
		||||
				<input type="text" name="sshPort" maxlength="5" v-model="params.port" style="width:6em"/>
 | 
			
		||||
				<p class="comment">比如22。</p>
 | 
			
		||||
			</td>
 | 
			
		||||
		</tr>
 | 
			
		||||
		<tr>
 | 
			
		||||
			<td>SSH登录认证 *</td>
 | 
			
		||||
			<td>
 | 
			
		||||
				<grant-selector :v-grant="grant"></grant-selector>
 | 
			
		||||
			</td>
 | 
			
		||||
		</tr>
 | 
			
		||||
	</table>
 | 
			
		||||
	<submit-btn></submit-btn>
 | 
			
		||||
</form>
 | 
			
		||||
							
								
								
									
										3
									
								
								web/views/@default/clusters/cluster/updateNodeSSH.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								web/views/@default/clusters/cluster/updateNodeSSH.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
Tea.context(function () {
 | 
			
		||||
	this.success = NotifyPopup
 | 
			
		||||
})
 | 
			
		||||
		Reference in New Issue
	
	Block a user