Documentation
¶
Index ¶
- Constants
- func ExtractDiskData(diskData interface{}) (provisioningState string, diskState string, err error)
- func ExtractVMData(vmData map[string]interface{}) (dataDisks []interface{}, storageProfile map[string]interface{}, ...)
- func GetServicePrincipalToken(config *Config, env *azure.Environment) (*adal.ServicePrincipalToken, error)
- func MakeCRC32(str string) string
- func NewCloud(configReader io.Reader) (cloudprovider.Interface, error)
- type BlobDiskController
- func (c *BlobDiskController) CreateBlobDisk(dataDiskName string, storageAccountType storage.SkuName, sizeGB int, ...) (string, error)
- func (c *BlobDiskController) CreateVolume(name, storageAccount string, storageAccountType storage.SkuName, ...) (string, string, int, error)
- func (c *BlobDiskController) DeleteBlobDisk(diskURI string, wasForced bool) error
- func (c *BlobDiskController) DeleteVolume(diskURI string) error
- type Cloud
- func (az *Cloud) AddSSHKeyToAllInstances(user string, keyData []byte) error
- func (c Cloud) AttachDisk(isManagedDisk bool, diskName, diskURI string, nodeName types.NodeName, ...) error
- func (az *Cloud) Clusters() (cloudprovider.Clusters, bool)
- func (az *Cloud) CreateFileShare(name, storageAccount, storageType, location string, requestGB int) (string, string, error)
- func (az *Cloud) CreateOrUpdateInterfaceWithRetry(nic network.Interface) error
- func (az *Cloud) CreateOrUpdateLBWithRetry(lb network.LoadBalancer) error
- func (az *Cloud) CreateOrUpdatePIPWithRetry(pip network.PublicIPAddress) error
- func (az *Cloud) CreateOrUpdateRouteTableWithRetry(routeTable network.RouteTable) error
- func (az *Cloud) CreateOrUpdateRouteWithRetry(route network.Route) error
- func (az *Cloud) CreateOrUpdateSGWithRetry(sg network.SecurityGroup) error
- func (az *Cloud) CreateOrUpdateVMWithRetry(vmName string, newVM compute.VirtualMachine) error
- func (az *Cloud) CreateRoute(clusterName string, nameHint string, kubeRoute *cloudprovider.Route) error
- func (az *Cloud) CurrentNodeName(hostname string) (types.NodeName, error)
- func (az *Cloud) DeleteFileShare(accountName, key, name string) error
- func (az *Cloud) DeleteLBWithRetry(lbName string) error
- func (az *Cloud) DeletePublicIPWithRetry(pipName string) error
- func (az *Cloud) DeleteRoute(clusterName string, kubeRoute *cloudprovider.Route) error
- func (az *Cloud) DeleteRouteWithRetry(routeName string) error
- func (c Cloud) DetachDiskByName(diskName, diskURI string, nodeName types.NodeName) error
- func (c Cloud) DisksAreAttached(diskNames []string, nodeName types.NodeName) (map[string]bool, error)
- func (az *Cloud) EnsureLoadBalancer(clusterName string, service *v1.Service, nodes []*v1.Node) (*v1.LoadBalancerStatus, error)
- func (az *Cloud) EnsureLoadBalancerDeleted(clusterName string, service *v1.Service) error
- func (az *Cloud) ExternalID(name types.NodeName) (string, error)
- func (c Cloud) GetDiskLun(diskName, diskURI string, nodeName types.NodeName) (int32, error)
- func (az *Cloud) GetIPForMachineWithRetry(name types.NodeName) (string, error)
- func (az *Cloud) GetLoadBalancer(clusterName string, service *v1.Service) (status *v1.LoadBalancerStatus, exists bool, err error)
- func (c Cloud) GetNextDiskLun(nodeName types.NodeName) (int32, error)
- func (az *Cloud) GetVirtualMachineWithRetry(name types.NodeName) (compute.VirtualMachine, bool, error)
- func (az *Cloud) GetZone() (cloudprovider.Zone, error)
- func (az *Cloud) GetZoneByNodeName(nodeName types.NodeName) (cloudprovider.Zone, error)
- func (az *Cloud) GetZoneByProviderID(providerID string) (cloudprovider.Zone, error)
- func (az *Cloud) HasClusterID() bool
- func (az *Cloud) Initialize(clientBuilder controller.ControllerClientBuilder)
- func (az *Cloud) InstanceExistsByProviderID(providerID string) (bool, error)
- func (az *Cloud) InstanceID(name types.NodeName) (string, error)
- func (az *Cloud) InstanceType(name types.NodeName) (string, error)
- func (az *Cloud) InstanceTypeByProviderID(providerID string) (string, error)
- func (az *Cloud) Instances() (cloudprovider.Instances, bool)
- func (az *Cloud) ListRoutes(clusterName string) (routes []*cloudprovider.Route, err error)
- func (az *Cloud) LoadBalancer() (cloudprovider.LoadBalancer, bool)
- func (az *Cloud) NodeAddresses(name types.NodeName) ([]v1.NodeAddress, error)
- func (az *Cloud) NodeAddressesByProviderID(providerID string) ([]v1.NodeAddress, error)
- func (az *Cloud) ProviderName() string
- func (az *Cloud) Routes() (cloudprovider.Routes, bool)
- func (az *Cloud) ScrubDNS(nameservers, searches []string) (nsOut, srchOut []string)
- func (az *Cloud) UpdateLoadBalancer(clusterName string, service *v1.Service, nodes []*v1.Node) error
- func (az *Cloud) VirtualMachineClientGetWithRetry(resourceGroup, vmName string, types compute.InstanceViewTypes) (compute.VirtualMachine, error)
- func (az *Cloud) Zones() (cloudprovider.Zones, bool)
- type Config
- type IPAddress
- type InstanceMetadata
- type ManagedDiskController
- type NetworkData
- type NetworkInterface
- type NetworkMetadata
- type Subnet
Constants ¶
const (
// CloudProviderName is the value used for the --cloud-provider flag
CloudProviderName = "azure"
)
const ServiceAnnotationDNSLabelName = "service.beta.kubernetes.io/azure-dns-label-name"
ServiceAnnotationDNSLabelName annotation speficying the DNS label name for the service.
const ServiceAnnotationLoadBalancerInternal = "service.beta.kubernetes.io/azure-load-balancer-internal"
ServiceAnnotationLoadBalancerInternal is the annotation used on the service
const ServiceAnnotationLoadBalancerInternalSubnet = "service.beta.kubernetes.io/azure-load-balancer-internal-subnet"
ServiceAnnotationLoadBalancerInternalSubnet is the annotation used on the service to specify what subnet it is exposed on
Variables ¶
This section is empty.
Functions ¶
func ExtractDiskData ¶ added in v1.7.2
func ExtractDiskData(diskData interface{}) (provisioningState string, diskState string, err error)
ExtractDiskData : extract provisioningState, diskState from a map struct
func ExtractVMData ¶ added in v1.7.2
func ExtractVMData(vmData map[string]interface{}) (dataDisks []interface{},
storageProfile map[string]interface{},
hardwareProfile map[string]interface{}, err error)
ExtractVMData : extract dataDisks, storageProfile from a map struct
func GetServicePrincipalToken ¶ added in v1.7.5
func GetServicePrincipalToken(config *Config, env *azure.Environment) (*adal.ServicePrincipalToken, error)
GetServicePrincipalToken creates a new service principal token based on the configuration
Types ¶
type BlobDiskController ¶ added in v1.7.2
type BlobDiskController struct {
// contains filtered or unexported fields
}
BlobDiskController : blob disk controller struct
func (*BlobDiskController) CreateBlobDisk ¶ added in v1.7.2
func (c *BlobDiskController) CreateBlobDisk(dataDiskName string, storageAccountType storage.SkuName, sizeGB int, forceStandAlone bool) (string, error)
CreateBlobDisk : create a blob disk in a node
func (*BlobDiskController) CreateVolume ¶ added in v1.7.2
func (c *BlobDiskController) CreateVolume(name, storageAccount string, storageAccountType storage.SkuName, location string, requestGB int) (string, string, int, error)
CreateVolume creates a VHD blob in a given storage account, will create the given storage account if it does not exist in current resource group
func (*BlobDiskController) DeleteBlobDisk ¶ added in v1.7.2
func (c *BlobDiskController) DeleteBlobDisk(diskURI string, wasForced bool) error
DeleteBlobDisk : delete a blob disk from a node
func (*BlobDiskController) DeleteVolume ¶ added in v1.7.2
func (c *BlobDiskController) DeleteVolume(diskURI string) error
DeleteVolume deletes a VHD blob
type Cloud ¶
type Cloud struct {
Config
Environment azure.Environment
RoutesClient network.RoutesClient
SubnetsClient network.SubnetsClient
InterfacesClient network.InterfacesClient
RouteTablesClient network.RouteTablesClient
LoadBalancerClient network.LoadBalancersClient
PublicIPAddressesClient network.PublicIPAddressesClient
SecurityGroupsClient network.SecurityGroupsClient
VirtualMachinesClient compute.VirtualMachinesClient
StorageAccountClient storage.AccountsClient
DisksClient disk.DisksClient
*BlobDiskController
*ManagedDiskController
// contains filtered or unexported fields
}
Cloud holds the config and clients
func (*Cloud) AddSSHKeyToAllInstances ¶
func (az *Cloud) AddSSHKeyToAllInstances(user string, keyData []byte) error
AddSSHKeyToAllInstances adds an SSH public key as a legal identity for all instances expected format for the key is standard ssh-keygen format: <protocol> <blob>
func (Cloud) AttachDisk ¶
func (c Cloud) AttachDisk(isManagedDisk bool, diskName, diskURI string, nodeName types.NodeName, lun int32, cachingMode compute.CachingTypes) error
AttachDisk attaches a vhd to vm the vhd must exist, can be identified by diskName, diskURI, and lun.
func (*Cloud) Clusters ¶
func (az *Cloud) Clusters() (cloudprovider.Clusters, bool)
Clusters returns a clusters interface. Also returns true if the interface is supported, false otherwise.
func (*Cloud) CreateFileShare ¶ added in v1.7.0
func (az *Cloud) CreateFileShare(name, storageAccount, storageType, location string, requestGB int) (string, string, error)
CreateFileShare creates a file share, using a matching storage account
func (*Cloud) CreateOrUpdateInterfaceWithRetry ¶ added in v1.6.5
func (az *Cloud) CreateOrUpdateInterfaceWithRetry(nic network.Interface) error
CreateOrUpdateInterfaceWithRetry invokes az.PublicIPAddressesClient.CreateOrUpdate with exponential backoff retry
func (*Cloud) CreateOrUpdateLBWithRetry ¶ added in v1.6.5
func (az *Cloud) CreateOrUpdateLBWithRetry(lb network.LoadBalancer) error
CreateOrUpdateLBWithRetry invokes az.LoadBalancerClient.CreateOrUpdate with exponential backoff retry
func (*Cloud) CreateOrUpdatePIPWithRetry ¶ added in v1.6.5
func (az *Cloud) CreateOrUpdatePIPWithRetry(pip network.PublicIPAddress) error
CreateOrUpdatePIPWithRetry invokes az.PublicIPAddressesClient.CreateOrUpdate with exponential backoff retry
func (*Cloud) CreateOrUpdateRouteTableWithRetry ¶ added in v1.6.5
func (az *Cloud) CreateOrUpdateRouteTableWithRetry(routeTable network.RouteTable) error
CreateOrUpdateRouteTableWithRetry invokes az.RouteTablesClient.CreateOrUpdate with exponential backoff retry
func (*Cloud) CreateOrUpdateRouteWithRetry ¶ added in v1.6.5
func (az *Cloud) CreateOrUpdateRouteWithRetry(route network.Route) error
CreateOrUpdateRouteWithRetry invokes az.RoutesClient.CreateOrUpdate with exponential backoff retry
func (*Cloud) CreateOrUpdateSGWithRetry ¶ added in v1.6.5
func (az *Cloud) CreateOrUpdateSGWithRetry(sg network.SecurityGroup) error
CreateOrUpdateSGWithRetry invokes az.SecurityGroupsClient.CreateOrUpdate with exponential backoff retry
func (*Cloud) CreateOrUpdateVMWithRetry ¶ added in v1.6.5
func (az *Cloud) CreateOrUpdateVMWithRetry(vmName string, newVM compute.VirtualMachine) error
CreateOrUpdateVMWithRetry invokes az.VirtualMachinesClient.CreateOrUpdate with exponential backoff retry
func (*Cloud) CreateRoute ¶
func (az *Cloud) CreateRoute(clusterName string, nameHint string, kubeRoute *cloudprovider.Route) error
CreateRoute creates the described managed route route.Name will be ignored, although the cloud-provider may use nameHint to create a more user-meaningful name.
func (*Cloud) CurrentNodeName ¶
func (az *Cloud) CurrentNodeName(hostname string) (types.NodeName, error)
CurrentNodeName returns the name of the node we are currently running on On most clouds (e.g. GCE) this is the hostname, so we provide the hostname
func (*Cloud) DeleteFileShare ¶ added in v1.7.0
func (az *Cloud) DeleteFileShare(accountName, key, name string) error
DeleteFileShare deletes a file share using storage account name and key
func (*Cloud) DeleteLBWithRetry ¶ added in v1.6.5
func (az *Cloud) DeleteLBWithRetry(lbName string) error
DeleteLBWithRetry invokes az.LoadBalancerClient.Delete with exponential backoff retry
func (*Cloud) DeletePublicIPWithRetry ¶ added in v1.6.5
func (az *Cloud) DeletePublicIPWithRetry(pipName string) error
DeletePublicIPWithRetry invokes az.PublicIPAddressesClient.Delete with exponential backoff retry
func (*Cloud) DeleteRoute ¶
func (az *Cloud) DeleteRoute(clusterName string, kubeRoute *cloudprovider.Route) error
DeleteRoute deletes the specified managed route Route should be as returned by ListRoutes
func (*Cloud) DeleteRouteWithRetry ¶ added in v1.6.5
func (az *Cloud) DeleteRouteWithRetry(routeName string) error
DeleteRouteWithRetry invokes az.RoutesClient.Delete with exponential backoff retry
func (Cloud) DetachDiskByName ¶
func (c Cloud) DetachDiskByName(diskName, diskURI string, nodeName types.NodeName) error
DetachDiskByName detaches a vhd from host the vhd can be identified by diskName or diskURI
func (Cloud) DisksAreAttached ¶ added in v1.4.6
func (c Cloud) DisksAreAttached(diskNames []string, nodeName types.NodeName) (map[string]bool, error)
DisksAreAttached checks if a list of volumes are attached to the node with the specified NodeName
func (*Cloud) EnsureLoadBalancer ¶
func (az *Cloud) EnsureLoadBalancer(clusterName string, service *v1.Service, nodes []*v1.Node) (*v1.LoadBalancerStatus, error)
EnsureLoadBalancer creates a new load balancer 'name', or updates the existing one. Returns the status of the balancer
func (*Cloud) EnsureLoadBalancerDeleted ¶
func (az *Cloud) EnsureLoadBalancerDeleted(clusterName string, service *v1.Service) error
EnsureLoadBalancerDeleted deletes the specified load balancer if it exists, returning nil if the load balancer specified either didn't exist or was successfully deleted. This construction is useful because many cloud providers' load balancers have multiple underlying components, meaning a Get could say that the LB doesn't exist even if some part of it is still laying around.
func (*Cloud) ExternalID ¶
func (az *Cloud) ExternalID(name types.NodeName) (string, error)
ExternalID returns the cloud provider ID of the specified instance (deprecated).
func (Cloud) GetDiskLun ¶
func (c Cloud) GetDiskLun(diskName, diskURI string, nodeName types.NodeName) (int32, error)
GetDiskLun finds the lun on the host that the vhd is attached to, given a vhd's diskName and diskURI
func (*Cloud) GetIPForMachineWithRetry ¶ added in v1.8.0
func (az *Cloud) GetIPForMachineWithRetry(name types.NodeName) (string, error)
GetIPForMachineWithRetry invokes az.getIPForMachine with exponential backoff retry
func (*Cloud) GetLoadBalancer ¶
func (az *Cloud) GetLoadBalancer(clusterName string, service *v1.Service) (status *v1.LoadBalancerStatus, exists bool, err error)
GetLoadBalancer returns whether the specified load balancer exists, and if so, what its status is.
func (Cloud) GetNextDiskLun ¶
func (c Cloud) GetNextDiskLun(nodeName types.NodeName) (int32, error)
GetNextDiskLun searches all vhd attachment on the host and find unused lun return -1 if all luns are used
func (*Cloud) GetVirtualMachineWithRetry ¶ added in v1.6.5
func (az *Cloud) GetVirtualMachineWithRetry(name types.NodeName) (compute.VirtualMachine, bool, error)
GetVirtualMachineWithRetry invokes az.getVirtualMachine with exponential backoff retry
func (*Cloud) GetZone ¶
func (az *Cloud) GetZone() (cloudprovider.Zone, error)
GetZone returns the Zone containing the current failure zone and locality region that the program is running in
func (*Cloud) GetZoneByNodeName ¶ added in v1.8.0
func (az *Cloud) GetZoneByNodeName(nodeName types.NodeName) (cloudprovider.Zone, error)
GetZoneByNodeName implements Zones.GetZoneByNodeName This is particularly useful in external cloud providers where the kubelet does not initialize node data.
func (*Cloud) GetZoneByProviderID ¶ added in v1.8.0
func (az *Cloud) GetZoneByProviderID(providerID string) (cloudprovider.Zone, error)
GetZoneByProviderID implements Zones.GetZoneByProviderID This is particularly useful in external cloud providers where the kubelet does not initialize node data.
func (*Cloud) HasClusterID ¶ added in v1.8.0
func (az *Cloud) HasClusterID() bool
HasClusterID returns true if the cluster has a clusterID
func (*Cloud) Initialize ¶ added in v1.7.0
func (az *Cloud) Initialize(clientBuilder controller.ControllerClientBuilder)
Initialize passes a Kubernetes clientBuilder interface to the cloud provider
func (*Cloud) InstanceExistsByProviderID ¶ added in v1.8.0
func (az *Cloud) InstanceExistsByProviderID(providerID string) (bool, error)
InstanceExistsByProviderID returns true if the instance with the given provider id still exists and is running. If false is returned with no error, the instance will be immediately deleted by the cloud controller manager.
func (*Cloud) InstanceID ¶
func (az *Cloud) InstanceID(name types.NodeName) (string, error)
InstanceID returns the cloud provider ID of the specified instance. Note that if the instance does not exist or is no longer running, we must return ("", cloudprovider.InstanceNotFound)
func (*Cloud) InstanceType ¶
func (az *Cloud) InstanceType(name types.NodeName) (string, error)
InstanceType returns the type of the specified instance. Note that if the instance does not exist or is no longer running, we must return ("", cloudprovider.InstanceNotFound) (Implementer Note): This is used by kubelet. Kubelet will label the node. Real log from kubelet:
Adding node label from cloud provider: beta.kubernetes.io/instance-type=[value]
func (*Cloud) InstanceTypeByProviderID ¶ added in v1.7.0
func (az *Cloud) InstanceTypeByProviderID(providerID string) (string, error)
InstanceTypeByProviderID returns the cloudprovider instance type of the node with the specified unique providerID This method will not be called from the node that is requesting this ID. i.e. metadata service and other local methods cannot be used here
func (*Cloud) Instances ¶
func (az *Cloud) Instances() (cloudprovider.Instances, bool)
Instances returns an instances interface. Also returns true if the interface is supported, false otherwise.
func (*Cloud) ListRoutes ¶
func (az *Cloud) ListRoutes(clusterName string) (routes []*cloudprovider.Route, err error)
ListRoutes lists all managed routes that belong to the specified clusterName
func (*Cloud) LoadBalancer ¶
func (az *Cloud) LoadBalancer() (cloudprovider.LoadBalancer, bool)
LoadBalancer returns a balancer interface. Also returns true if the interface is supported, false otherwise.
func (*Cloud) NodeAddresses ¶
func (az *Cloud) NodeAddresses(name types.NodeName) ([]v1.NodeAddress, error)
NodeAddresses returns the addresses of the specified instance.
func (*Cloud) NodeAddressesByProviderID ¶ added in v1.7.0
func (az *Cloud) NodeAddressesByProviderID(providerID string) ([]v1.NodeAddress, error)
NodeAddressesByProviderID returns the node addresses of an instances with the specified unique providerID This method will not be called from the node that is requesting this ID. i.e. metadata service and other local methods cannot be used here
func (*Cloud) ProviderName ¶
func (az *Cloud) ProviderName() string
ProviderName returns the cloud provider ID.
func (*Cloud) Routes ¶
func (az *Cloud) Routes() (cloudprovider.Routes, bool)
Routes returns a routes interface along with whether the interface is supported.
func (*Cloud) ScrubDNS ¶
func (az *Cloud) ScrubDNS(nameservers, searches []string) (nsOut, srchOut []string)
ScrubDNS provides an opportunity for cloud-provider-specific code to process DNS settings for pods.
func (*Cloud) UpdateLoadBalancer ¶
func (az *Cloud) UpdateLoadBalancer(clusterName string, service *v1.Service, nodes []*v1.Node) error
UpdateLoadBalancer updates hosts under the specified load balancer.
func (*Cloud) VirtualMachineClientGetWithRetry ¶ added in v1.8.0
func (az *Cloud) VirtualMachineClientGetWithRetry(resourceGroup, vmName string, types compute.InstanceViewTypes) (compute.VirtualMachine, error)
VirtualMachineClientGetWithRetry invokes az.VirtualMachinesClient.Get with exponential backoff retry
type Config ¶
type Config struct {
// The cloud environment identifier. Takes values from https://github.com/Azure/go-autorest/blob/ec5f4903f77ed9927ac95b19ab8e44ada64c1356/autorest/azure/environments.go#L13
Cloud string `json:"cloud" yaml:"cloud"`
// The AAD Tenant ID for the Subscription that the cluster is deployed in
TenantID string `json:"tenantId" yaml:"tenantId"`
// The ID of the Azure Subscription that the cluster is deployed in
SubscriptionID string `json:"subscriptionId" yaml:"subscriptionId"`
// The name of the resource group that the cluster is deployed in
ResourceGroup string `json:"resourceGroup" yaml:"resourceGroup"`
// The location of the resource group that the cluster is deployed in
Location string `json:"location" yaml:"location"`
// The name of the VNet that the cluster is deployed in
VnetName string `json:"vnetName" yaml:"vnetName"`
// The name of the resource group that the Vnet is deployed in
VnetResourceGroup string `json:"vnetResourceGroup" yaml:"vnetResourceGroup"`
// The name of the subnet that the cluster is deployed in
SubnetName string `json:"subnetName" yaml:"subnetName"`
// The name of the security group attached to the cluster's subnet
SecurityGroupName string `json:"securityGroupName" yaml:"securityGroupName"`
// (Optional in 1.6) The name of the route table attached to the subnet that the cluster is deployed in
RouteTableName string `json:"routeTableName" yaml:"routeTableName"`
// (Optional) The name of the availability set that should be used as the load balancer backend
// If this is set, the Azure cloudprovider will only add nodes from that availability set to the load
// balancer backend pool. If this is not set, and multiple agent pools (availability sets) are used, then
// the cloudprovider will try to add all nodes to a single backend pool which is forbidden.
// In other words, if you use multiple agent pools (availability sets), you MUST set this field.
PrimaryAvailabilitySetName string `json:"primaryAvailabilitySetName" yaml:"primaryAvailabilitySetName"`
// The ClientID for an AAD application with RBAC access to talk to Azure RM APIs
AADClientID string `json:"aadClientId" yaml:"aadClientId"`
// The ClientSecret for an AAD application with RBAC access to talk to Azure RM APIs
AADClientSecret string `json:"aadClientSecret" yaml:"aadClientSecret"`
// The path of a client certificate for an AAD application with RBAC access to talk to Azure RM APIs
AADClientCertPath string `json:"aadClientCertPath" yaml:"aadClientCertPath"`
// The password of the client certificate for an AAD application with RBAC access to talk to Azure RM APIs
AADClientCertPassword string `json:"aadClientCertPassword" yaml:"aadClientCertPassword"`
// Enable exponential backoff to manage resource request retries
CloudProviderBackoff bool `json:"cloudProviderBackoff" yaml:"cloudProviderBackoff"`
// Backoff retry limit
CloudProviderBackoffRetries int `json:"cloudProviderBackoffRetries" yaml:"cloudProviderBackoffRetries"`
// Backoff exponent
CloudProviderBackoffExponent float64 `json:"cloudProviderBackoffExponent" yaml:"cloudProviderBackoffExponent"`
// Backoff duration
CloudProviderBackoffDuration int `json:"cloudProviderBackoffDuration" yaml:"cloudProviderBackoffDuration"`
// Backoff jitter
CloudProviderBackoffJitter float64 `json:"cloudProviderBackoffJitter" yaml:"cloudProviderBackoffJitter"`
// Enable rate limiting
CloudProviderRateLimit bool `json:"cloudProviderRateLimit" yaml:"cloudProviderRateLimit"`
// Rate limit QPS
CloudProviderRateLimitQPS float32 `json:"cloudProviderRateLimitQPS" yaml:"cloudProviderRateLimitQPS"`
// Rate limit Bucket Size
CloudProviderRateLimitBucket int `json:"cloudProviderRateLimitBucket" yaml:"cloudProviderRateLimitBucket"`
// Use instance metadata service where possible
UseInstanceMetadata bool `json:"useInstanceMetadata" yaml:"useInstanceMetadata"`
// Use managed service identity for the virtual machine to access Azure ARM APIs
UseManagedIdentityExtension bool `json:"useManagedIdentityExtension"`
}
Config holds the configuration parsed from the --cloud-config flag All fields are required unless otherwise specified
func ParseConfig ¶ added in v1.7.5
func ParseConfig(configReader io.Reader) (*Config, *azure.Environment, error)
ParseConfig returns a parsed configuration and azure.Environment for an Azure cloudprovider config file
type IPAddress ¶ added in v1.8.0
type IPAddress struct {
PrivateIP string `json:"privateIPAddress"`
PublicIP string `json:"publicIPAddress"`
}
IPAddress represents IP address information.
type InstanceMetadata ¶ added in v1.8.0
type InstanceMetadata struct {
// contains filtered or unexported fields
}
InstanceMetadata knows how to query the Azure instance metadata server.
func NewInstanceMetadata ¶ added in v1.8.0
func NewInstanceMetadata() *InstanceMetadata
NewInstanceMetadata creates an instance of the InstanceMetadata accessor object.
type ManagedDiskController ¶ added in v1.7.2
type ManagedDiskController struct {
// contains filtered or unexported fields
}
ManagedDiskController : managed disk controller struct
func (*ManagedDiskController) CreateManagedDisk ¶ added in v1.7.2
func (c *ManagedDiskController) CreateManagedDisk(diskName string, storageAccountType storage.SkuName, sizeGB int, tags map[string]string) (string, error)
CreateManagedDisk : create managed disk
func (*ManagedDiskController) DeleteManagedDisk ¶ added in v1.7.2
func (c *ManagedDiskController) DeleteManagedDisk(diskURI string) error
DeleteManagedDisk : delete managed disk
type NetworkData ¶ added in v1.8.0
type NetworkData struct {
IPAddress []IPAddress `json:"ipAddress"`
Subnet []Subnet `json:"subnet"`
}
NetworkData contains IP information for a network.
type NetworkInterface ¶ added in v1.8.0
type NetworkInterface struct {
IPV4 NetworkData `json:"ipv4"`
IPV6 NetworkData `json:"ipv6"`
MAC string `json:"macAddress"`
}
NetworkInterface represents an instances network interface.
type NetworkMetadata ¶ added in v1.8.0
type NetworkMetadata struct {
Interface []NetworkInterface `json:"interface"`
}
NetworkMetadata contains metadata about an instance's network