update
This commit is contained in:
1 parent
0690285147
commit
5618cd2738
154 files changed
+5021
-3161
No files matched your search
@@ -305,20 +305,20 @@ func (h *KubernetesHandler) GetNodeDetail(c *gin.Context) {
|
||||
}
|
||||
|
||||
detail := map[string]interface{}{
|
||||
"name": node.Metadata.Name,
|
||||
"role": role,
|
||||
"status": nodeStatus,
|
||||
"creation_time": node.Metadata.CreationTimestamp,
|
||||
"internal_ip": internalIP,
|
||||
"external_ip": externalIP,
|
||||
"hostname": hostname,
|
||||
"pod_cidr": node.Spec.PodCIDR,
|
||||
"name": node.Metadata.Name,
|
||||
"role": role,
|
||||
"status": nodeStatus,
|
||||
"creation_time": node.Metadata.CreationTimestamp,
|
||||
"internal_ip": internalIP,
|
||||
"external_ip": externalIP,
|
||||
"hostname": hostname,
|
||||
"pod_cidr": node.Spec.PodCIDR,
|
||||
"container_runtime": node.Status.NodeInfo.ContainerRuntimeVersion,
|
||||
"kubelet_version": node.Status.NodeInfo.KubeletVersion,
|
||||
"os_image": node.Status.NodeInfo.OSImage,
|
||||
"kernel_version": node.Status.NodeInfo.KernelVersion,
|
||||
"architecture": node.Status.NodeInfo.Architecture,
|
||||
"operating_system": node.Status.NodeInfo.OperatingSystem,
|
||||
"kubelet_version": node.Status.NodeInfo.KubeletVersion,
|
||||
"os_image": node.Status.NodeInfo.OSImage,
|
||||
"kernel_version": node.Status.NodeInfo.KernelVersion,
|
||||
"architecture": node.Status.NodeInfo.Architecture,
|
||||
"operating_system": node.Status.NodeInfo.OperatingSystem,
|
||||
// Capacity & Allocatable
|
||||
"capacity": node.Status.Capacity,
|
||||
"allocatable": node.Status.Allocatable,
|
||||
@@ -326,18 +326,18 @@ func (h *KubernetesHandler) GetNodeDetail(c *gin.Context) {
|
||||
"cpu_usage_m": cpuUsageM,
|
||||
"mem_usage_mi": memUsageMi,
|
||||
// Allocation
|
||||
"pod_count": podCount,
|
||||
"cpu_request_m": totalCPURequestM,
|
||||
"mem_request_mi": totalMemRequestMi,
|
||||
"cpu_alloc_pct": cpuAllocPct,
|
||||
"mem_alloc_pct": memAllocPct,
|
||||
"pod_alloc_pct": podAllocPct,
|
||||
"cpu_capacity": capCPU,
|
||||
"cpu_allocatable": allocCPU,
|
||||
"mem_capacity_mb": capMem,
|
||||
"pod_count": podCount,
|
||||
"cpu_request_m": totalCPURequestM,
|
||||
"mem_request_mi": totalMemRequestMi,
|
||||
"cpu_alloc_pct": cpuAllocPct,
|
||||
"mem_alloc_pct": memAllocPct,
|
||||
"pod_alloc_pct": podAllocPct,
|
||||
"cpu_capacity": capCPU,
|
||||
"cpu_allocatable": allocCPU,
|
||||
"mem_capacity_mb": capMem,
|
||||
"mem_allocatable_mb": allocMem,
|
||||
"pod_capacity": capPods,
|
||||
"pod_allocatable": allocPods,
|
||||
"pod_capacity": capPods,
|
||||
"pod_allocatable": allocPods,
|
||||
// Lists
|
||||
"conditions": conditions,
|
||||
"taints": taints,
|
||||
@@ -397,20 +397,29 @@ func parseMemToMi(val string) int64 {
|
||||
// @Router /kubernetes-clusters/{id}/pods [get]
|
||||
func (h *KubernetesHandler) GetCapacityAnalysis(c *gin.Context) {
|
||||
clusterID := h.resolveClusterCode(c.Param("clusterCode"))
|
||||
if clusterID == 0 { c.JSON(500, model.Response{Code: 500, Message: "cluster not found"}); return }
|
||||
if clusterID == 0 {
|
||||
c.JSON(500, model.Response{Code: 500, Message: "cluster not found"})
|
||||
return
|
||||
}
|
||||
client, _, err := h.getK8sClient(clusterID)
|
||||
if err != nil { c.JSON(500, model.Response{Code: 500, Message: err.Error()}); return }
|
||||
if err != nil {
|
||||
c.JSON(500, model.Response{Code: 500, Message: err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
ns := c.Query("namespace")
|
||||
deps, err := client.ListDeployments()
|
||||
if err != nil { c.JSON(500, model.Response{Code: 500, Message: "K8s API error: " + err.Error()}); return }
|
||||
if err != nil {
|
||||
c.JSON(500, model.Response{Code: 500, Message: "K8s API error: " + err.Error()})
|
||||
return
|
||||
}
|
||||
|
||||
type ContainerResource struct {
|
||||
Name string `json:"name"`
|
||||
CPUReq string `json:"cpu_request"`
|
||||
CPULim string `json:"cpu_limit"`
|
||||
MemReq string `json:"mem_request"`
|
||||
MemLim string `json:"mem_limit"`
|
||||
Name string `json:"name"`
|
||||
CPUReq string `json:"cpu_request"`
|
||||
CPULim string `json:"cpu_limit"`
|
||||
MemReq string `json:"mem_request"`
|
||||
MemLim string `json:"mem_limit"`
|
||||
}
|
||||
type CapacityRow struct {
|
||||
Namespace string `json:"namespace"`
|
||||
@@ -420,7 +429,9 @@ func (h *KubernetesHandler) GetCapacityAnalysis(c *gin.Context) {
|
||||
}
|
||||
result := []CapacityRow{}
|
||||
for _, d := range deps.Items {
|
||||
if ns != "" && d.Metadata.Namespace != ns { continue }
|
||||
if ns != "" && d.Metadata.Namespace != ns {
|
||||
continue
|
||||
}
|
||||
containers := []ContainerResource{}
|
||||
for _, c := range d.Spec.Template.Spec.Containers {
|
||||
cpuReq := c.Resources.Requests["cpu"]
|
||||
|
||||
Reference in new issue
Block a user