Skip to content

Commit

Permalink
Upgrading k8s.io/client.go to support k8s 1.16
Browse files Browse the repository at this point in the history
Kubernetes 1.16 has a different API for events, and even though
core v1 is still supported it looks like the number of events
has reduced, this change helps the effort to support the newer api.
  • Loading branch information
rralcala committed Mar 16, 2020
1 parent 34eeaf4 commit ba7d568
Show file tree
Hide file tree
Showing 5 changed files with 131 additions and 69 deletions.
4 changes: 1 addition & 3 deletions api/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,9 @@ import (
"net/http"

"github.com/prometheus/client_golang/prometheus/promhttp"
"k8s.io/apiserver/pkg/server/healthz"
)

func init() {
healthz.InstallHandler(http.DefaultServeMux, healthzChecker())

http.HandleFunc("/healtz", healthzChecker)
http.Handle("/metrics", promhttp.Handler())
}
28 changes: 13 additions & 15 deletions api/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,11 @@
package api

import (
"errors"
"fmt"
"net/http"
"time"

"github.com/AliyunContainerService/kube-eventer/manager"
"k8s.io/apiserver/pkg/server/healthz"
"k8s.io/klog"
)

Expand All @@ -30,18 +28,18 @@ const (
MaxEventsScrapeDelay = 3 * time.Minute
)

func healthzChecker() healthz.HealthzChecker {
return healthz.NamedCheck("healthz", func(r *http.Request) error {
if time.Since(manager.LatestScrapeTime) > MaxEventsScrapeDelay {
msg := fmt.Sprintf(
"No event batch within %s (latest: %s)",
MaxEventsScrapeDelay,
manager.LatestScrapeTime,
)
klog.Warning(msg)
return errors.New(msg)
}
func healthzChecker(w http.ResponseWriter, r *http.Request) {
if time.Since(manager.LatestScrapeTime) > MaxEventsScrapeDelay {
msg := fmt.Sprintf(
"No event batch within %s (latest: %s)",
MaxEventsScrapeDelay,
manager.LatestScrapeTime,
)
klog.Warning(msg)
w.WriteHeader(http.StatusInternalServerError)
w.Write([]byte(fmt.Sprintf("error: %s", msg)))

return nil
})
}
w.WriteHeader(http.StatusOK)
w.Write([]byte("ok"))
}
2 changes: 1 addition & 1 deletion deploy/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM golang:1.12.6 AS build-env
FROM golang:1.14 AS build-env
ADD . /src/github.com/AliyunContainerService/kube-eventer
ENV GOPATH /:/src/github.com/AliyunContainerService/kube-eventer/vendor
ENV GO111MODULE on
Expand Down
37 changes: 9 additions & 28 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -7,44 +7,25 @@ require (
github.com/aws/aws-sdk-go v1.19.6
github.com/denverdino/aliyungo v0.0.0-20190410085603-611ead8a6fed
github.com/go-sql-driver/mysql v1.4.1
github.com/golang/protobuf v1.3.1
github.com/golang/protobuf v1.3.2
github.com/google/cadvisor v0.33.1
github.com/google/gofuzz v1.0.0 // indirect
github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d // indirect
github.com/imdario/mergo v0.3.7 // indirect
github.com/influxdata/influxdb v1.7.7
github.com/kr/pretty v0.1.0 // indirect
github.com/olivere/elastic v6.2.23+incompatible
github.com/mailru/easyjson v0.7.0 // indirect
github.com/olivere/elastic v6.2.23+incompatible // indirect
github.com/olivere/elastic/v7 v7.0.6
github.com/pborman/uuid v1.2.0
github.com/prometheus/client_golang v1.0.0
github.com/riemann/riemann-go-client v0.4.0
github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9
github.com/smartystreets/gunit v1.0.0 // indirect
github.com/spf13/pflag v1.0.3 // indirect
github.com/stretchr/testify v1.3.0
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8 // indirect
golang.org/x/net v0.0.0-20190613194153-d28f0bde5980
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 // indirect
golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f // indirect
golang.org/x/text v0.3.2 // indirect
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c // indirect
google.golang.org/appengine v1.5.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
github.com/stretchr/testify v1.4.0
golang.org/x/sync v0.0.0-20190423024810-112230192c58 // indirect
gopkg.in/olivere/elastic.v3 v3.0.75
gopkg.in/olivere/elastic.v5 v5.0.81
gopkg.in/olivere/elastic.v6 v6.2.23
k8s.io/api v0.0.0-20190627205229-acea843d18eb
k8s.io/apimachinery v0.0.0-20190627205106-bc5732d141a8
k8s.io/apiserver v0.0.0-20190606205144-71ebb8303503
k8s.io/client-go v11.0.0+incompatible
k8s.io/klog v0.3.1
k8s.io/utils v0.0.0-20190607212802-c55fbcfc754a // indirect
sigs.k8s.io/yaml v1.1.0 // indirect
)

replace (
k8s.io/api => k8s.io/api v0.0.0-20190606204050-af9c91bd2759
k8s.io/apimachinery => k8s.io/apimachinery v0.0.0-20190404173353-6a84e37a896d
k8s.io/apiserver => k8s.io/apiserver v0.0.0-20190606205144-71ebb8303503
k8s.io/api v0.17.4
k8s.io/apimachinery v0.17.4
k8s.io/client-go v0.17.4
k8s.io/klog v1.0.0
)
Loading

0 comments on commit ba7d568

Please sign in to comment.