refactor: 全局重命名 k8s → kubernetes (前后端+路由+表名+文件)
后端: - pkg/k8sclient → pkg/kubernetesclient - models/k8s.go → models/kubernetes.go - handlers/k8s.go → handlers/kubernetes.go - K8sCluster/K8sNode/.. → KubernetesCluster/KubernetesNode/.. - K8sHandler → KubernetesHandler - 路由: /k8s-clusters → /kubernetes-clusters - 路由: /k8s/:code/namespace/:ns/... → /kubernetes/:code/namespace/:ns/... (Kuboard风格) - 表前缀: container_k8s_ → container_kubernetes_ 前端: - components/k8s/ → components/kubernetes/ - K8sClusters → KubernetesClusters - K8sWorkloads → KubernetesWorkloads - K8sNodes → KubernetesNodes - k8sApi → kubernetesApi - 路由前缀: /k8s/ → /kubernetes/ 测试验证: ✅ /kubernetes/k8s-cluster-liren/namespace/kube-system/deployments → 3 items ✅ /kubernetes/k8s-cluster-liren/namespace/kube-system/pods → 7 items ✅ /kubernetes/k8s-cluster-liren/namespace/kube-system/services → 4 items ✅ /kubernetes/k8s-cluster-liren/namespace/kube-system/configmaps → 6 items ✅ /kubernetes/k8s-cluster-liren/namespace/kube-system/secrets → 1 item ✅ /kubernetes/k8s-cluster-liren/namespaces → 4 items
This commit is contained in:
1 parent
f7b667b878
commit
cac1414917
27 files changed
+779
-284
No files matched your search
@@ -43,7 +43,7 @@ func generateMockData(db *gorm.DB) error {
|
||||
if err := generateDomains(db); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := generateK8sClusters(db); err != nil {
|
||||
if err := generateKubernetesClusters(db); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := generateAlertRules(db); err != nil {
|
||||
@@ -164,8 +164,8 @@ func generateDomains(db *gorm.DB) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func generateK8sClusters(db *gorm.DB) error {
|
||||
clusters := []models.K8sCluster{
|
||||
func generateKubernetesClusters(db *gorm.DB) error {
|
||||
clusters := []models.KubernetesCluster{
|
||||
{Name: "prod-cluster", Code: "prod", Version: "v1.28.0", Status: "healthy", NodeCount: 10, PodCount: 150, ServiceCount: 30, DeploymentCount: 15, APIEndpoint: "https://prod-api.ezops.local:6443", CPUUsage: 65.5, MemoryUsage: 72.3, Description: "生产环境 Kubernetes 集群"},
|
||||
{Name: "staging-cluster", Code: "staging", Version: "v1.28.0", Status: "healthy", NodeCount: 5, PodCount: 80, ServiceCount: 15, DeploymentCount: 10, APIEndpoint: "https://staging-api.ezops.local:6443", CPUUsage: 45.2, MemoryUsage: 55.0, Description: "预发环境 Kubernetes 集群"},
|
||||
{Name: "dev-cluster", Code: "dev", Version: "v1.27.0", Status: "warning", NodeCount: 3, PodCount: 45, ServiceCount: 8, DeploymentCount: 8, APIEndpoint: "https://dev-api.ezops.local:6443", CPUUsage: 80.1, MemoryUsage: 85.0, Description: "开发环境 Kubernetes 集群"},
|
||||
@@ -179,7 +179,7 @@ func generateK8sClusters(db *gorm.DB) error {
|
||||
for _, cluster := range clusters {
|
||||
// 生成节点
|
||||
for j := 0; j < cluster.NodeCount; j++ {
|
||||
node := models.K8sNode{
|
||||
node := models.KubernetesNode{
|
||||
ClusterID: cluster.ID,
|
||||
Name: fmt.Sprintf("%s-node-%d", cluster.Code, j+1),
|
||||
IP: fmt.Sprintf("192.168.%d.%d", rand.Intn(256), rand.Intn(256)),
|
||||
@@ -227,7 +227,7 @@ func generateK8sClusters(db *gorm.DB) error {
|
||||
if available < 0 {
|
||||
available = 0
|
||||
}
|
||||
dep := models.K8sDeployment{
|
||||
dep := models.KubernetesDeployment{
|
||||
ClusterID: cluster.ID,
|
||||
Namespace: namespaces[rand.Intn(len(namespaces))],
|
||||
Name: depNames[d],
|
||||
@@ -253,7 +253,7 @@ func generateK8sClusters(db *gorm.DB) error {
|
||||
}
|
||||
for p := 0; p < numPods; p++ {
|
||||
status := podStatuses[rand.Intn(len(podStatuses))]
|
||||
pod := models.K8sPod{
|
||||
pod := models.KubernetesPod{
|
||||
ClusterID: cluster.ID,
|
||||
Namespace: namespaces[rand.Intn(len(namespaces))],
|
||||
Name: fmt.Sprintf("%s-pod-%d", cluster.Code, p+1),
|
||||
@@ -297,7 +297,7 @@ func generateK8sClusters(db *gorm.DB) error {
|
||||
default:
|
||||
ports = `[{"port":3306,"protocol":"TCP","targetPort":3306}]`
|
||||
}
|
||||
svc := models.K8sService{
|
||||
svc := models.KubernetesService{
|
||||
ClusterID: cluster.ID,
|
||||
Namespace: namespaces[rand.Intn(len(namespaces))],
|
||||
Name: svcNames[s],
|
||||
@@ -323,7 +323,7 @@ func generateK8sClusters(db *gorm.DB) error {
|
||||
numIngs := 2 + rand.Intn(3)
|
||||
for ig := 0; ig < numIngs && ig < len(ingNames); ig++ {
|
||||
hosts := fmt.Sprintf(`["%s.ezops.local"]`, ingNames[ig])
|
||||
ing := models.K8sIngress{
|
||||
ing := models.KubernetesIngress{
|
||||
ClusterID: cluster.ID,
|
||||
Namespace: namespaces[rand.Intn(len(namespaces))],
|
||||
Name: ingNames[ig],
|
||||
|
||||
+10
-10
@@ -1,5 +1,5 @@
|
||||
// Standalone script: seed K8s Pods/Deployments/Services/Ingresses for existing clusters.
|
||||
// Usage: go run scripts/seed_k8s_resources.go
|
||||
// Usage: go run scripts/seed_kubernetes_resources.go
|
||||
//go:build ignore
|
||||
|
||||
package main
|
||||
@@ -23,7 +23,7 @@ func main() {
|
||||
}
|
||||
rand.Seed(time.Now().UnixNano())
|
||||
|
||||
var clusters []models.K8sCluster
|
||||
var clusters []models.KubernetesCluster
|
||||
db.Find(&clusters)
|
||||
if len(clusters) == 0 {
|
||||
fmt.Println("No clusters found — run mock.go first")
|
||||
@@ -54,7 +54,7 @@ func main() {
|
||||
for _, cluster := range clusters {
|
||||
// Skip if pods already exist for this cluster
|
||||
var podCount int64
|
||||
db.Model(&models.K8sPod{}).Where("cluster_id = ?", cluster.ID).Count(&podCount)
|
||||
db.Model(&models.KubernetesPod{}).Where("cluster_id = ?", cluster.ID).Count(&podCount)
|
||||
if podCount > 0 {
|
||||
fmt.Printf("Cluster %s already has %d pods, skipping\n", cluster.Name, podCount)
|
||||
continue
|
||||
@@ -79,7 +79,7 @@ func main() {
|
||||
if available < 0 {
|
||||
available = 0
|
||||
}
|
||||
db.Create(&models.K8sDeployment{
|
||||
db.Create(&models.KubernetesDeployment{
|
||||
ClusterID: cluster.ID,
|
||||
Namespace: namespaces[rand.Intn(len(namespaces))],
|
||||
Name: depNames[d],
|
||||
@@ -94,7 +94,7 @@ func main() {
|
||||
// Pods
|
||||
numPods := 12 + rand.Intn(18)
|
||||
for p := 0; p < numPods; p++ {
|
||||
db.Create(&models.K8sPod{
|
||||
db.Create(&models.KubernetesPod{
|
||||
ClusterID: cluster.ID,
|
||||
Namespace: namespaces[rand.Intn(len(namespaces))],
|
||||
Name: fmt.Sprintf("%s-pod-%d", cluster.Code, p+1),
|
||||
@@ -126,7 +126,7 @@ func main() {
|
||||
default:
|
||||
ports = `[{"port":3306,"protocol":"TCP","targetPort":3306}]`
|
||||
}
|
||||
svc := models.K8sService{
|
||||
svc := models.KubernetesService{
|
||||
ClusterID: cluster.ID,
|
||||
Namespace: namespaces[rand.Intn(len(namespaces))],
|
||||
Name: svcNames[s],
|
||||
@@ -150,7 +150,7 @@ func main() {
|
||||
numIngs = len(ingNames)
|
||||
}
|
||||
for ig := 0; ig < numIngs; ig++ {
|
||||
db.Create(&models.K8sIngress{
|
||||
db.Create(&models.KubernetesIngress{
|
||||
ClusterID: cluster.ID,
|
||||
Namespace: namespaces[rand.Intn(len(namespaces))],
|
||||
Name: ingNames[ig],
|
||||
@@ -162,9 +162,9 @@ func main() {
|
||||
|
||||
// Update cluster counts to match actual data
|
||||
var depCnt, podCnt, svcCnt int64
|
||||
db.Model(&models.K8sDeployment{}).Where("cluster_id = ?", cluster.ID).Count(&depCnt)
|
||||
db.Model(&models.K8sPod{}).Where("cluster_id = ?", cluster.ID).Count(&podCnt)
|
||||
db.Model(&models.K8sService{}).Where("cluster_id = ?", cluster.ID).Count(&svcCnt)
|
||||
db.Model(&models.KubernetesDeployment{}).Where("cluster_id = ?", cluster.ID).Count(&depCnt)
|
||||
db.Model(&models.KubernetesPod{}).Where("cluster_id = ?", cluster.ID).Count(&podCnt)
|
||||
db.Model(&models.KubernetesService{}).Where("cluster_id = ?", cluster.ID).Count(&svcCnt)
|
||||
db.Model(&cluster).Updates(map[string]interface{}{
|
||||
"deployment_count": depCnt,
|
||||
})
|
||||
Reference in new issue
Block a user