Documentation
¶
Overview ¶
+groupName=azure
Index ¶
- Constants
- func RegisterResourceIDParser(fn func(id string) (resourceGroup, vmssName, vmID string))
- type AzureAddress
- type AzureInterface
- func (in *AzureInterface) DeepCopy() *AzureInterface
- func (a *AzureInterface) DeepCopyInterface() types.Interface
- func (in *AzureInterface) DeepCopyInto(out *AzureInterface)
- func (in *AzureInterface) DeepEqual(other *AzureInterface) bool
- func (a *AzureInterface) GetResourceGroup() string
- func (a *AzureInterface) GetVMID() string
- func (a *AzureInterface) GetVMScaleSetName() string
- func (a *AzureInterface) InterfaceID() string
- func (a *AzureInterface) SetID(id string)
- type AzureSpec
- type AzureStatus
- type AzureSubnet
Constants ¶
const ( // ProviderPrefix is the prefix used to indicate that a k8s ProviderID // represents an Azure resource ProviderPrefix = "azure://" // InterfaceAddressLimit is the maximum number of addresses on an interface // // // For more information: // https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits?toc=%2fazure%2fvirtual-network%2ftoc.json#networking-limits InterfaceAddressLimit = 256 // StateSucceeded is the address state for a successfully provisioned address StateSucceeded = "succeeded" )
Variables ¶
This section is empty.
Functions ¶
func RegisterResourceIDParser ¶ added in v1.20.0
RegisterResourceIDParser installs the function used to parse Azure network interface resource IDs into resource group, VMSS, and VM ID components.
This indirection exists so that the Azure SDK (which provides the actual parser implementation) is only linked into binaries that import pkg/azure/types/azureid, keeping it out of non-Azure builds without requiring build tags.
Types ¶
type AzureAddress ¶
type AzureAddress struct {
// IP is the ip address of the address
//
// +optional
IP iputil.Addr `json:"ip,omitzero"`
// Subnet is the subnet the address belongs to.
//
// Deprecated: use AzureInterface.Subnet.ID. Populated as a mirror for one
// release so external consumers of CiliumNode.Status.Azure can migrate.
// TODO(https://github.com/cilium/cilium/issues/46074): remove once the migration window closes.
Subnet string `json:"subnet,omitempty"`
// State is the provisioning state of the address
State string `json:"state,omitempty"`
}
AzureAddress is an IP address assigned to an AzureInterface
func (*AzureAddress) DeepCopy ¶ added in v1.20.0
func (in *AzureAddress) DeepCopy() *AzureAddress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureAddress.
func (*AzureAddress) DeepCopyInto ¶ added in v1.20.0
func (in *AzureAddress) DeepCopyInto(out *AzureAddress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AzureAddress) DeepEqual ¶
func (in *AzureAddress) DeepEqual(other *AzureAddress) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type AzureInterface ¶
type AzureInterface struct {
// ID is the identifier
//
// +optional
ID string `json:"id,omitempty"`
// IP is the primary IP of the interface
//
// +optional
IP iputil.Addr `json:"ip,omitzero"`
// Name is the name of the interface
//
// +optional
Name string `json:"name,omitempty"`
// MAC is the mac address
//
// +optional
MAC string `json:"mac,omitempty"`
// State is the provisioning state
//
// +optional
State string `json:"state,omitempty"`
// Addresses is the list of secondary IPs associated with the interface.
// The primary IP is tracked separately in the IP field, but is also
// included here when the operator is configured to expose it for
// allocation.
//
// +optional
Addresses []AzureAddress `json:"addresses,omitempty"`
// SecurityGroup is the security group associated with the interface
SecurityGroup string `json:"security-group,omitempty"`
// Subnet is the subnet the interface is attached to.
//
// +optional
Subnet AzureSubnet `json:"subnet,omitzero"`
// Gateway is the interface's subnet's default route
//
// +optional
Gateway iputil.Addr `json:"gateway"`
// CIDR is the range that the interface belongs to.
//
// Deprecated: use Subnet.CIDR. Retained for one release so agent/operator
// rolling upgrades work in either order.
// TODO(https://github.com/cilium/cilium/issues/46074): remove once the migration window closes.
//
// +optional
CIDR iputil.Prefix `json:"cidr,omitzero"`
// contains filtered or unexported fields
}
AzureInterface represents an Azure Interface
func (*AzureInterface) DeepCopy ¶
func (in *AzureInterface) DeepCopy() *AzureInterface
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureInterface.
func (*AzureInterface) DeepCopyInterface ¶ added in v1.13.14
func (a *AzureInterface) DeepCopyInterface() types.Interface
func (*AzureInterface) DeepCopyInto ¶
func (in *AzureInterface) DeepCopyInto(out *AzureInterface)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AzureInterface) DeepEqual ¶
func (in *AzureInterface) DeepEqual(other *AzureInterface) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
func (*AzureInterface) GetResourceGroup ¶
func (a *AzureInterface) GetResourceGroup() string
GetResourceGroup returns the resource group the interface belongs to
func (*AzureInterface) GetVMID ¶
func (a *AzureInterface) GetVMID() string
GetVMID returns the VM ID the interface belongs to
func (*AzureInterface) GetVMScaleSetName ¶
func (a *AzureInterface) GetVMScaleSetName() string
GetVMScaleSetName returns the VM scale set name the interface belongs to
func (*AzureInterface) InterfaceID ¶
func (a *AzureInterface) InterfaceID() string
InterfaceID returns the identifier of the interface
func (*AzureInterface) SetID ¶
func (a *AzureInterface) SetID(id string)
SetID sets the Azure interface ID, as well as extracting other fields from the ID itself.
type AzureSpec ¶
type AzureSpec struct {
// InterfaceName is the name of the interface the cilium-operator
// will use to allocate all the IPs on
//
// +kubebuilder:validation:Optional
InterfaceName string `json:"interface-name,omitempty"`
}
AzureSpec is the Azure specification of a node running via the Azure IPAM
The Azure specification can either be provided explicitly by the user or the cilium agent running on the node can be instructed to create the CiliumNode custom resource along with an Azure specification when the node registers itself to the Kubernetes cluster. This struct is embedded into v2.CiliumNode
func (*AzureSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureSpec.
func (*AzureSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AzureStatus ¶
type AzureStatus struct {
// Interfaces is the list of interfaces on the node
//
// +optional
Interfaces []AzureInterface `json:"interfaces,omitempty"`
}
AzureStatus is the status of Azure addressing of the node. This struct is embedded into v2.CiliumNode
func (*AzureStatus) DeepCopy ¶
func (in *AzureStatus) DeepCopy() *AzureStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureStatus.
func (*AzureStatus) DeepCopyInto ¶
func (in *AzureStatus) DeepCopyInto(out *AzureStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AzureStatus) DeepEqual ¶
func (in *AzureStatus) DeepEqual(other *AzureStatus) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.
type AzureSubnet ¶ added in v1.20.0
type AzureSubnet struct {
// ID is the resource ID of the subnet
//
// +optional
ID string `json:"id,omitempty"`
// CIDR is the CIDR range associated with the subnet
//
// +optional
CIDR iputil.Prefix `json:"cidr,omitzero"`
}
AzureSubnet describes the subnet an AzureInterface is attached to. Azure enforces one subnet per NIC, so it is tracked once per interface (mirroring the AWS and Alibaba patterns).
func (*AzureSubnet) DeepCopy ¶ added in v1.20.0
func (in *AzureSubnet) DeepCopy() *AzureSubnet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureSubnet.
func (*AzureSubnet) DeepCopyInto ¶ added in v1.20.0
func (in *AzureSubnet) DeepCopyInto(out *AzureSubnet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AzureSubnet) DeepEqual ¶ added in v1.20.0
func (in *AzureSubnet) DeepEqual(other *AzureSubnet) bool
DeepEqual is an autogenerated deepequal function, deeply comparing the receiver with other. in must be non-nil.