Compare commits
No commits in common. "master" and "develop" have entirely different histories.
|
@ -1,3 +0,0 @@
|
|||
# pcm-kubernetes-new
|
||||
|
||||
> nacos 配置域名为**nacos.jcce.dev**; 服务器hosts配置**nacos.jcce.dev**指向nacos地址即可。
|
|
@ -23,7 +23,7 @@ system:
|
|||
port: 8082
|
||||
stack: true
|
||||
name: pcm-kubernetes
|
||||
adapter-id: 1752857389213683712
|
||||
adapter-id: 1792747533609472000
|
||||
core-server-url: http://localhost:8999
|
||||
|
||||
# 跨域配置
|
||||
|
|
|
@ -38,7 +38,7 @@ func NewAPIServer() {
|
|||
type Cluster struct {
|
||||
Name string `json:"name"`
|
||||
Server string `json:"server"`
|
||||
BearerToken string `json:"bearerToken"`
|
||||
Token string `json:"token"`
|
||||
MonitorServer string `json:"monitorServer"`
|
||||
}
|
||||
|
||||
|
@ -65,7 +65,7 @@ func (s *APIServer) installClusters() {
|
|||
s.Clusters = append(s.Clusters, &Cluster{
|
||||
Name: remoteClusterInfo.Name,
|
||||
Server: remoteClusterInfo.Server,
|
||||
BearerToken: remoteClusterInfo.Token,
|
||||
Token: remoteClusterInfo.Token,
|
||||
MonitorServer: remoteClusterInfo.MonitorServer,
|
||||
})
|
||||
}
|
||||
|
@ -74,11 +74,11 @@ func (s *APIServer) installClusters() {
|
|||
|
||||
func (s *APIServer) installK8sClient() {
|
||||
for _, cluster := range s.Clusters {
|
||||
if len(cluster.Server) != 0 && len(cluster.BearerToken) != 0 {
|
||||
if len(cluster.Server) != 0 && len(cluster.Token) != 0 {
|
||||
restConfig := &rest.Config{
|
||||
Timeout: 10 * time.Second,
|
||||
Host: cluster.Server,
|
||||
BearerToken: cluster.BearerToken,
|
||||
BearerToken: cluster.Token,
|
||||
TLSClientConfig: rest.TLSClientConfig{
|
||||
Insecure: true,
|
||||
},
|
||||
|
@ -109,3 +109,39 @@ func (s *APIServer) installMonitoring() {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (s *APIServer) AddClusterInfo(cluster Cluster) error {
|
||||
// add cluster info
|
||||
s.Clusters = append(s.Clusters, &cluster)
|
||||
|
||||
// add prometheus client
|
||||
prometheusClient, err := prometheus.NewPrometheus(cluster.MonitorServer)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
s.MonitoringClientMap[cluster.Name] = prometheusClient
|
||||
|
||||
// add kubernetes client
|
||||
restConfig := &rest.Config{
|
||||
Timeout: 10 * time.Second,
|
||||
Host: cluster.Server,
|
||||
BearerToken: cluster.Token,
|
||||
TLSClientConfig: rest.TLSClientConfig{
|
||||
Insecure: true,
|
||||
},
|
||||
}
|
||||
dynamicClient, err := dynamic.NewForConfig(restConfig)
|
||||
if err != nil {
|
||||
global.PCM_LOG.Error("init dynamicClient error.", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
s.DynamicClientMap[cluster.Name] = dynamicClient
|
||||
|
||||
clientSet, err := kubernetes.NewForConfig(restConfig)
|
||||
if err != nil {
|
||||
global.PCM_LOG.Error("init clientSet error.", zap.Error(err))
|
||||
return err
|
||||
}
|
||||
s.ClientSetMap[cluster.Name] = clientSet
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -107,15 +107,17 @@ func syncClusterLoadRecords() {
|
|||
req := SyncClusterLoadReq{
|
||||
ClusterLoadRecords: res,
|
||||
}
|
||||
resp, err := apiserver.ApiServer.HttpClient.R().SetBody(req).
|
||||
ForceContentType("application/json").
|
||||
Post(global.PCM_CONFIG.System.CoreServerUrl + "/pcm/v1/core/syncClusterLoad")
|
||||
if res != nil && len(res) != 0 {
|
||||
resp, err := apiserver.ApiServer.HttpClient.R().SetBody(req).
|
||||
ForceContentType("application/json").
|
||||
Post(global.PCM_CONFIG.System.CoreServerUrl + "/pcm/v1/core/syncClusterLoad")
|
||||
|
||||
if err != nil {
|
||||
logx.Error(err)
|
||||
}
|
||||
if resp.StatusCode() != 200 {
|
||||
logx.Error(resp.String())
|
||||
if err != nil {
|
||||
logx.Error(err)
|
||||
}
|
||||
if resp.StatusCode() != 200 {
|
||||
logx.Error(resp.String())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
package v1
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"jcc-schedule/pkg/apiserver"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
func AddClusterInfo(ctx *gin.Context) {
|
||||
var p apiserver.Cluster
|
||||
if err := ctx.BindJSON(&p); err != nil {
|
||||
Response(ctx, http.StatusBadRequest, "invalid request params.", "")
|
||||
return
|
||||
}
|
||||
apiserver.ApiServer.AddClusterInfo(p)
|
||||
}
|
|
@ -13,6 +13,10 @@ func InitRouter() *gin.Engine {
|
|||
//api分组
|
||||
apiv1 := r.Group("/api/v1")
|
||||
{
|
||||
|
||||
// cluster
|
||||
cluster := apiv1.Group("cluster")
|
||||
cluster.POST("/info", v1.AddClusterInfo)
|
||||
//Namespace
|
||||
namespace := apiv1.Group("namespace")
|
||||
namespace.GET("/list", v1.ListNamespace)
|
||||
|
|
Loading…
Reference in New Issue