forked from nudtpc/pcm-kubernetes
fix Coroutines refer to the problem of circular variables
This commit is contained in:
parent
49a59a4d05
commit
0c209f4355
|
@ -34,6 +34,7 @@ func (l *GetAppDetailLogic) GetAppDetail(in *kubernetes.AppDetailReq) (*kubernet
|
|||
wg.Add(len(pkg.KClients))
|
||||
//查询指定集群下指定命名空间下和名字的deployment详情
|
||||
for k := range pkg.KClients {
|
||||
cli := k
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
//转换赋值
|
||||
|
@ -47,17 +48,17 @@ func (l *GetAppDetailLogic) GetAppDetail(in *kubernetes.AppDetailReq) (*kubernet
|
|||
kSecret kubernetes.Secret
|
||||
)
|
||||
appDetail := kubernetes.AppDetail{
|
||||
ClusterName: k,
|
||||
ClusterName: cli,
|
||||
}
|
||||
//获取指定命名空间下的deployment
|
||||
deployment, err := pkg.KClients[k].ClientSet.AppsV1().Deployments(in.Namespace).Get(l.ctx, in.Name, metav1.GetOptions{})
|
||||
deployment, err := pkg.KClients[cli].ClientSet.AppsV1().Deployments(in.Namespace).Get(l.ctx, in.Name, metav1.GetOptions{})
|
||||
if err == nil {
|
||||
tool.Convert(deployment, &kDeployment)
|
||||
appDetail.Deployment = &kDeployment
|
||||
}
|
||||
|
||||
//查询指定集群下指定命名空间下和名字的statefulSets详情
|
||||
statefulSets, err := pkg.KClients[k].ClientSet.AppsV1().StatefulSets(in.Namespace).Get(l.ctx, in.Name, metav1.GetOptions{})
|
||||
statefulSets, err := pkg.KClients[cli].ClientSet.AppsV1().StatefulSets(in.Namespace).Get(l.ctx, in.Name, metav1.GetOptions{})
|
||||
if err == nil {
|
||||
tool.Convert(statefulSets, &kStatefulSets)
|
||||
appDetail.StatefulSet = &kStatefulSets
|
||||
|
@ -66,31 +67,31 @@ func (l *GetAppDetailLogic) GetAppDetail(in *kubernetes.AppDetailReq) (*kubernet
|
|||
// 查询 Ingress 资源
|
||||
labelSelector := fmt.Sprintf("cloud.sealos.io/app-deploy-manager=%s", in.Name)
|
||||
// 执行查询操作,获取匹配标签的 Ingress 资源列表
|
||||
ingresses, err := pkg.KClients[k].ClientSet.NetworkingV1().Ingresses(in.Namespace).List(l.ctx, metav1.ListOptions{LabelSelector: labelSelector})
|
||||
ingresses, err := pkg.KClients[cli].ClientSet.NetworkingV1().Ingresses(in.Namespace).List(l.ctx, metav1.ListOptions{LabelSelector: labelSelector})
|
||||
if err == nil {
|
||||
tool.Convert(ingresses, &kIngresses)
|
||||
appDetail.IngressList = &kIngresses
|
||||
}
|
||||
|
||||
//查询 Service 资源
|
||||
service, err := pkg.KClients[k].ClientSet.CoreV1().Services(in.Namespace).Get(l.ctx, in.Name, metav1.GetOptions{})
|
||||
service, err := pkg.KClients[cli].ClientSet.CoreV1().Services(in.Namespace).Get(l.ctx, in.Name, metav1.GetOptions{})
|
||||
if err == nil {
|
||||
tool.Convert(service, &kService)
|
||||
appDetail.Service = &kService
|
||||
}
|
||||
//查询configmap
|
||||
configmap, err := pkg.KClients[k].ClientSet.CoreV1().ConfigMaps(in.Namespace).Get(l.ctx, in.Name, metav1.GetOptions{})
|
||||
configmap, err := pkg.KClients[cli].ClientSet.CoreV1().ConfigMaps(in.Namespace).Get(l.ctx, in.Name, metav1.GetOptions{})
|
||||
if err == nil {
|
||||
tool.Convert(configmap, &kConfigMap)
|
||||
appDetail.ConfigMap = &kConfigMap
|
||||
}
|
||||
//查询hpa
|
||||
hpa, err := pkg.KClients[k].ClientSet.AutoscalingV1().HorizontalPodAutoscalers(in.Namespace).Get(l.ctx, in.Name, metav1.GetOptions{})
|
||||
hpa, err := pkg.KClients[cli].ClientSet.AutoscalingV1().HorizontalPodAutoscalers(in.Namespace).Get(l.ctx, in.Name, metav1.GetOptions{})
|
||||
if err == nil {
|
||||
tool.Convert(hpa, &kHpa)
|
||||
appDetail.HorizontalPodAutoscaler = &kHpa
|
||||
}
|
||||
secret, err := pkg.KClients[k].ClientSet.CoreV1().Secrets(in.Namespace).Get(l.ctx, in.Name, metav1.GetOptions{})
|
||||
secret, err := pkg.KClients[cli].ClientSet.CoreV1().Secrets(in.Namespace).Get(l.ctx, in.Name, metav1.GetOptions{})
|
||||
if err == nil {
|
||||
tool.Convert(secret, &kSecret)
|
||||
appDetail.Secret = &kSecret
|
||||
|
|
|
@ -35,6 +35,7 @@ func (l *GetAppPodsByAppNameLogic) GetAppPodsByAppName(in *kubernetes.AppDetailR
|
|||
wg.Add(len(pkg.KClients))
|
||||
//查询指定集群下指定命名空间下和名字的deployment详情
|
||||
for k, _ := range pkg.KClients {
|
||||
cli := k
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
appDetail := kubernetes.PodDetail{}
|
||||
|
@ -42,12 +43,12 @@ func (l *GetAppPodsByAppNameLogic) GetAppPodsByAppName(in *kubernetes.AppDetailR
|
|||
appSelector := fmt.Sprintf("app=%s", in.Name)
|
||||
var KPodList []*kubernetes.Pod
|
||||
//查询pods
|
||||
pods, err := pkg.KClients[k].ClientSet.CoreV1().Pods(in.Namespace).List(context.Background(), metav1.ListOptions{LabelSelector: appSelector})
|
||||
pods, err := pkg.KClients[cli].ClientSet.CoreV1().Pods(in.Namespace).List(context.Background(), metav1.ListOptions{LabelSelector: appSelector})
|
||||
if err != nil {
|
||||
logx.Error(err.Error())
|
||||
}
|
||||
//查询指定集群下指定命名空间下和名字的statefulSets详情
|
||||
statefulSets, _ := pkg.KClients[k].ClientSet.AppsV1().StatefulSets(in.Namespace).Get(context.Background(), in.Name, metav1.GetOptions{})
|
||||
statefulSets, _ := pkg.KClients[cli].ClientSet.AppsV1().StatefulSets(in.Namespace).Get(context.Background(), in.Name, metav1.GetOptions{})
|
||||
//计算存储卷大小
|
||||
if statefulSets.Spec.VolumeClaimTemplates != nil {
|
||||
//存储卷大小求和
|
||||
|
@ -60,7 +61,7 @@ func (l *GetAppPodsByAppNameLogic) GetAppPodsByAppName(in *kubernetes.AppDetailR
|
|||
if len(pods.Items) > 0 {
|
||||
tool.Convert(pods.Items, &KPodList)
|
||||
appDetail.PodList = KPodList
|
||||
appDetail.ClusterName = k
|
||||
appDetail.ClusterName = cli
|
||||
details = append(details, &appDetail)
|
||||
}
|
||||
}()
|
||||
|
|
Loading…
Reference in New Issue