Documentation ¶
Index ¶
- type AADProfile
- type APIServerAccessProfile
- type AddonProfile
- type AutoScalerProfile
- type CredentialGetter
- type HTTPProxyConfig
- type LoadBalancerProfile
- type ManagedClusterScope
- type ManagedClusterSpec
- func (s *ManagedClusterSpec) CustomHeaders() map[string]string
- func (s *ManagedClusterSpec) GetLoadBalancerProfile() (loadBalancerProfile *armcontainerservice.ManagedClusterLoadBalancerProfile)
- func (s *ManagedClusterSpec) OwnerResourceName() string
- func (s *ManagedClusterSpec) Parameters(ctx context.Context, existing interface{}) (params interface{}, err error)
- func (s *ManagedClusterSpec) ResourceGroupName() string
- func (s *ManagedClusterSpec) ResourceName() string
- type OIDCIssuerProfile
- type SKU
- type Service
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AADProfile ¶ added in v1.4.0
type AADProfile struct { // Managed defines whether to enable managed AAD. Managed bool // EnableAzureRBAC defines whether to enable Azure RBAC for Kubernetes authorization. EnableAzureRBAC bool // AdminGroupObjectIDs are the AAD group object IDs that will have admin role of the cluster. AdminGroupObjectIDs []string }
AADProfile is Azure Active Directory configuration to integrate with AKS, for aad authentication.
type APIServerAccessProfile ¶ added in v1.4.0
type APIServerAccessProfile struct { // AuthorizedIPRanges are the authorized IP Ranges to kubernetes API server. AuthorizedIPRanges []string // EnablePrivateCluster defines hether to create the cluster as a private cluster or not. EnablePrivateCluster *bool // PrivateDNSZone is the private dns zone for private clusters. PrivateDNSZone *string // EnablePrivateClusterPublicFQDN defines whether to create additional public FQDN for private cluster or not. EnablePrivateClusterPublicFQDN *bool }
APIServerAccessProfile is the access profile for AKS API server.
type AddonProfile ¶ added in v1.4.0
AddonProfile is the profile of a managed cluster add-on.
type AutoScalerProfile ¶ added in v1.7.0
type AutoScalerProfile struct { // BalanceSimilarNodeGroups - Valid values are 'true' and 'false' BalanceSimilarNodeGroups *string // Expander - If not specified, the default is 'random'. See [expanders](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#what-are-expanders) for more information. Expander *string // MaxEmptyBulkDelete - The default is 10. MaxEmptyBulkDelete *string // MaxGracefulTerminationSec - The default is 600. MaxGracefulTerminationSec *string // MaxNodeProvisionTime - The default is '15m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. MaxNodeProvisionTime *string // MaxTotalUnreadyPercentage - The default is 45. The maximum is 100 and the minimum is 0. MaxTotalUnreadyPercentage *string // NewPodScaleUpDelay - For scenarios like burst/batch scale where you don't want CA to act before the kubernetes scheduler could schedule all the pods, you can tell CA to ignore unscheduled pods before they're a certain age. The default is '0s'. Values must be an integer followed by a unit ('s' for seconds, 'm' for minutes, 'h' for hours, etc). NewPodScaleUpDelay *string // OkTotalUnreadyCount - This must be an integer. The default is 3. OkTotalUnreadyCount *string // ScanInterval - The default is '10s'. Values must be an integer number of seconds. ScanInterval *string // ScaleDownDelayAfterAdd - The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. ScaleDownDelayAfterAdd *string // ScaleDownDelayAfterDelete - The default is the scan-interval. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. ScaleDownDelayAfterDelete *string // ScaleDownDelayAfterFailure - The default is '3m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. ScaleDownDelayAfterFailure *string // ScaleDownUnneededTime - The default is '10m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. ScaleDownUnneededTime *string // ScaleDownUnreadyTime - The default is '20m'. Values must be an integer followed by an 'm'. No unit of time other than minutes (m) is supported. ScaleDownUnreadyTime *string // ScaleDownUtilizationThreshold - The default is '0.5'. ScaleDownUtilizationThreshold *string // SkipNodesWithLocalStorage - The default is true. SkipNodesWithLocalStorage *string // SkipNodesWithSystemPods - The default is true. SkipNodesWithSystemPods *string }
AutoScalerProfile parameters to be applied to the cluster-autoscaler when enabled.
type CredentialGetter ¶ added in v1.4.0
CredentialGetter is a helper interface for getting managed cluster credentials.
type HTTPProxyConfig ¶ added in v1.11.0
type HTTPProxyConfig struct { // HTTPProxy is the HTTP proxy server endpoint to use. HTTPProxy *string `json:"httpProxy,omitempty"` // HTTPSProxy is the HTTPS proxy server endpoint to use. HTTPSProxy *string `json:"httpsProxy,omitempty"` // NoProxy is the endpoints that should not go through proxy. NoProxy []string `json:"noProxy,omitempty"` // TrustedCA is the Alternative CA cert to use for connecting to proxy servers. TrustedCA *string `json:"trustedCa,omitempty"` }
HTTPProxyConfig is the HTTP proxy configuration for the cluster.
type LoadBalancerProfile ¶ added in v1.4.0
type LoadBalancerProfile struct { // ManagedOutboundIPs are the desired managed outbound IPs for the cluster load balancer. ManagedOutboundIPs *int32 // OutboundIPPrefixes are the desired outbound IP Prefix resources for the cluster load balancer. OutboundIPPrefixes []string // OutboundIPs are the desired outbound IP resources for the cluster load balancer. OutboundIPs []string // AllocatedOutboundPorts are the desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports. AllocatedOutboundPorts *int32 // IdleTimeoutInMinutes are the desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes. IdleTimeoutInMinutes *int32 }
LoadBalancerProfile is the profile of the cluster load balancer.
type ManagedClusterScope ¶ added in v0.5.2
type ManagedClusterScope interface { azure.Authorizer azure.AsyncStatusUpdater ManagedClusterSpec() azure.ResourceSpecGetter SetControlPlaneEndpoint(clusterv1.APIEndpoint) SetKubeletIdentity(string) MakeEmptyKubeConfigSecret() corev1.Secret GetKubeConfigData() []byte SetKubeConfigData([]byte) SetOIDCIssuerProfileStatus(*infrav1.OIDCIssuerProfileStatus) }
ManagedClusterScope defines the scope interface for a managed cluster.
type ManagedClusterSpec ¶ added in v1.4.0
type ManagedClusterSpec struct { // Name is the name of this AKS Cluster. Name string // ResourceGroup is the name of the Azure resource group for this AKS Cluster. ResourceGroup string // NodeResourceGroup is the name of the Azure resource group containing IaaS VMs. NodeResourceGroup string // ClusterName is the name of the owning Cluster API Cluster resource. ClusterName string // VnetSubnetID is the Azure Resource ID for the subnet which should contain nodes. VnetSubnetID string // Location is a string matching one of the canonical Azure region names. Examples: "westus2", "eastus". Location string // Tags is a set of tags to add to this cluster. Tags map[string]string // Version defines the desired Kubernetes version. Version string // LoadBalancerSKU for the managed cluster. Possible values include: 'Standard', 'Basic'. Defaults to Standard. LoadBalancerSKU string // NetworkPlugin used for building Kubernetes network. Possible values include: 'azure', 'kubenet'. Defaults to azure. NetworkPlugin string // NetworkPluginMode is the mode the network plugin should use. NetworkPluginMode *infrav1.NetworkPluginMode // NetworkPolicy used for building Kubernetes network. Possible values include: 'calico', 'azure'. NetworkPolicy string // OutboundType used for building Kubernetes network. Possible values include: 'loadBalancer', 'managedNATGateway', 'userAssignedNATGateway', 'userDefinedRouting'. OutboundType *infrav1.ManagedControlPlaneOutboundType // SSHPublicKey is a string literal containing an ssh public key. Will autogenerate and discard if not provided. SSHPublicKey string // GetAllAgentPools is a function that returns the list of agent pool specifications in this cluster. GetAllAgentPools func() ([]azure.ResourceSpecGetter, error) // PodCIDR is the CIDR block for IP addresses distributed to pods PodCIDR string // ServiceCIDR is the CIDR block for IP addresses distributed to services ServiceCIDR string // DNSServiceIP is an IP address assigned to the Kubernetes DNS service DNSServiceIP *string // AddonProfiles are the profiles of managed cluster add-on. AddonProfiles []AddonProfile // AADProfile is Azure Active Directory configuration to integrate with AKS, for aad authentication. AADProfile *AADProfile // SKU is the SKU of the AKS to be provisioned. SKU *SKU // LoadBalancerProfile is the profile of the cluster load balancer. LoadBalancerProfile *LoadBalancerProfile // APIServerAccessProfile is the access profile for AKS API server. APIServerAccessProfile *APIServerAccessProfile // Headers is the list of headers to add to the HTTP requests to update this resource. Headers map[string]string // AutoScalerProfile is the parameters to be applied to the cluster-autoscaler when enabled. AutoScalerProfile *AutoScalerProfile // Identity is the AKS control plane Identity configuration Identity *infrav1.Identity // KubeletUserAssignedIdentity is the user-assigned identity for kubelet to authenticate to ACR. KubeletUserAssignedIdentity string // HTTPProxyConfig is the HTTP proxy configuration for the cluster. HTTPProxyConfig *HTTPProxyConfig // OIDCIssuerProfile is the OIDC issuer profile of the Managed Cluster. OIDCIssuerProfile *OIDCIssuerProfile }
ManagedClusterSpec contains properties to create a managed cluster.
func (*ManagedClusterSpec) CustomHeaders ¶ added in v1.4.0
func (s *ManagedClusterSpec) CustomHeaders() map[string]string
CustomHeaders returns custom headers to be added to the Azure API calls.
func (*ManagedClusterSpec) GetLoadBalancerProfile ¶ added in v1.10.0
func (s *ManagedClusterSpec) GetLoadBalancerProfile() (loadBalancerProfile *armcontainerservice.ManagedClusterLoadBalancerProfile)
GetLoadBalancerProfile returns an armcontainerservice.ManagedClusterLoadBalancerProfile from the information present in ManagedClusterSpec.LoadBalancerProfile.
func (*ManagedClusterSpec) OwnerResourceName ¶ added in v1.4.0
func (s *ManagedClusterSpec) OwnerResourceName() string
OwnerResourceName is a no-op for managed clusters.
func (*ManagedClusterSpec) Parameters ¶ added in v1.4.0
func (s *ManagedClusterSpec) Parameters(ctx context.Context, existing interface{}) (params interface{}, err error)
Parameters returns the parameters for the managed clusters.
func (*ManagedClusterSpec) ResourceGroupName ¶ added in v1.4.0
func (s *ManagedClusterSpec) ResourceGroupName() string
ResourceGroupName returns the name of the resource group.
func (*ManagedClusterSpec) ResourceName ¶ added in v1.4.0
func (s *ManagedClusterSpec) ResourceName() string
ResourceName returns the name of the AKS cluster.
type OIDCIssuerProfile ¶ added in v1.11.0
type OIDCIssuerProfile struct { // Enabled is whether the OIDC issuer is enabled. Enabled *bool }
OIDCIssuerProfile is the OIDC issuer profile of the Managed Cluster.
type SKU ¶ added in v1.4.0
type SKU struct { // Tier is the tier of a managed cluster SKU. Tier string }
SKU is an AKS SKU.
type Service ¶
type Service struct { Scope ManagedClusterScope async.Reconciler CredentialGetter }
Service provides operations on azure resources.
func New ¶ added in v0.5.2
func New(scope ManagedClusterScope) (*Service, error)
New creates a new service.
func (*Service) IsManaged ¶ added in v1.3.0
IsManaged returns always returns true as CAPZ does not support BYO managed cluster.
Directories ¶
Path | Synopsis |
---|---|
Package mock_managedclusters is a generated GoMock package.
|
Package mock_managedclusters is a generated GoMock package. |