diff --git a/internal/web/actions/default/clusters/cluster/node/node.go b/internal/web/actions/default/clusters/cluster/node/node.go index f5aa6b68..35b3e915 100644 --- a/internal/web/actions/default/clusters/cluster/node/node.go +++ b/internal/web/actions/default/clusters/cluster/node/node.go @@ -185,6 +185,33 @@ func (this *NodeAction) RunGet(params struct { } } + // 缓存硬盘 & 内存容量 + var maxCacheDiskCapacity maps.Map = nil + if node.MaxCacheDiskCapacity != nil { + maxCacheDiskCapacity = maps.Map{ + "count": node.MaxCacheDiskCapacity.Count, + "unit": node.MaxCacheDiskCapacity.Unit, + } + } else { + maxCacheDiskCapacity = maps.Map{ + "count": 0, + "unit": "gb", + } + } + + var maxCacheMemoryCapacity maps.Map = nil + if node.MaxCacheMemoryCapacity != nil { + maxCacheMemoryCapacity = maps.Map{ + "count": node.MaxCacheMemoryCapacity.Count, + "unit": node.MaxCacheMemoryCapacity.Unit, + } + } else { + maxCacheMemoryCapacity = maps.Map{ + "count": 0, + "unit": "gb", + } + } + this.Data["node"] = maps.Map{ "id": node.Id, "name": node.Name, @@ -217,6 +244,9 @@ func (this *NodeAction) RunGet(params struct { "group": groupMap, "region": regionMap, + + "maxCacheDiskCapacity": maxCacheDiskCapacity, + "maxCacheMemoryCapacity": maxCacheMemoryCapacity, } this.Show() diff --git a/internal/web/actions/default/clusters/cluster/node/update.go b/internal/web/actions/default/clusters/cluster/node/update.go index e3ef2194..e724deeb 100644 --- a/internal/web/actions/default/clusters/cluster/node/update.go +++ b/internal/web/actions/default/clusters/cluster/node/update.go @@ -7,6 +7,7 @@ import ( "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/clusters/grants/grantutils" "github.com/TeaOSLab/EdgeAdmin/internal/web/actions/default/nodes/ipAddresses/ipaddressutils" "github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb" + "github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared" "github.com/iwind/TeaGo/actions" "github.com/iwind/TeaGo/maps" ) @@ -156,16 +157,45 @@ func (this *UpdateAction) RunGet(params struct { } } + // 缓存硬盘 & 内存容量 + var maxCacheDiskCapacity maps.Map = nil + if node.MaxCacheDiskCapacity != nil { + maxCacheDiskCapacity = maps.Map{ + "count": node.MaxCacheDiskCapacity.Count, + "unit": node.MaxCacheDiskCapacity.Unit, + } + } else { + maxCacheDiskCapacity = maps.Map{ + "count": 0, + "unit": "gb", + } + } + + var maxCacheMemoryCapacity maps.Map = nil + if node.MaxCacheMemoryCapacity != nil { + maxCacheMemoryCapacity = maps.Map{ + "count": node.MaxCacheMemoryCapacity.Count, + "unit": node.MaxCacheMemoryCapacity.Unit, + } + } else { + maxCacheMemoryCapacity = maps.Map{ + "count": 0, + "unit": "gb", + } + } + this.Data["node"] = maps.Map{ - "id": node.Id, - "name": node.Name, - "ipAddresses": ipAddressMaps, - "cluster": clusterMap, - "login": loginMap, - "maxCPU": node.MaxCPU, - "isOn": node.IsOn, - "group": groupMap, - "region": regionMap, + "id": node.Id, + "name": node.Name, + "ipAddresses": ipAddressMaps, + "cluster": clusterMap, + "login": loginMap, + "maxCPU": node.MaxCPU, + "isOn": node.IsOn, + "group": groupMap, + "region": regionMap, + "maxCacheDiskCapacity": maxCacheDiskCapacity, + "maxCacheMemoryCapacity": maxCacheMemoryCapacity, } // 所有集群 @@ -190,18 +220,20 @@ func (this *UpdateAction) RunGet(params struct { } func (this *UpdateAction) RunPost(params struct { - LoginId int64 - NodeId int64 - GroupId int64 - RegionId int64 - Name string - IPAddressesJSON []byte `alias:"ipAddressesJSON"` - ClusterId int64 - GrantId int64 - SshHost string - SshPort int - MaxCPU int32 - IsOn bool + LoginId int64 + NodeId int64 + GroupId int64 + RegionId int64 + Name string + IPAddressesJSON []byte `alias:"ipAddressesJSON"` + ClusterId int64 + GrantId int64 + SshHost string + SshPort int + MaxCPU int32 + IsOn bool + MaxCacheDiskCapacityJSON []byte + MaxCacheMemoryCapacityJSON []byte DnsDomainId int64 DnsRoutesJSON []byte @@ -258,18 +290,49 @@ func (this *UpdateAction) RunPost(params struct { }.AsJSON(), } + // 缓存硬盘 & 内存容量 + var pbMaxCacheDiskCapacity *pb.SizeCapacity + if len(params.MaxCacheDiskCapacityJSON) > 0 { + var sizeCapacity = &shared.SizeCapacity{} + err := json.Unmarshal(params.MaxCacheDiskCapacityJSON, sizeCapacity) + if err != nil { + this.ErrorPage(err) + return + } + pbMaxCacheDiskCapacity = &pb.SizeCapacity{ + Count: sizeCapacity.Count, + Unit: sizeCapacity.Unit, + } + } + + var pbMaxCacheMemoryCapacity *pb.SizeCapacity + if len(params.MaxCacheMemoryCapacityJSON) > 0 { + var sizeCapacity = &shared.SizeCapacity{} + err := json.Unmarshal(params.MaxCacheMemoryCapacityJSON, sizeCapacity) + if err != nil { + this.ErrorPage(err) + return + } + pbMaxCacheMemoryCapacity = &pb.SizeCapacity{ + Count: sizeCapacity.Count, + Unit: sizeCapacity.Unit, + } + } + // 保存 _, err := this.RPC().NodeRPC().UpdateNode(this.AdminContext(), &pb.UpdateNodeRequest{ - NodeId: params.NodeId, - GroupId: params.GroupId, - RegionId: params.RegionId, - Name: params.Name, - NodeClusterId: params.ClusterId, - Login: loginInfo, - MaxCPU: params.MaxCPU, - IsOn: params.IsOn, - DnsDomainId: params.DnsDomainId, - DnsRoutes: dnsRouteCodes, + NodeId: params.NodeId, + GroupId: params.GroupId, + RegionId: params.RegionId, + Name: params.Name, + NodeClusterId: params.ClusterId, + Login: loginInfo, + MaxCPU: params.MaxCPU, + IsOn: params.IsOn, + DnsDomainId: params.DnsDomainId, + DnsRoutes: dnsRouteCodes, + MaxCacheDiskCapacity: pbMaxCacheDiskCapacity, + MaxCacheMemoryCapacity: pbMaxCacheMemoryCapacity, }) if err != nil { this.ErrorPage(err) diff --git a/web/views/@default/clusters/cluster/node/node.html b/web/views/@default/clusters/cluster/node/node.html index 36cd3af1..921aaa40 100644 --- a/web/views/@default/clusters/cluster/node/node.html +++ b/web/views/@default/clusters/cluster/node/node.html @@ -122,6 +122,24 @@ 没有限制。 + + 缓存磁盘容量 + + 没有限制 +
+ +
+ + + + 缓存内存容量 + + 没有限制 +
+ +
+ +
diff --git a/web/views/@default/clusters/cluster/node/update.html b/web/views/@default/clusters/cluster/node/update.html index 4dd7eef8..9df2c4ca 100644 --- a/web/views/@default/clusters/cluster/node/update.html +++ b/web/views/@default/clusters/cluster/node/update.html @@ -1,97 +1,111 @@ {$layout} - {$template "node_menu"} +{$template "node_menu"} -

修改节点

-
- - - - - - - - - - - - - - - - - - - +

修改节点

+ + + +
节点名称 * - -
IP地址 * - -

用于访问节点和域名解析等。

-
DNS线路 - - -

当前节点对应的DNS线路,可用线路是根据集群设置的域名获取的,注意DNS服务商可能对这些线路有其他限制。

-
所属集群 - -
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
节点名称 * + +
IP地址 * + +

用于访问节点和域名解析等。

+
DNS线路 + + +

当前节点对应的DNS线路,可用线路是根据集群设置的域名获取的,注意DNS服务商可能对这些线路有其他限制。

+
所属集群 + +
所属区域 + +

设置区域后才能根据区域进行流量统计和计费。

+
所属分组 + +

仅用来筛选服务。

+
所属区域SSH主机地址 - -

设置区域后才能根据区域进行流量统计和计费。

+ +

比如192.168.1.100

所属分组 - -

仅用来筛选服务。

-
SSH主机地址 - -

比如192.168.1.100

-
SSH主机端口 - -

比如22。

-
SSH登录认证 - -
CPU线程数 - -

当前节点可以使用的最多的CPU线程数,如果为0表示可以使用全部CPU。

-
是否启用 -
- - -
-

如果不启用此节点,此节点上的所有服务将不能访问。

-
- -
\ No newline at end of file + + SSH主机端口 + + +

比如22。

+ + + + SSH登录认证 + + + + + + CPU线程数 + + +

当前节点可以使用的最多的CPU线程数,如果为0表示可以使用全部CPU。

+ + + + 缓存磁盘容量 + + +

缓存能使用的磁盘的最大容量,0表示不限制。

+ + + + 缓存内存容量 + + +

缓存能使用的内存的最大容量,0表示不限制。

+ + + + 是否启用 + +
+ + +
+

如果不启用此节点,此节点上的所有服务将不能访问。

+ + + + + + \ No newline at end of file