mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-18 08:09:58 +00:00
rate limiting on all azure sdk GET requests
This commit is contained in:
parent
af5ce2fcc5
commit
ac931aa1e0
@ -218,7 +218,7 @@ func NewCloud(configReader io.Reader) (cloudprovider.Interface, error) {
|
|||||||
az.operationPollRateLimiter = flowcontrol.NewTokenBucketRateLimiter(
|
az.operationPollRateLimiter = flowcontrol.NewTokenBucketRateLimiter(
|
||||||
float32(az.CloudProviderRateLimitQPS),
|
float32(az.CloudProviderRateLimitQPS),
|
||||||
az.CloudProviderRateLimitBucket)
|
az.CloudProviderRateLimitBucket)
|
||||||
glog.V(2).Infof("Azure cloudprovider using rate limits: QPS=%d, bucket=%d",
|
glog.V(2).Infof("Azure cloudprovider using rate limit config: QPS=%d, bucket=%d",
|
||||||
az.CloudProviderRateLimitQPS,
|
az.CloudProviderRateLimitQPS,
|
||||||
az.CloudProviderRateLimitBucket)
|
az.CloudProviderRateLimitBucket)
|
||||||
} else {
|
} else {
|
||||||
|
@ -116,6 +116,7 @@ func (az *Cloud) CurrentNodeName(hostname string) (types.NodeName, error) {
|
|||||||
func (az *Cloud) listAllNodesInResourceGroup() ([]compute.VirtualMachine, error) {
|
func (az *Cloud) listAllNodesInResourceGroup() ([]compute.VirtualMachine, error) {
|
||||||
allNodes := []compute.VirtualMachine{}
|
allNodes := []compute.VirtualMachine{}
|
||||||
|
|
||||||
|
az.operationPollRateLimiter.Accept()
|
||||||
result, err := az.VirtualMachinesClient.List(az.ResourceGroup)
|
result, err := az.VirtualMachinesClient.List(az.ResourceGroup)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Errorf("error: az.listAllNodesInResourceGroup(), az.VirtualMachinesClient.List(%s), err=%v", az.ResourceGroup, err)
|
glog.Errorf("error: az.listAllNodesInResourceGroup(), az.VirtualMachinesClient.List(%s), err=%v", az.ResourceGroup, err)
|
||||||
@ -127,6 +128,7 @@ func (az *Cloud) listAllNodesInResourceGroup() ([]compute.VirtualMachine, error)
|
|||||||
for morePages {
|
for morePages {
|
||||||
allNodes = append(allNodes, *result.Value...)
|
allNodes = append(allNodes, *result.Value...)
|
||||||
|
|
||||||
|
az.operationPollRateLimiter.Accept()
|
||||||
result, err = az.VirtualMachinesClient.ListAllNextResults(result)
|
result, err = az.VirtualMachinesClient.ListAllNextResults(result)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Errorf("error: az.listAllNodesInResourceGroup(), az.VirtualMachinesClient.ListAllNextResults(%s), err=%v", result, err)
|
glog.Errorf("error: az.listAllNodesInResourceGroup(), az.VirtualMachinesClient.ListAllNextResults(%s), err=%v", result, err)
|
||||||
|
@ -92,6 +92,7 @@ func (az *Cloud) getPublicIPName(clusterName string, service *v1.Service) (strin
|
|||||||
return fmt.Sprintf("%s-%s", clusterName, cloudprovider.GetLoadBalancerName(service)), nil
|
return fmt.Sprintf("%s-%s", clusterName, cloudprovider.GetLoadBalancerName(service)), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
az.operationPollRateLimiter.Accept()
|
||||||
list, err := az.PublicIPAddressesClient.List(az.ResourceGroup)
|
list, err := az.PublicIPAddressesClient.List(az.ResourceGroup)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
@ -135,6 +136,7 @@ func (az *Cloud) EnsureLoadBalancer(clusterName string, service *v1.Service, nod
|
|||||||
serviceName := getServiceName(service)
|
serviceName := getServiceName(service)
|
||||||
glog.V(5).Infof("ensure(%s): START clusterName=%q lbName=%q", serviceName, clusterName, lbName)
|
glog.V(5).Infof("ensure(%s): START clusterName=%q lbName=%q", serviceName, clusterName, lbName)
|
||||||
|
|
||||||
|
az.operationPollRateLimiter.Accept()
|
||||||
sg, err := az.SecurityGroupsClient.Get(az.ResourceGroup, az.SecurityGroupName, "")
|
sg, err := az.SecurityGroupsClient.Get(az.ResourceGroup, az.SecurityGroupName, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -445,6 +447,7 @@ func (az *Cloud) ensurePublicIPExists(serviceName, pipName string) (*network.Pub
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
az.operationPollRateLimiter.Accept()
|
||||||
pip, err = az.PublicIPAddressesClient.Get(az.ResourceGroup, *pip.Name, "")
|
pip, err = az.PublicIPAddressesClient.Get(az.ResourceGroup, *pip.Name, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -875,6 +878,7 @@ func (az *Cloud) ensureHostInPool(serviceName string, nodeName types.NodeName, b
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
az.operationPollRateLimiter.Accept()
|
||||||
nic, err := az.InterfacesClient.Get(az.ResourceGroup, nicName, "")
|
nic, err := az.InterfacesClient.Get(az.ResourceGroup, nicName, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -27,6 +27,7 @@ type accountWithLocation struct {
|
|||||||
|
|
||||||
// getStorageAccounts gets the storage accounts' name, type, location in a resource group
|
// getStorageAccounts gets the storage accounts' name, type, location in a resource group
|
||||||
func (az *Cloud) getStorageAccounts() ([]accountWithLocation, error) {
|
func (az *Cloud) getStorageAccounts() ([]accountWithLocation, error) {
|
||||||
|
az.operationPollRateLimiter.Accept()
|
||||||
result, err := az.StorageAccountClient.ListByResourceGroup(az.ResourceGroup)
|
result, err := az.StorageAccountClient.ListByResourceGroup(az.ResourceGroup)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@ -56,6 +57,7 @@ func (az *Cloud) getStorageAccounts() ([]accountWithLocation, error) {
|
|||||||
|
|
||||||
// getStorageAccesskey gets the storage account access key
|
// getStorageAccesskey gets the storage account access key
|
||||||
func (az *Cloud) getStorageAccesskey(account string) (string, error) {
|
func (az *Cloud) getStorageAccesskey(account string) (string, error) {
|
||||||
|
az.operationPollRateLimiter.Accept()
|
||||||
result, err := az.StorageAccountClient.ListKeys(az.ResourceGroup, account)
|
result, err := az.StorageAccountClient.ListKeys(az.ResourceGroup, account)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
|
@ -259,6 +259,7 @@ func (az *Cloud) getIPForMachine(nodeName types.NodeName) (string, error) {
|
|||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
az.operationPollRateLimiter.Accept()
|
||||||
nic, err := az.InterfacesClient.Get(az.ResourceGroup, nicName, "")
|
nic, err := az.InterfacesClient.Get(az.ResourceGroup, nicName, "")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Errorf("error: az.getIPForMachine(%s), az.InterfacesClient.Get(%s, %s, %s), err=%v", nodeName, az.ResourceGroup, nicName, "", err)
|
glog.Errorf("error: az.getIPForMachine(%s), az.InterfacesClient.Get(%s, %s, %s), err=%v", nodeName, az.ResourceGroup, nicName, "", err)
|
||||||
|
@ -61,6 +61,7 @@ func (az *Cloud) getVirtualMachine(nodeName types.NodeName) (vm compute.VirtualM
|
|||||||
func (az *Cloud) getRouteTable() (routeTable network.RouteTable, exists bool, err error) {
|
func (az *Cloud) getRouteTable() (routeTable network.RouteTable, exists bool, err error) {
|
||||||
var realErr error
|
var realErr error
|
||||||
|
|
||||||
|
az.operationPollRateLimiter.Accept()
|
||||||
routeTable, err = az.RouteTablesClient.Get(az.ResourceGroup, az.RouteTableName, "")
|
routeTable, err = az.RouteTablesClient.Get(az.ResourceGroup, az.RouteTableName, "")
|
||||||
|
|
||||||
exists, realErr = checkResourceExistsFromError(err)
|
exists, realErr = checkResourceExistsFromError(err)
|
||||||
@ -78,6 +79,7 @@ func (az *Cloud) getRouteTable() (routeTable network.RouteTable, exists bool, er
|
|||||||
func (az *Cloud) getSecurityGroup() (sg network.SecurityGroup, exists bool, err error) {
|
func (az *Cloud) getSecurityGroup() (sg network.SecurityGroup, exists bool, err error) {
|
||||||
var realErr error
|
var realErr error
|
||||||
|
|
||||||
|
az.operationPollRateLimiter.Accept()
|
||||||
sg, err = az.SecurityGroupsClient.Get(az.ResourceGroup, az.SecurityGroupName, "")
|
sg, err = az.SecurityGroupsClient.Get(az.ResourceGroup, az.SecurityGroupName, "")
|
||||||
|
|
||||||
exists, realErr = checkResourceExistsFromError(err)
|
exists, realErr = checkResourceExistsFromError(err)
|
||||||
@ -95,6 +97,7 @@ func (az *Cloud) getSecurityGroup() (sg network.SecurityGroup, exists bool, err
|
|||||||
func (az *Cloud) getAzureLoadBalancer(name string) (lb network.LoadBalancer, exists bool, err error) {
|
func (az *Cloud) getAzureLoadBalancer(name string) (lb network.LoadBalancer, exists bool, err error) {
|
||||||
var realErr error
|
var realErr error
|
||||||
|
|
||||||
|
az.operationPollRateLimiter.Accept()
|
||||||
lb, err = az.LoadBalancerClient.Get(az.ResourceGroup, name, "")
|
lb, err = az.LoadBalancerClient.Get(az.ResourceGroup, name, "")
|
||||||
|
|
||||||
exists, realErr = checkResourceExistsFromError(err)
|
exists, realErr = checkResourceExistsFromError(err)
|
||||||
@ -112,6 +115,7 @@ func (az *Cloud) getAzureLoadBalancer(name string) (lb network.LoadBalancer, exi
|
|||||||
func (az *Cloud) getPublicIPAddress(name string) (pip network.PublicIPAddress, exists bool, err error) {
|
func (az *Cloud) getPublicIPAddress(name string) (pip network.PublicIPAddress, exists bool, err error) {
|
||||||
var realErr error
|
var realErr error
|
||||||
|
|
||||||
|
az.operationPollRateLimiter.Accept()
|
||||||
pip, err = az.PublicIPAddressesClient.Get(az.ResourceGroup, name, "")
|
pip, err = az.PublicIPAddressesClient.Get(az.ResourceGroup, name, "")
|
||||||
|
|
||||||
exists, realErr = checkResourceExistsFromError(err)
|
exists, realErr = checkResourceExistsFromError(err)
|
||||||
@ -129,6 +133,7 @@ func (az *Cloud) getPublicIPAddress(name string) (pip network.PublicIPAddress, e
|
|||||||
func (az *Cloud) getSubnet(virtualNetworkName string, subnetName string) (subnet network.Subnet, exists bool, err error) {
|
func (az *Cloud) getSubnet(virtualNetworkName string, subnetName string) (subnet network.Subnet, exists bool, err error) {
|
||||||
var realErr error
|
var realErr error
|
||||||
|
|
||||||
|
az.operationPollRateLimiter.Accept()
|
||||||
subnet, err = az.SubnetsClient.Get(az.ResourceGroup, virtualNetworkName, subnetName, "")
|
subnet, err = az.SubnetsClient.Get(az.ResourceGroup, virtualNetworkName, subnetName, "")
|
||||||
|
|
||||||
exists, realErr = checkResourceExistsFromError(err)
|
exists, realErr = checkResourceExistsFromError(err)
|
||||||
|
Loading…
Reference in New Issue
Block a user