kubegateway

module
v0.0.0-...-43b7830 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 26, 2024 License: Apache-2.0

README

KubeGateway

English | 简体中文

Overview

Kube-gateway is a best practice for managing massive kubernetes clusters within ByteDance.

It is a layer 7 load balancing proxy specifically designed and customized for HTTP2 flow for kube-apiserver.

The goal is to provide flexible and stable flow governance solutions for massive large-scale kubernetes clusters (more than 1,000 nodes).

Features

In terms of traffic governance:

  • It proactively performs request-level load balancing for multiple kube-apiservers;
  • It provides kube-apiserver with routing rules customized for flow characteristics. It can distinguish requests through verb, apiGroup, resource, user, userGroup, serviceAccounts, nonResourceURLs and other information, and perform differentiated forwarding. It also has flow governance functions such as limited flow, degradation, and fuse;
  • It converges the number of TCP connections on a single kube-apiserver instance by at least an order of magnitude;
  • Its configuration, such as routing, takes effect immediately without restarting the service.

In terms of massive cluster proxies:

  • It is able to dynamically add and remove proxy support for new clusters;
  • It provides different TLS certificates and ClientCA for different clusters;
  • It provides allow/disable list, monitoring alarm, fuse and other functions.

Detailed Doc

Contributing

Please refer to Contributing

Code of Conduct

Please refer to Code of Conduct for more details.

Contact Us

Please refer to Maintainers

Security

If you find a potential security issue in this project, or think you may have discovered a security issue.

We hope you notify Bytedance Security via our Security Center or Vulnerability Report Email.

Please do not create a public GitHub issue.

License

This project follows Apache-2.0 License.

Directories

Path Synopsis
cmd
kube-gateway
apiserver is the main api server and master for the cluster.
apiserver is the main api server and master for the cluster.
kube-gateway/app
Package app does all of the work necessary to create a Kubernetes APIServer by binding together the API, master and APIServer infrastructure.
Package app does all of the work necessary to create a Kubernetes APIServer by binding together the API, master and APIServer infrastructure.
kube-gateway/app/options
Package options contains flags and options for initializing an apiserver
Package options contains flags and options for initializing an apiserver
kube-ratelimiter
apiserver is the main api server and master for the cluster.
apiserver is the main api server and master for the cluster.
kube-ratelimiter/app
Package app does all of the work necessary to create a Kubernetes APIServer by binding together the API, master and APIServer infrastructure.
Package app does all of the work necessary to create a Kubernetes APIServer by binding together the API, master and APIServer infrastructure.
pkg
apis/proxy/v1alpha1
+groupName=proxy.kubegateway.io +k8s:openapi-gen=true +k8s:deepcopy-gen=package +k8s:defaulter-gen=TypeMeta
+groupName=proxy.kubegateway.io +k8s:openapi-gen=true +k8s:deepcopy-gen=package +k8s:defaulter-gen=TypeMeta
client/kubernetes
This package has the automatically generated clientset.
This package has the automatically generated clientset.
client/kubernetes/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
client/kubernetes/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
client/kubernetes/typed/proxy/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
client/kubernetes/typed/proxy/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
plugin
staging

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL