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: `
| 集群 | @@ -42,8 +43,45 @@
| 问题对象 | +问题描述 | +操作 | +
|---|---|---|
|
+
+ 集群 "{{issue.target}}"
+
+ 集群 "{{issue.params.clusterName}}" 节点 "{{issue.target}}"
+ |
+ + {{issue.description}} + | +
+
+
+
+
+ |
+
下面的DNS解析记录也可以手工在DNS服务商提供的管理平台添加。
+暂时没有需要设置的DNS记录。
| A | ++ AAAA + A + |
{{node.ipAddr}}
|
暂时没有需要设置的DNS记录。