diff --git a/internal/web/actions/default/dns/clusters/cluster.go b/internal/web/actions/default/dns/clusters/cluster.go index 1bf7d0f9..e7d2b43b 100644 --- a/internal/web/actions/default/dns/clusters/cluster.go +++ b/internal/web/actions/default/dns/clusters/cluster.go @@ -1,6 +1,7 @@ package clusters import ( + "github.com/TeaOSLab/EdgeAdmin/internal/utils" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/actionutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" "github.com/iwind/TeaGo/maps" @@ -74,10 +75,14 @@ func (this *ClusterAction) RunGet(params struct { // 检查是否已解析 isResolved := false if cluster.DnsDomainId > 0 && len(cluster.DnsName) > 0 && len(node.IpAddr) > 0 { + recordType := "A" + if utils.IsIPv6(node.IpAddr) { + recordType = "AAAA" + } checkResp, err := this.RPC().DNSDomainRPC().ExistDNSDomainRecord(this.AdminContext(), &pb.ExistDNSDomainRecordRequest{ DnsDomainId: cluster.DnsDomainId, Name: cluster.DnsName, - Type: "A", + Type: recordType, Route: route.Code, Value: node.IpAddr, }) @@ -157,5 +162,25 @@ func (this *ClusterAction) RunGet(params struct { } this.Data["dnsHasChanges"] = checkChangesResp.IsChanged + // 需要解决的问题 + issuesResp, err := this.RPC().DNSRPC().FindAllDNSIssues(this.AdminContext(), &pb.FindAllDNSIssuesRequest{ + NodeClusterId: params.ClusterId, + }) + if err != nil { + this.ErrorPage(err) + return + } + issueMaps := []maps.Map{} + for _, issue := range issuesResp.Issues { + issueMaps = append(issueMaps, maps.Map{ + "target": issue.Target, + "targetId": issue.TargetId, + "type": issue.Type, + "description": issue.Description, + "params": issue.Params, + }) + } + this.Data["issues"] = issueMaps + this.Show() } diff --git a/web/public/js/components/node/node-ip-addresses-box.js b/web/public/js/components/node/node-ip-addresses-box.js index b181c2eb..356bb1c7 100644 --- a/web/public/js/components/node/node-ip-addresses-box.js +++ b/web/public/js/components/node/node-ip-addresses-box.js @@ -33,6 +33,11 @@ Vue.component("node-ip-addresses-box", { // 删除IP地址 removeIPAddress: function (index) { this.ipAddresses.$remove(index); + }, + + // 判断是否为IPv6 + isIPv6: function (ip) { + return ip.indexOf(":") > -1 } }, template: `
@@ -40,9 +45,9 @@ Vue.component("node-ip-addresses-box", {
- {{address.ip}} - ({{address.name}},不可访问 - (不可访问) + [IPv6] {{address.ip}} + ({{address.name}},不可访问 + (不可访问)
diff --git a/web/views/@default/clusters/cluster/node/index.html b/web/views/@default/clusters/cluster/node/index.html index bd5039b6..3bfb72a3 100644 --- a/web/views/@default/clusters/cluster/node/index.html +++ b/web/views/@default/clusters/cluster/node/index.html @@ -18,9 +18,9 @@
- {{address.ip}} - ({{address.name}},不可访问 - (不可访问) + [IPv6] {{address.ip}} + ({{address.name}},不可访问 + (不可访问)
@@ -50,7 +50,10 @@ {{dnsRecordName}} - A + + AAAA + A + {{route.name}} 默认 diff --git a/web/views/@default/dns/clusters/cluster.html b/web/views/@default/dns/clusters/cluster.html index 8d2fff14..692611f2 100644 --- a/web/views/@default/dns/clusters/cluster.html +++ b/web/views/@default/dns/clusters/cluster.html @@ -6,6 +6,7 @@ {{cluster.name}} + @@ -42,8 +43,45 @@
集群
+ +
+

需要修复的问题

+ + + + + + + + + + + + + +
问题对象问题描述操作
+
+ 集群 "{{issue.target}}" +
+
+ 集群 "{{issue.params.clusterName}}" 节点 "{{issue.target}}" +
+
+ {{issue.description}} + +
+ 修复 +
+
+ 修复 +
+
+
+
+

下面的DNS解析记录也可以手工在DNS服务商提供的管理平台添加。

+

节点DNS解析记录   ({{nodes.length}}个)

暂时没有需要设置的DNS记录。

@@ -64,7 +102,10 @@ {{dnsInfo.dnsName}}没有设置 - +
A + AAAA + A + {{node.ipAddr}} 没有设置 @@ -83,7 +124,8 @@
-

代理服务解析记录   ({{servers.length}}个)

+ +

网站服务解析记录   ({{servers.length}}个)

暂时没有需要设置的DNS记录。