单个节点支持多个DNS线路

This commit is contained in:
刘祥超
2020-11-16 13:03:45 +08:00
parent 8abf806ce9
commit b466868da1
43 changed files with 348 additions and 124 deletions

View File

@@ -23,10 +23,7 @@
<td>DNS线路</td>
<td>
<input type="hidden" name="dnsDomainId" :value="dnsDomainId"/>
<select class="ui dropdown auto-width" name="dnsRoute">
<option value="">[请选择]</option>
<option v-for="route in dnsRoutes" :value="route.code">{{route.name}}</option>
</select>
<dns-route-selector :v-all-routes="dnsRoutes"></dns-route-selector>
<p class="comment">可用线路是根据集群设置的域名获取的注意DNS服务商可能对这些线路有所限制。</p>
</td>
</tr>

View File

@@ -8,12 +8,12 @@
<p class="comment" v-if="groups.length == 0">暂时还没有分组。</p>
<div v-show="groups.length > 0">
<div class="margin"></div>
<table class="ui table selectable" id="sortable-table">
<table class="ui table selectable celled" id="sortable-table">
<thead>
<tr>
<th style="width:3em"></th>
<th>分组名称</th>
<th>节点数</th>
<th class="center">节点数</th>
<th class="two op">操作</th>
</tr>
</thead>
@@ -21,7 +21,7 @@
<tr>
<td style="text-align: center;"><i class="icon bars handle grey"></i> </td>
<td>{{group.name}}</td>
<td>
<td class="center">
<span v-if="group.countNodes.length > 0">{{group.countNodes}}</span>
<span v-else class="disabled">0</span>
</td>

View File

@@ -45,23 +45,24 @@
<p class="comment" v-if="nodes.length == 0">暂时还没有节点。</p>
<table class="ui table selectable" v-if="nodes.length > 0">
<table class="ui table selectable celled" v-if="nodes.length > 0">
<thead>
<tr>
<th class="one wide">ID</th>
<th class="one wide center">ID</th>
<th>节点名称</th>
<th class="two wide">所属分组</th>
<th class="three wide">IP</th>
<th class="two wide">CPU</th>
<th class="two wide">内存</th>
<th style="width:10em">IP</th>
<th>DNS线路</th>
<th style="width:5em" class="center">CPU</th>
<th style="width:5em" class="center">内存</th>
<!--<th>流量</th>
<th>连接数</th>-->
<th class="two wide">状态</th>
<th class="two wide center">状态</th>
<th class="two op">操作</th>
</tr>
</thead>
<tr v-for="node in nodes">
<td nowrap="">{{node.id}}</td>
<td nowrap="" class="center">{{node.id}}</td>
<td>{{node.name}}</td>
<td>
<span v-if="node.group != null" class="ui label tiny">{{node.group.name}}</span>
@@ -79,14 +80,20 @@
</div>
</td>
<td>
<div v-if="node.dnsRouteNames.length > 0">
<div v-for="routeName in node.dnsRouteNames" style="margin-bottom: 0.4em">{{routeName}}</div>
</div>
<span v-else class="disabled">-</span>
</td>
<td class="center">
<span v-if="node.status.isActive" :class="{red:node.status.cpuUsage > 0.80}">{{node.status.cpuUsageText}}</span>
<span v-else class="disabled">-</span>
</td>
<td>
<td class="center">
<span v-if="node.status.isActive" :class="{red:node.status.memUsage > 0.80}">{{node.status.memUsageText}}</span>
<span v-else class="disabled">-</span>
</td>
<td>
<td class="center">
<div v-if="!node.isUp">
<span class="red">健康问题</span>
</div>

View File

@@ -7,7 +7,7 @@
<div v-if="nodes.length > 0">
<h3>所有未安装节点</h3>
<table class="ui table selectable">
<table class="ui table selectable celled">
<thead>
<tr>
<th>节点名</th>

View File

@@ -7,7 +7,7 @@
<div v-if="nodes.length > 0">
<h3>所有未安装节点</h3>
<table class="ui table selectable">
<table class="ui table selectable celled">
<thead>
<tr>
<th>节点名</th>

View File

@@ -29,6 +29,12 @@
</div>
</td>
</tr>
<tr v-if="dnsRoutes.length > 0">
<td>DNS线路</td>
<td>
<span class="ui label tiny" v-for="route in dnsRoutes">{{route.name}}</span>
</td>
</tr>
<tr>
<td>所属分组</td>
<td>

View File

@@ -20,6 +20,13 @@
<p class="comment">用于访问节点和域名解析等。</p>
</td>
</tr>
<tr v-if="allDNSRoutes.length > 0">
<td>DNS线路</td>
<td>
<input type="hidden" name="dnsDomainId" :value="dnsDomainId"/>
<dns-route-selector :v-all-routes="allDNSRoutes" :v-routes="dnsRoutes"></dns-route-selector>
</td>
</tr>
<tr>
<td>所属集群</td>
<td>

View File

@@ -6,7 +6,7 @@
<form method="post" class="ui form" v-if="!isRequesting">
<p>成功节点:<span class="green">{{countSuccess}}</span> &nbsp; 失败节点:<span class="red">{{countFail}}</span></p>
<table class="ui table selectable">
<table class="ui table selectable celled">
<thead>
<tr>
<th>节点</th>

View File

@@ -7,7 +7,7 @@
<div v-if="nodes.length > 0">
<h3>所有需要升级的节点</h3>
<table class="ui table selectable">
<table class="ui table selectable celled">
<thead>
<tr>
<th>节点名</th>

View File

@@ -3,28 +3,28 @@
<div class="ui message" v-if="grants.length == 0">暂时还没有认证信息。</div>
<table class="ui table selectable" v-if="grants.length > 0">
<table class="ui table selectable celled" v-if="grants.length > 0">
<thead>
<tr>
<th>ID</th>
<th class="center">ID</th>
<th>名称</th>
<th>类型</th>
<th>集群数</th>
<th>节点数</th>
<th class="center">集群数</th>
<th class="center">节点数</th>
<th class="two op">操作</th>
</tr>
</thead>
<tr v-for="grant in grants">
<td>{{grant.id}}</td>
<td class="center">{{grant.id}}</td>
<td>{{grant.name}}</td>
<td>
<span class="ui label tiny">{{grant.method.name}}</span>
</td>
<td>
<td class="center">
<span v-if="grant.countClusters > 0">{{grant.countClusters}}</span>
<span v-else class="disabled">0</span>
</td>
<td>
<td class="center">
<span v-if="grant.countNodes > 0">{{grant.countNodes}}</span>
<span v-else class="disabled">0</span>
</td>

View File

@@ -3,28 +3,31 @@
<p class="comment" v-if="clusters.length == 0">暂时还没有集群。</p>
<table class="ui table selectable" v-if="clusters.length > 0">
<table class="ui table selectable celled" v-if="clusters.length > 0">
<thead>
<tr>
<th>集群名称</th>
<th>节点数量</th>
<th>在线节点数量</th>
<th>默认认证</th>
<th class="center">节点数量</th>
<th class="center">在线节点数量</th>
<th>DNS域名</th>
<th class="two op">操作</th>
</tr>
</thead>
<tr v-for="cluster in clusters">
<td>{{cluster.name}}</td>
<td>
<td class="center">
<a :href="'/clusters/cluster?clusterId=' + cluster.id" v-if="cluster.countAllNodes > 0"><span :class="{red:cluster.countAllNodes > cluster.countActiveNodes}">{{cluster.countAllNodes}}</span></a>
<span class="disabled" v-else="">-</span>
</td>
<td>
<td class="center">
<a :href="'/clusters/cluster?clusterId=' + cluster.id + '&activeState=1'" v-if="cluster.countActiveNodes > 0"><span class="green">{{cluster.countActiveNodes}}</span></a>
<span class="disabled" v-else>-</span>
</td>
<td>
<span v-if="cluster.grant != null">{{cluster.grant.name}}<span class="small">{{cluster.grant.methodName}}</span></span>
<span v-if="cluster.dnsName.length > 0">
<var>{{cluster.dnsName}}</var>.<span v-if="cluster.dnsDomainName.length > 0">{{cluster.dnsDomainName}}</span><span v-else class="disabled">主域名</span>
<span v-if="cluster.dnsDomainId > 0"><link-icon :href="'/dns/clusters/cluster?clusterId=' + cluster.id"></link-icon></span>
</span>
<span v-else class="disabled">-</span>
</td>
<td>