Use client generator to generate all k8s clients and add respective client-go metrics (#2668)
* Define client generator to generate all k8s clients * Increase QPS and burst values * Capture client-go metrics * Support for controller runtime metrics Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
This commit is contained in:
@@ -68,8 +68,8 @@ type (
|
||||
}
|
||||
)
|
||||
|
||||
func MakeAPI(logger *zap.Logger) (*API, error) {
|
||||
api, err := makeCRDBackedAPI(logger)
|
||||
func MakeAPI(logger *zap.Logger, fissionClient versioned.Interface, kubernetesClient kubernetes.Interface) (*API, error) {
|
||||
api, err := makeCRDBackedAPI(logger, fissionClient, kubernetesClient)
|
||||
|
||||
u := os.Getenv("STORAGE_SERVICE_URL")
|
||||
if len(u) > 0 {
|
||||
|
||||
@@ -503,7 +503,8 @@ func TestMain(m *testing.M) {
|
||||
return
|
||||
}
|
||||
|
||||
_, kubeClient, _, _, err := crd.GetKubernetesClient()
|
||||
clientGen := crd.NewClientGenerator()
|
||||
kubeClient, err := clientGen.GetKubernetesClient()
|
||||
panicIf(err)
|
||||
|
||||
// testNS isolation for running multiple CI builds concurrently.
|
||||
|
||||
@@ -27,9 +27,18 @@ import (
|
||||
func Start(ctx context.Context, logger *zap.Logger, port int, unitTestFlag bool) {
|
||||
cLogger := logger.Named("controller")
|
||||
|
||||
fc, _, apiExtClient, _, err := crd.MakeFissionClient()
|
||||
clientGen := crd.NewClientGenerator()
|
||||
fissionClient, err := clientGen.GetFissionClient()
|
||||
if err != nil {
|
||||
cLogger.Fatal("failed to connect to k8s API", zap.Error(err))
|
||||
cLogger.Fatal("failed to get fission client", zap.Error(err))
|
||||
}
|
||||
apiExtClient, err := clientGen.GetApiExtensionsClient()
|
||||
if err != nil {
|
||||
cLogger.Fatal("failed to get api extension client client", zap.Error(err))
|
||||
}
|
||||
kubeClient, err := clientGen.GetKubernetesClient()
|
||||
if err != nil {
|
||||
cLogger.Fatal("failed to get kubernetes client", zap.Error(err))
|
||||
}
|
||||
|
||||
err = crd.EnsureFissionCRDs(ctx, cLogger, apiExtClient)
|
||||
@@ -37,12 +46,12 @@ func Start(ctx context.Context, logger *zap.Logger, port int, unitTestFlag bool)
|
||||
cLogger.Fatal("failed to find fission CRDs", zap.Error(err))
|
||||
}
|
||||
|
||||
err = crd.WaitForCRDs(ctx, logger, fc)
|
||||
err = crd.WaitForCRDs(ctx, logger, fissionClient)
|
||||
if err != nil {
|
||||
cLogger.Fatal("error waiting for CRDs", zap.Error(err))
|
||||
}
|
||||
|
||||
api, err := MakeAPI(cLogger)
|
||||
api, err := MakeAPI(cLogger, fissionClient, kubeClient)
|
||||
if err != nil {
|
||||
cLogger.Fatal("failed to start controller", zap.Error(err))
|
||||
}
|
||||
|
||||
@@ -18,15 +18,12 @@ package controller
|
||||
|
||||
import (
|
||||
"go.uber.org/zap"
|
||||
"k8s.io/client-go/kubernetes"
|
||||
|
||||
"github.com/fission/fission/pkg/crd"
|
||||
"github.com/fission/fission/pkg/generated/clientset/versioned"
|
||||
)
|
||||
|
||||
func makeCRDBackedAPI(logger *zap.Logger) (*API, error) {
|
||||
fissionClient, kubernetesClient, _, _, err := crd.MakeFissionClient()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
func makeCRDBackedAPI(logger *zap.Logger, fissionClient versioned.Interface, kubernetesClient kubernetes.Interface) (*API, error) {
|
||||
return &API{
|
||||
logger: logger.Named("api"),
|
||||
fissionClient: fissionClient,
|
||||
|
||||
Reference in New Issue
Block a user