Documentation ¶
Overview ¶
Package api stores an unversioned API.
Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT license.
Index ¶
- Constants
- Variables
- func ConvertContainerServiceToV20160330(api *ContainerService) *v20160330.ContainerService
- func ConvertContainerServiceToV20160930(api *ContainerService) *v20160930.ContainerService
- func ConvertContainerServiceToV20170131(api *ContainerService) *v20170131.ContainerService
- func ConvertContainerServiceToV20170701(api *ContainerService) *v20170701.ContainerService
- func ConvertContainerServiceToV20170831AgentPoolOnly(api *ContainerService) *v20170831.ManagedCluster
- func ConvertContainerServiceToV20180331AgentPoolOnly(api *ContainerService) *v20180331.ManagedCluster
- func ConvertContainerServiceToVLabs(api *ContainerService) *vlabs.ContainerService
- func ConvertOrchestratorVersionProfileToV20170930(api *OrchestratorVersionProfile) *v20170930.OrchestratorVersionProfile
- func ConvertOrchestratorVersionProfileToVLabs(api *OrchestratorVersionProfile) *vlabs.OrchestratorVersionProfile
- func FormatAzureProdFQDNByLocation(fqdnPrefix string, location string) string
- func GetOrchestratorVersionProfileListV20170930(orchestrator, version string) (*v20170930.OrchestratorVersionProfileList, error)
- func GetOrchestratorVersionProfileListVLabs(orchestrator, version string, windows bool) (*vlabs.OrchestratorVersionProfileList, error)
- type AADProfile
- type AddonProfile
- type AgentPoolProfile
- func (a *AgentPoolProfile) HasAvailabilityZones() bool
- func (a *AgentPoolProfile) HasDisks() bool
- func (a *AgentPoolProfile) IsAvailabilitySets() bool
- func (a *AgentPoolProfile) IsCoreOS() bool
- func (a *AgentPoolProfile) IsCustomVNET() bool
- func (a *AgentPoolProfile) IsLinux() bool
- func (a *AgentPoolProfile) IsLowPriorityScaleSet() bool
- func (a *AgentPoolProfile) IsManagedDisks() bool
- func (a *AgentPoolProfile) IsNSeriesSKU() bool
- func (a *AgentPoolProfile) IsRHEL() bool
- func (a *AgentPoolProfile) IsStorageAccount() bool
- func (a *AgentPoolProfile) IsVirtualMachineScaleSets() bool
- func (a *AgentPoolProfile) IsWindows() bool
- type AgentPoolProfileRole
- type AgentPoolResource
- type Apiloader
- func (a *Apiloader) DeserializeContainerService(contents []byte, validate, isUpdate bool, ...) (*ContainerService, string, error)
- func (a *Apiloader) LoadContainerService(contents []byte, version string, validate, isUpdate bool, ...) (*ContainerService, error)
- func (a *Apiloader) LoadContainerServiceForAgentPoolOnlyCluster(contents []byte, version string, validate, isUpdate bool, ...) (*ContainerService, bool, error)
- func (a *Apiloader) LoadContainerServiceFromFile(jsonFile string, validate, isUpdate bool, ...) (*ContainerService, string, error)
- func (a *Apiloader) SerializeContainerService(containerService *ContainerService, version string) ([]byte, error)
- type AuthenticatorType
- type AzureEndpointConfig
- type AzureEnvironmentSpecConfig
- type AzureOSImageConfig
- type BootstrapProfile
- type CertificateProfile
- type CloudProviderConfig
- type ClusterMetadata
- type ContainerService
- func ConvertV20160330ContainerService(v20160330 *v20160330.ContainerService) *ContainerService
- func ConvertV20160930ContainerService(v20160930 *v20160930.ContainerService) *ContainerService
- func ConvertV20170131ContainerService(v20170131 *v20170131.ContainerService) *ContainerService
- func ConvertV20170701ContainerService(v20170701 *v20170701.ContainerService, isUpdate bool) *ContainerService
- func ConvertV20170831AgentPoolOnly(v20170831 *v20170831.ManagedCluster) *ContainerService
- func ConvertV20180331AgentPoolOnly(v20180331 *v20180331.ManagedCluster) *ContainerService
- func ConvertVLabsAgentPoolOnly(vlabs *vlabs.ManagedCluster) *ContainerService
- func ConvertVLabsContainerService(vlabs *vlabs.ContainerService, isUpdate bool) *ContainerService
- func CreateMockContainerService(containerServiceName, orchestratorVersion string, masterCount, agentCount int, ...) *ContainerService
- type CustomCloudProfile
- type CustomFile
- type CustomNodesDNS
- type CustomProfile
- type CustomSearchDomain
- type DCOSSpecConfig
- type DcosConfig
- type DiagnosticsProfile
- type Distro
- type DockerSpecConfig
- type Extension
- type ExtensionProfile
- type FeatureFlags
- type HostedMasterProfile
- type ImageReference
- type JumpboxProfile
- type KeyVaultCertificate
- type KeyVaultID
- type KeyVaultSecrets
- type KeyvaultSecretRef
- type KubeProxyMode
- type KubernetesAddon
- type KubernetesConfig
- func (k *KubernetesConfig) GetAddonByName(addonName string) KubernetesAddon
- func (k *KubernetesConfig) GetAddonScript(addonName string) string
- func (k *KubernetesConfig) GetAzureCNIURLLinux(cloudSpecConfig AzureEnvironmentSpecConfig) string
- func (k *KubernetesConfig) GetAzureCNIURLWindows(cloudSpecConfig AzureEnvironmentSpecConfig) string
- func (k *KubernetesConfig) GetUserAssignedClientID() string
- func (k *KubernetesConfig) GetUserAssignedID() string
- func (k *KubernetesConfig) IsAADPodIdentityEnabled() bool
- func (k *KubernetesConfig) IsACIConnectorEnabled() bool
- func (k *KubernetesConfig) IsAzureCNIMonitoringEnabled() bool
- func (k *KubernetesConfig) IsBlobfuseFlexVolumeEnabled() bool
- func (k *KubernetesConfig) IsClusterAutoscalerEnabled() bool
- func (k *KubernetesConfig) IsContainerMonitoringEnabled() bool
- func (k *KubernetesConfig) IsDashboardEnabled() bool
- func (k *KubernetesConfig) IsIPMasqAgentEnabled() bool
- func (k *KubernetesConfig) IsKeyVaultFlexVolumeEnabled() bool
- func (k *KubernetesConfig) IsRBACEnabled() bool
- func (k *KubernetesConfig) IsReschedulerEnabled() bool
- func (k *KubernetesConfig) IsSMBFlexVolumeEnabled() bool
- func (k *KubernetesConfig) IsTillerEnabled() bool
- func (k *KubernetesConfig) PrivateJumpboxProvision() bool
- func (k *KubernetesConfig) RequiresDocker() bool
- func (k *KubernetesConfig) SetCloudProviderBackoffDefaults()
- func (k *KubernetesConfig) SetCloudProviderRateLimitDefaults()
- func (k *KubernetesConfig) UserAssignedClientIDEnabled() bool
- func (k *KubernetesConfig) UserAssignedIDEnabled() bool
- type KubernetesConfigDeprecated
- type KubernetesContainerSpec
- type KubernetesSpecConfig
- type LinuxProfile
- type MasterProfile
- func (m *MasterProfile) GetFirstConsecutiveStaticIPAddress(subnetStr string) string
- func (m *MasterProfile) HasAvailabilityZones() bool
- func (m *MasterProfile) IsCoreOS() bool
- func (m *MasterProfile) IsCustomVNET() bool
- func (m *MasterProfile) IsManagedDisks() bool
- func (m *MasterProfile) IsRHEL() bool
- func (m *MasterProfile) IsStorageAccount() bool
- func (m *MasterProfile) IsVirtualMachineScaleSets() bool
- type OSType
- type OrchestratorProfile
- func (o *OrchestratorProfile) GetAPIServerEtcdAPIVersion() string
- func (o *OrchestratorProfile) IsAzureCNI() bool
- func (o *OrchestratorProfile) IsDCOS() bool
- func (o *OrchestratorProfile) IsKubernetes() bool
- func (o *OrchestratorProfile) IsMetricsServerEnabled() bool
- func (o *OrchestratorProfile) IsSwarmMode() bool
- func (o *OrchestratorProfile) NeedsExecHealthz() bool
- func (o *OrchestratorProfile) RequireRouteTable() bool
- type OrchestratorVersionProfile
- type PrivateCluster
- type PrivateJumpboxProfile
- type Properties
- func (p *Properties) AreAgentProfilesCustomVNET() bool
- func (p *Properties) GetAgentVMPrefix(a *AgentPoolProfile) string
- func (p *Properties) GetAzureCNICidr() string
- func (p *Properties) GetClusterID() string
- func (p *Properties) GetClusterMetadata() *ClusterMetadata
- func (p *Properties) GetCustomEnvironmentJSON() string
- func (p *Properties) GetMasterVMPrefix() string
- func (p *Properties) GetNSGName() string
- func (p *Properties) GetNonMasqueradeCIDR() string
- func (p *Properties) GetPrimaryAvailabilitySetName() string
- func (p *Properties) GetPrimaryScaleSetName() string
- func (p *Properties) GetResourcePrefix() string
- func (p *Properties) GetRouteTableName() string
- func (p *Properties) GetSubnetName() string
- func (p *Properties) GetVNetResourceGroupName() string
- func (p *Properties) GetVirtualNetworkName() string
- func (p *Properties) HasAadProfile() bool
- func (p *Properties) HasAvailabilityZones() bool
- func (p *Properties) HasManagedDisks() bool
- func (p *Properties) HasNSeriesSKU() bool
- func (p *Properties) HasStorageAccountDisks() bool
- func (p *Properties) HasVMSSAgentPool() bool
- func (p *Properties) HasWindows() bool
- func (p *Properties) HasZonesForAllAgentPools() bool
- func (p *Properties) IsAzureStackCloud() bool
- func (p *Properties) IsHostedMasterProfile() bool
- func (p *Properties) IsIPMasqAgentEnabled() bool
- func (p *Properties) IsNVIDIADevicePluginEnabled() bool
- func (p *Properties) K8sOrchestratorName() string
- func (p *Properties) TotalNodes() int
- type ProvisioningState
- type PublicKey
- type ResourcePurchasePlan
- type ServicePrincipalProfile
- type TypeMeta
- type V20160330ARMContainerService
- type V20160930ARMContainerService
- type V20170131ARMContainerService
- type V20170701ARMContainerService
- type V20170831ARMManagedContainerService
- type V20180331ARMManagedContainerService
- type VMDiagnostics
- type VlabsARMContainerService
- type WindowsProfile
Constants ¶
const ( // Mesos is the string constant for MESOS orchestrator type Mesos string = "Mesos" // DCOS is the string constant for DCOS orchestrator type and defaults to DCOS188 DCOS string = "DCOS" // Swarm is the string constant for the Swarm orchestrator type Swarm string = "Swarm" // Kubernetes is the string constant for the Kubernetes orchestrator type Kubernetes string = "Kubernetes" // SwarmMode is the string constant for the Swarm Mode orchestrator type SwarmMode string = "SwarmMode" )
the orchestrators supported by vlabs
const ( // SwarmVersion is the Swarm orchestrator version SwarmVersion = "swarm:1.1.0" // SwarmDockerComposeVersion is the Docker Compose version SwarmDockerComposeVersion = "1.6.2" // DockerCEVersion is the DockerCE orchestrator version DockerCEVersion = "17.03.*" // DockerCEDockerComposeVersion is the Docker Compose version DockerCEDockerComposeVersion = "1.14.0" // KubernetesWindowsDockerVersion is the default version for docker on Windows nodes in kubernetes KubernetesWindowsDockerVersion = "18.09.0" // KubernetesDefaultWindowsSku is the default SKU for Windows VMs in kubernetes KubernetesDefaultWindowsSku = "Datacenter-Core-1809-with-Containers-smalldisk" )
const ( // MinAgentCount are the minimum number of agents per agent pool MinAgentCount = 1 // MaxAgentCount are the maximum number of agents per agent pool MaxAgentCount = 100 // MinPort specifies the minimum tcp port to open MinPort = 1 // MaxPort specifies the maximum tcp port to open MaxPort = 65535 // MaxDisks specifies the maximum attached disks to add to the cluster MaxDisks = 4 )
validation values
const ( // AvailabilitySet means that the vms are in an availability set AvailabilitySet = "AvailabilitySet" // DefaultOrchestratorName specifies the 3 character orchestrator code of the cluster template and affects resource naming. DefaultOrchestratorName = "k8s" // DefaultHostedProfileMasterName specifies the 3 character orchestrator code of the clusters with hosted master profiles. DefaultHostedProfileMasterName = "aks" // DefaultFirstConsecutiveKubernetesStaticIP specifies the static IP address on Kubernetes master 0 DefaultFirstConsecutiveKubernetesStaticIP = "10.240.255.5" // DefaultFirstConsecutiveKubernetesStaticIPVMSS specifies the static IP address on Kubernetes master 0 of VMSS DefaultFirstConsecutiveKubernetesStaticIPVMSS = "10.240.0.4" //DefaultCNICIDR specifies the default value for DefaultCNICIDR = "168.63.129.16/32" // DefaultKubernetesFirstConsecutiveStaticIPOffset specifies the IP address offset of master 0 // when VNET integration is enabled. DefaultKubernetesFirstConsecutiveStaticIPOffset = 5 // DefaultKubernetesFirstConsecutiveStaticIPOffsetVMSS specifies the IP address offset of master 0 in VMSS // when VNET integration is enabled. DefaultKubernetesFirstConsecutiveStaticIPOffsetVMSS = 4 // DefaultSubnetNameResourceSegmentIndex specifies the default subnet name resource segment index. DefaultSubnetNameResourceSegmentIndex = 10 // DefaultVnetResourceGroupSegmentIndex specifies the default virtual network resource segment index. DefaultVnetResourceGroupSegmentIndex = 4 // DefaultVnetNameResourceSegmentIndex specifies the default virtual network name segment index. DefaultVnetNameResourceSegmentIndex = 8 // VirtualMachineScaleSets means that the vms are in a virtual machine scaleset VirtualMachineScaleSets = "VirtualMachineScaleSets" // ScaleSetPriorityRegular is the default ScaleSet Priority ScaleSetPriorityRegular = "Regular" // ScaleSetPriorityLow means the ScaleSet will use Low-priority VMs ScaleSetPriorityLow = "Low" // ScaleSetEvictionPolicyDelete is the default Eviction Policy for Low-priority VM ScaleSets ScaleSetEvictionPolicyDelete = "Delete" // ScaleSetEvictionPolicyDeallocate means a Low-priority VM ScaleSet will deallocate, rather than delete, VMs. ScaleSetEvictionPolicyDeallocate = "Deallocate" )
Availability profiles
const ( // StorageAccount means that the nodes use raw storage accounts for their os and attached volumes StorageAccount = "StorageAccount" // ManagedDisks means that the nodes use managed disks for their os and attached volumes ManagedDisks = "ManagedDisks" )
storage profiles
const ( // DefaultHeapsterAddonEnabled determines the acs-engine provided default for enabling heapster addon DefaultHeapsterAddonEnabled = true // DefaultTillerAddonEnabled determines the aks-engine provided default for enabling tiller addon DefaultTillerAddonEnabled = true // DefaultAADPodIdentityAddonEnabled determines the aks-engine provided default for enabling aad-pod-identity addon DefaultAADPodIdentityAddonEnabled = false // DefaultACIConnectorAddonEnabled determines the aks-engine provided default for enabling aci connector addon DefaultACIConnectorAddonEnabled = false // DefaultClusterAutoscalerAddonEnabled determines the aks-engine provided default for enabling cluster autoscaler addon DefaultClusterAutoscalerAddonEnabled = false // DefaultBlobfuseFlexVolumeAddonEnabled determines the aks-engine provided default for enabling blobfuse flexvolume addon DefaultBlobfuseFlexVolumeAddonEnabled = true // DefaultSMBFlexVolumeAddonEnabled determines the aks-engine provided default for enabling smb flexvolume addon DefaultSMBFlexVolumeAddonEnabled = false // DefaultKeyVaultFlexVolumeAddonEnabled determines the aks-engine provided default for enabling key vault flexvolume addon DefaultKeyVaultFlexVolumeAddonEnabled = true // DefaultDashboardAddonEnabled determines the aks-engine provided default for enabling kubernetes-dashboard addon DefaultDashboardAddonEnabled = true // DefaultReschedulerAddonEnabled determines the aks-engine provided default for enabling kubernetes-rescheduler addon DefaultReschedulerAddonEnabled = false // DefaultAzureCNIMonitoringAddonEnabled determines the aks-engine provided default for enabling azurecni-network monitoring addon DefaultAzureCNIMonitoringAddonEnabled = true // DefaultRBACEnabled determines the aks-engine provided default for enabling kubernetes RBAC DefaultRBACEnabled = true // DefaultUseInstanceMetadata determines the aks-engine provided default for enabling Azure cloudprovider instance metadata service DefaultUseInstanceMetadata = true // DefaultLoadBalancerSku determines the aks-engine provided default for enabling Azure cloudprovider load balancer SKU DefaultLoadBalancerSku = "Basic" // DefaultExcludeMasterFromStandardLB determines the aks-engine provided default for excluding master nodes from standard load balancer. DefaultExcludeMasterFromStandardLB = true // DefaultSecureKubeletEnabled determines the aks-engine provided default for securing kubelet communications DefaultSecureKubeletEnabled = true // DefaultMetricsServerAddonEnabled determines the aks-engine provided default for enabling kubernetes metrics-server addon DefaultMetricsServerAddonEnabled = false // DefaultNVIDIADevicePluginAddonEnabled determines the aks-engine provided default for enabling NVIDIA Device Plugin DefaultNVIDIADevicePluginAddonEnabled = false // DefaultContainerMonitoringAddonEnabled determines the aks-engine provided default for enabling kubernetes container monitoring addon DefaultContainerMonitoringAddonEnabled = false // DefaultDNSAutoscalerAddonEnabled determines the aks-engine provided default for dns-autoscaler addon DefaultDNSAutoscalerAddonEnabled = false // IPMasqAgentAddonEnabled enables the ip-masq-agent addon IPMasqAgentAddonEnabled = true // DefaultHeapsterAddonName is the name of the heapster addon DefaultHeapsterAddonName = "heapster" // DefaultTillerAddonName is the name of the tiller addon deployment DefaultTillerAddonName = "tiller" // DefaultAADPodIdentityAddonName is the name of the aad-pod-identity addon deployment DefaultAADPodIdentityAddonName = "aad-pod-identity" // DefaultACIConnectorAddonName is the name of the aci-connector addon deployment DefaultACIConnectorAddonName = "aci-connector" // DefaultClusterAutoscalerAddonName is the name of the cluster autoscaler addon deployment DefaultClusterAutoscalerAddonName = "cluster-autoscaler" // DefaultBlobfuseFlexVolumeAddonName is the name of the blobfuse flexvolume addon DefaultBlobfuseFlexVolumeAddonName = "blobfuse-flexvolume" // DefaultSMBFlexVolumeAddonName is the name of the smb flexvolume addon DefaultSMBFlexVolumeAddonName = "smb-flexvolume" // DefaultKeyVaultFlexVolumeAddonName is the name of the key vault flexvolume addon deployment DefaultKeyVaultFlexVolumeAddonName = "keyvault-flexvolume" // DefaultDashboardAddonName is the name of the kubernetes-dashboard addon deployment DefaultDashboardAddonName = "kubernetes-dashboard" // DefaultReschedulerAddonName is the name of the rescheduler addon deployment DefaultReschedulerAddonName = "rescheduler" // DefaultMetricsServerAddonName is the name of the kubernetes metrics server addon deployment DefaultMetricsServerAddonName = "metrics-server" // NVIDIADevicePluginAddonName is the name of the NVIDIA device plugin addon deployment NVIDIADevicePluginAddonName = "nvidia-device-plugin" // ContainerMonitoringAddonName is the name of the kubernetes Container Monitoring addon deployment ContainerMonitoringAddonName = "container-monitoring" // IPMASQAgentAddonName is the name of the ip masq agent addon IPMASQAgentAddonName = "ip-masq-agent" // DefaultPrivateClusterEnabled determines the aks-engine provided default for enabling kubernetes Private Cluster DefaultPrivateClusterEnabled = false // NetworkPolicyAzure is the string expression for Azure CNI network policy manager NetworkPolicyAzure = "azure" // NetworkPolicyNone is the string expression for the deprecated NetworkPolicy usage pattern "none" NetworkPolicyNone = "none" // NetworkPluginKubenet is the string expression for the kubenet NetworkPlugin config NetworkPluginKubenet = "kubenet" // NetworkPluginAzure is the string expression for Azure CNI plugin. NetworkPluginAzure = "azure" // DefaultSinglePlacementGroup determines the aks-engine provided default for supporting large VMSS // (true = single placement group 0-100 VMs, false = multiple placement group 0-1000 VMs) DefaultSinglePlacementGroup = true // ARMNetworkNamespace is the ARM-specific namespace for ARM's network providers. ARMNetworkNamespace = "Microsoft.Networks" // ARMVirtualNetworksResourceType is the ARM resource type for virtual network resources of ARM. ARMVirtualNetworksResourceType = "virtualNetworks" // DefaultAcceleratedNetworkingWindowsEnabled determines the aks-engine provided default for enabling accelerated networking on Windows nodes DefaultAcceleratedNetworkingWindowsEnabled = false // DefaultAcceleratedNetworking determines the aks-engine provided default for enabling accelerated networking on Linux nodes DefaultAcceleratedNetworking = true // DefaultDNSAutoscalerAddonName is the name of the dns-autoscaler addon DefaultDNSAutoscalerAddonName = "dns-autoscaler" // DefaultUseCosmos determines if the cluster will use cosmos as etcd storage DefaultUseCosmos = false // DefaultMaximumLoadBalancerRuleCount determines the default value of maximum allowed loadBalancer rule count according to // https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits#load-balancer. DefaultMaximumLoadBalancerRuleCount = 250 )
const ( // DefaultKubernetesCloudProviderBackoffRetries is 6, takes effect if DefaultKubernetesCloudProviderBackoff is true DefaultKubernetesCloudProviderBackoffRetries = 6 // DefaultKubernetesCloudProviderBackoffJitter is 1, takes effect if DefaultKubernetesCloudProviderBackoff is true DefaultKubernetesCloudProviderBackoffJitter = 1.0 // DefaultKubernetesCloudProviderBackoffDuration is 5, takes effect if DefaultKubernetesCloudProviderBackoff is true DefaultKubernetesCloudProviderBackoffDuration = 5 // DefaultKubernetesCloudProviderBackoffExponent is 1.5, takes effect if DefaultKubernetesCloudProviderBackoff is true DefaultKubernetesCloudProviderBackoffExponent = 1.5 // DefaultKubernetesCloudProviderRateLimitQPS is 3, takes effect if DefaultKubernetesCloudProviderRateLimit is true DefaultKubernetesCloudProviderRateLimitQPS = 3.0 // DefaultKubernetesCloudProviderRateLimitBucket is 10, takes effect if DefaultKubernetesCloudProviderRateLimit is true DefaultKubernetesCloudProviderRateLimitBucket = 10 )
const ( //AzureEdgeDCOSBootstrapDownloadURL is the azure edge CDN download url AzureEdgeDCOSBootstrapDownloadURL = "https://dcosio.azureedge.net/dcos/%s/bootstrap/%s.bootstrap.tar.xz" //AzureChinaCloudDCOSBootstrapDownloadURL is the China specific DCOS package download url. AzureChinaCloudDCOSBootstrapDownloadURL = "https://acsengine.blob.core.chinacloudapi.cn/dcos/%s.bootstrap.tar.xz" )
const ( // AzureCniPluginVerLinux specifies version of Azure CNI plugin, which has been mirrored from // https://github.com/Azure/azure-container-networking/releases/download/${AZURE_PLUGIN_VER}/azure-vnet-cni-linux-amd64-${AZURE_PLUGIN_VER}.tgz // to https://acs-mirror.azureedge.net/cni AzureCniPluginVerLinux = "v1.0.17" // AzureCniPluginVerWindows specifies version of Azure CNI plugin, which has been mirrored from // https://github.com/Azure/azure-container-networking/releases/download/${AZURE_PLUGIN_VER}/azure-vnet-cni-windows-amd64-${AZURE_PLUGIN_VER}.zip // to https://acs-mirror.azureedge.net/cni AzureCniPluginVerWindows = "v1.0.17" // CNIPluginVer specifies the version of CNI implementation // https://github.com/containernetworking/plugins CNIPluginVer = "v0.7.1" )
const ( // DefaultMasterSubnet specifies the default master subnet for DCOS or Swarm DefaultMasterSubnet = "172.16.0.0/24" // DefaultFirstConsecutiveStaticIP specifies the static IP address on master 0 for DCOS or Swarm DefaultFirstConsecutiveStaticIP = "172.16.0.5" // DefaultSwarmWindowsMasterSubnet specifies the default master subnet for a Swarm Windows cluster DefaultSwarmWindowsMasterSubnet = "192.168.255.0/24" // DefaultSwarmWindowsFirstConsecutiveStaticIP specifies the static IP address on master 0 for a Swarm WIndows cluster DefaultSwarmWindowsFirstConsecutiveStaticIP = "192.168.255.5" // DefaultDCOSMasterSubnet specifies the default master subnet for a DCOS cluster DefaultDCOSMasterSubnet = "192.168.255.0/24" // DefaultDCOSFirstConsecutiveStaticIP specifies the static IP address on master 0 for a DCOS cluster DefaultDCOSFirstConsecutiveStaticIP = "192.168.255.5" // DefaultDCOSBootstrapStaticIP specifies the static IP address on bootstrap for a DCOS cluster DefaultDCOSBootstrapStaticIP = "192.168.255.240" // DefaultKubernetesMasterSubnet specifies the default subnet for masters and agents. // Except when master VMSS is used, this specifies the default subnet for masters. DefaultKubernetesMasterSubnet = "10.240.0.0/16" // DefaultAgentSubnetTemplate specifies a default agent subnet DefaultAgentSubnetTemplate = "10.%d.0.0/16" // DefaultKubernetesSubnet specifies the default subnet used for all masters, agents and pods // when VNET integration is enabled. DefaultKubernetesSubnet = "10.240.0.0/12" // DefaultVNETCIDR is the default CIDR block for the VNET DefaultVNETCIDR = "10.0.0.0/8" // DefaultKubernetesMaxPods is the maximum number of pods to run on a node. DefaultKubernetesMaxPods = 110 // DefaultKubernetesMaxPodsVNETIntegrated is the maximum number of pods to run on a node when VNET integration is enabled. DefaultKubernetesMaxPodsVNETIntegrated = 30 // DefaultKubernetesClusterDomain is the dns suffix used in the cluster (used as a SAN in the PKI generation) DefaultKubernetesClusterDomain = "cluster.local" // DefaultInternalLbStaticIPOffset specifies the offset of the internal LoadBalancer's IP // address relative to the first consecutive Kubernetes static IP DefaultInternalLbStaticIPOffset = 10 // NetworkPolicyCalico is the string expression for calico network policy config option NetworkPolicyCalico = "calico" // NetworkPolicyCilium is the string expression for cilium network policy config option NetworkPolicyCilium = "cilium" // NetworkPluginFlannel is the string expression for flannel network policy config option NetworkPluginFlannel = "flannel" // DefaultNetworkPlugin defines the network plugin to use by default DefaultNetworkPlugin = NetworkPluginKubenet // DefaultNetworkPolicy defines the network policy implementation to use by default DefaultNetworkPolicy = "" // DefaultNetworkPluginWindows defines the network plugin implementation to use by default for clusters with Windows agent pools DefaultNetworkPluginWindows = NetworkPluginKubenet // DefaultNetworkPolicyWindows defines the network policy implementation to use by default for clusters with Windows agent pools DefaultNetworkPolicyWindows = "" // DefaultContainerRuntime is docker DefaultContainerRuntime = "docker" // DefaultKubernetesNodeStatusUpdateFrequency is 10s, see --node-status-update-frequency at https://kubernetes.io/docs/admin/kubelet/ DefaultKubernetesNodeStatusUpdateFrequency = "10s" // DefaultKubernetesHardEvictionThreshold is memory.available<100Mi,nodefs.available<10%,nodefs.inodesFree<5%, see --eviction-hard at https://kubernetes.io/docs/admin/kubelet/ DefaultKubernetesHardEvictionThreshold = "memory.available<100Mi,nodefs.available<10%,nodefs.inodesFree<5%" // DefaultKubernetesCtrlMgrNodeMonitorGracePeriod is 40s, see --node-monitor-grace-period at https://kubernetes.io/docs/admin/kube-controller-manager/ DefaultKubernetesCtrlMgrNodeMonitorGracePeriod = "40s" // DefaultKubernetesCtrlMgrPodEvictionTimeout is 5m0s, see --pod-eviction-timeout at https://kubernetes.io/docs/admin/kube-controller-manager/ DefaultKubernetesCtrlMgrPodEvictionTimeout = "5m0s" // DefaultKubernetesCtrlMgrRouteReconciliationPeriod is 10s, see --route-reconciliation-period at https://kubernetes.io/docs/admin/kube-controller-manager/ DefaultKubernetesCtrlMgrRouteReconciliationPeriod = "10s" // DefaultKubernetesCtrlMgrTerminatedPodGcThreshold is set to 5000, see --terminated-pod-gc-threshold at https://kubernetes.io/docs/admin/kube-controller-manager/ and https://github.com/kubernetes/kubernetes/issues/22680 DefaultKubernetesCtrlMgrTerminatedPodGcThreshold = "5000" // DefaultKubernetesCtrlMgrUseSvcAccountCreds is "true", see --use-service-account-credentials at https://kubernetes.io/docs/admin/kube-controller-manager/ DefaultKubernetesCtrlMgrUseSvcAccountCreds = "false" // DefaultKubernetesCloudProviderBackoff is false to disable cloudprovider backoff implementation for API calls DefaultKubernetesCloudProviderBackoff = true // DefaultKubernetesCloudProviderRateLimit is false to disable cloudprovider rate limiting implementation for API calls DefaultKubernetesCloudProviderRateLimit = true // DefaultTillerMaxHistory limits the maximum number of revisions saved per release. Use 0 for no limit. DefaultTillerMaxHistory = 0 //DefaultKubernetesGCHighThreshold specifies the value for for the image-gc-high-threshold kubelet flag DefaultKubernetesGCHighThreshold = 85 //DefaultKubernetesGCLowThreshold specifies the value for the image-gc-low-threshold kubelet flag DefaultKubernetesGCLowThreshold = 80 // DefaultEtcdVersion specifies the default etcd version to install DefaultEtcdVersion = "3.2.25" // DefaultEtcdDiskSize specifies the default size for Kubernetes master etcd disk volumes in GB DefaultEtcdDiskSize = "256" // DefaultEtcdDiskSizeGT3Nodes = size for Kubernetes master etcd disk volumes in GB if > 3 nodes DefaultEtcdDiskSizeGT3Nodes = "512" // DefaultEtcdDiskSizeGT10Nodes = size for Kubernetes master etcd disk volumes in GB if > 10 nodes DefaultEtcdDiskSizeGT10Nodes = "1024" // DefaultEtcdDiskSizeGT20Nodes = size for Kubernetes master etcd disk volumes in GB if > 20 nodes DefaultEtcdDiskSizeGT20Nodes = "2048" // AzureCNINetworkMonitoringAddonName is the name of the Azure CNI networkmonitor addon AzureCNINetworkMonitoringAddonName = "azure-cni-networkmonitor" // AzureNetworkPolicyAddonName is the name of the Azure CNI networkmonitor addon AzureNetworkPolicyAddonName = "azure-npm-daemonset" // DefaultMasterEtcdClientPort is the default etcd client port for Kubernetes master nodes DefaultMasterEtcdClientPort = 2379 // DefaultKubeletEventQPS is 0, see --event-qps at https://kubernetes.io/docs/reference/generated/kubelet/ DefaultKubeletEventQPS = "0" // DefaultKubeletCadvisorPort is 0, see --cadvisor-port at https://kubernetes.io/docs/reference/generated/kubelet/ DefaultKubeletCadvisorPort = "0" // DefaultJumpboxDiskSize specifies the default size for private cluster jumpbox OS disk in GB DefaultJumpboxDiskSize = 30 // DefaultJumpboxUsername specifies the default admin username for the private cluster jumpbox DefaultJumpboxUsername = "azureuser" // DefaultKubeletPodMaxPIDs specifies the default max pid authorized by pods DefaultKubeletPodMaxPIDs = 100 // DefaultKubernetesAgentSubnetVMSS specifies the default subnet for agents when master is VMSS DefaultKubernetesAgentSubnetVMSS = "10.248.0.0/13" // DefaultKubernetesClusterSubnet specifies the default subnet for pods. DefaultKubernetesClusterSubnet = "10.244.0.0/16" // DefaultKubernetesServiceCIDR specifies the IP subnet that kubernetes will create Service IPs within. DefaultKubernetesServiceCIDR = "10.0.0.0/16" // DefaultKubernetesDNSServiceIP specifies the IP address that kube-dns listens on by default. must by in the default Service CIDR range. DefaultKubernetesDNSServiceIP = "10.0.0.10" // DefaultMobyVersion specifies the default Azure build version of Moby to install. DefaultMobyVersion = "3.0.4" // DefaultDockerBridgeSubnet specifies the default subnet for the docker bridge network for masters and agents. DefaultDockerBridgeSubnet = "172.17.0.1/16" // DefaultKubernetesMaxPodsKubenet is the maximum number of pods to run on a node for Kubenet. DefaultKubernetesMaxPodsKubenet = "110" // DefaultKubernetesMaxPodsAzureCNI is the maximum number of pods to run on a node for Azure CNI. DefaultKubernetesMaxPodsAzureCNI = "30" // DefaultKubernetesAPIServerEnableProfiling is the config that enables profiling via web interface host:port/debug/pprof/ DefaultKubernetesAPIServerEnableProfiling = "false" // DefaultKubernetesCtrMgrEnableProfiling is the config that enables profiling via web interface host:port/debug/pprof/ DefaultKubernetesCtrMgrEnableProfiling = "false" // DefaultKubernetesSchedulerEnableProfiling is the config that enables profiling via web interface host:port/debug/pprof/ DefaultKubernetesSchedulerEnableProfiling = "false" // DefaultNonMasqueradeCIDR is the default --non-masquerade-cidr value for kubelet DefaultNonMasqueradeCIDR = "0.0.0.0/0" // DefaultKubeProxyMode is the default KubeProxyMode value DefaultKubeProxyMode KubeProxyMode = KubeProxyModeIPTables )
const ( // AzurePublicCloud is a const string reference identifier for public cloud AzurePublicCloud = "AzurePublicCloud" // AzureChinaCloud is a const string reference identifier for china cloud AzureChinaCloud = "AzureChinaCloud" // AzureStackCloud is a const string reference identifier for Azure Stack cloud AzureStackCloud = "AzureStackCloud" )
const (
//DefaultExtensionsRootURL Root URL for extensions
DefaultExtensionsRootURL = "https://raw.githubusercontent.com/Azure/aks-engine/master/"
)
const (
// VHDDiskSizeAKS maps to the OSDiskSizeGB for AKS VHD image
VHDDiskSizeAKS = 30
)
Variables ¶
var ( //DefaultKubernetesSpecConfig is the default Docker image source of Kubernetes DefaultKubernetesSpecConfig = KubernetesSpecConfig{ KubernetesImageBase: "k8s.gcr.io/", TillerImageBase: "gcr.io/kubernetes-helm/", ACIConnectorImageBase: "microsoft/", NVIDIAImageBase: "nvidia/", AzureCNIImageBase: "containernetworking/", EtcdDownloadURLBase: "https://acs-mirror.azureedge.net/github-coreos", KubeBinariesSASURLBase: "https://acs-mirror.azureedge.net/wink8s/", WindowsTelemetryGUID: "fb801154-36b9-41bc-89c2-f4d4f05472b0", CNIPluginsDownloadURL: "https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-" + CNIPluginVer + ".tgz", VnetCNILinuxPluginsDownloadURL: "https://acs-mirror.azureedge.net/cni/azure-vnet-cni-linux-amd64-" + AzureCniPluginVerLinux + ".tgz", VnetCNIWindowsPluginsDownloadURL: "https://acs-mirror.azureedge.net/cni/azure-vnet-cni-windows-amd64-" + AzureCniPluginVerWindows + ".zip", ContainerdDownloadURLBase: "https://storage.googleapis.com/cri-containerd-release/", } //DefaultDCOSSpecConfig is the default DC/OS binary download URL. DefaultDCOSSpecConfig = DCOSSpecConfig{ DCOS188BootstrapDownloadURL: fmt.Sprintf(AzureEdgeDCOSBootstrapDownloadURL, "stable", "5df43052907c021eeb5de145419a3da1898c58a5"), DCOS190BootstrapDownloadURL: fmt.Sprintf(AzureEdgeDCOSBootstrapDownloadURL, "stable", "58fd0833ce81b6244fc73bf65b5deb43217b0bd7"), DCOS198BootstrapDownloadURL: fmt.Sprintf(AzureEdgeDCOSBootstrapDownloadURL, "stable/1.9.8", "f4ae0d20665fc68ee25282d6f78681b2773c6e10"), DCOS110BootstrapDownloadURL: fmt.Sprintf(AzureEdgeDCOSBootstrapDownloadURL, "stable/1.10.0", "4d92536e7381176206e71ee15b5ffe454439920c"), DCOS111BootstrapDownloadURL: fmt.Sprintf(AzureEdgeDCOSBootstrapDownloadURL, "stable/1.11.0", "a0654657903fb68dff60f6e522a7f241c1bfbf0f"), DCOSWindowsBootstrapDownloadURL: "http://dcos-win.westus.cloudapp.azure.com/dcos-windows/stable/", DcosRepositoryURL: "https://dcosio.azureedge.net/dcos/stable/1.11.0", DcosClusterPackageListID: "248a66388bba1adbcb14a52fd3b7b424ab06fa76", } //DefaultDockerSpecConfig is the default Docker engine repo. DefaultDockerSpecConfig = DockerSpecConfig{ DockerEngineRepo: "https://aptdocker.azureedge.net/repo", DockerComposeDownloadURL: "https://github.com/docker/compose/releases/download", } //DefaultUbuntuImageConfig is the default Linux distribution. DefaultUbuntuImageConfig = AzureOSImageConfig{ ImageOffer: "UbuntuServer", ImageSku: "16.04-LTS", ImagePublisher: "Canonical", ImageVersion: "latest", } //SovereignCloudsUbuntuImageConfig is the Linux distribution for Azure Sovereign Clouds. SovereignCloudsUbuntuImageConfig = AzureOSImageConfig{ ImageOffer: "UbuntuServer", ImageSku: "16.04-LTS", ImagePublisher: "Canonical", ImageVersion: "latest", } //GermanCloudUbuntuImageConfig is the Linux distribution for Azure Sovereign Clouds. GermanCloudUbuntuImageConfig = AzureOSImageConfig{ ImageOffer: "UbuntuServer", ImageSku: "16.04-LTS", ImagePublisher: "Canonical", ImageVersion: "16.04.201801050", } //DefaultRHELOSImageConfig is the RHEL Linux distribution. DefaultRHELOSImageConfig = AzureOSImageConfig{ ImageOffer: "RHEL", ImageSku: "7.3", ImagePublisher: "RedHat", ImageVersion: "latest", } //DefaultCoreOSImageConfig is the CoreOS Linux distribution. DefaultCoreOSImageConfig = AzureOSImageConfig{ ImageOffer: "CoreOS", ImageSku: "Stable", ImagePublisher: "CoreOS", ImageVersion: "latest", } // DefaultAKSOSImageConfig is the AKS image based on Ubuntu 16.04. DefaultAKSOSImageConfig = AzureOSImageConfig{ ImageOffer: "aks", ImageSku: "aks-ubuntu-1604-201902", ImagePublisher: "microsoft-aks", ImageVersion: "2019.02.12", } // DefaultAKSDockerEngineOSImageConfig is the AKS image based on Ubuntu 16.04. DefaultAKSDockerEngineOSImageConfig = AzureOSImageConfig{ ImageOffer: "aks", ImageSku: "aks-ubuntu-1604-docker-engine", ImagePublisher: "microsoft-aks", ImageVersion: "2019.02.12", } // DefaultACC1604OSImageConfig is the ACC image based on Ubuntu 16.04. DefaultACC1604OSImageConfig = AzureOSImageConfig{ ImageOffer: "confidential-compute-preview", ImageSku: "16.04-LTS", ImagePublisher: "Canonical", ImageVersion: "latest", } //AzureCloudSpec is the default configurations for global azure. AzureCloudSpec = AzureEnvironmentSpecConfig{ CloudName: AzurePublicCloud, DockerSpecConfig: DefaultDockerSpecConfig, KubernetesSpecConfig: DefaultKubernetesSpecConfig, DCOSSpecConfig: DefaultDCOSSpecConfig, EndpointConfig: AzureEndpointConfig{ ResourceManagerVMDNSSuffix: "cloudapp.azure.com", }, OSImageConfig: map[Distro]AzureOSImageConfig{ Ubuntu: DefaultUbuntuImageConfig, RHEL: DefaultRHELOSImageConfig, CoreOS: DefaultCoreOSImageConfig, AKS: DefaultAKSOSImageConfig, AKSDockerEngine: DefaultAKSDockerEngineOSImageConfig, ACC1604: DefaultACC1604OSImageConfig, }, } //AzureGermanCloudSpec is the German cloud config. AzureGermanCloudSpec = AzureEnvironmentSpecConfig{ CloudName: azureGermanCloud, DockerSpecConfig: DefaultDockerSpecConfig, KubernetesSpecConfig: DefaultKubernetesSpecConfig, DCOSSpecConfig: DefaultDCOSSpecConfig, EndpointConfig: AzureEndpointConfig{ ResourceManagerVMDNSSuffix: "cloudapp.microsoftazure.de", }, OSImageConfig: map[Distro]AzureOSImageConfig{ Ubuntu: GermanCloudUbuntuImageConfig, RHEL: DefaultRHELOSImageConfig, CoreOS: DefaultCoreOSImageConfig, AKS: GermanCloudUbuntuImageConfig, AKSDockerEngine: GermanCloudUbuntuImageConfig, }, } //AzureUSGovernmentCloud is the US government config. AzureUSGovernmentCloud = AzureEnvironmentSpecConfig{ CloudName: azureUSGovernmentCloud, DockerSpecConfig: DefaultDockerSpecConfig, KubernetesSpecConfig: DefaultKubernetesSpecConfig, DCOSSpecConfig: DefaultDCOSSpecConfig, EndpointConfig: AzureEndpointConfig{ ResourceManagerVMDNSSuffix: "cloudapp.usgovcloudapi.net", }, OSImageConfig: map[Distro]AzureOSImageConfig{ Ubuntu: SovereignCloudsUbuntuImageConfig, RHEL: DefaultRHELOSImageConfig, CoreOS: DefaultCoreOSImageConfig, AKS: SovereignCloudsUbuntuImageConfig, AKSDockerEngine: SovereignCloudsUbuntuImageConfig, }, } //AzureChinaCloudSpec is the configurations for Azure China (Mooncake) AzureChinaCloudSpec = AzureEnvironmentSpecConfig{ CloudName: AzureChinaCloud, DockerSpecConfig: DockerSpecConfig{ DockerEngineRepo: "https://mirror.azk8s.cn/docker-engine/apt/repo/", DockerComposeDownloadURL: "https://mirror.azk8s.cn/docker-toolbox/linux/compose", }, KubernetesSpecConfig: KubernetesSpecConfig{ KubernetesImageBase: "gcr.azk8s.cn/google_containers/", TillerImageBase: "gcr.azk8s.cn/kubernetes-helm/", ACIConnectorImageBase: "dockerhub.azk8s.cn/microsoft/", NVIDIAImageBase: "dockerhub.azk8s.cn/nvidia/", AzureCNIImageBase: "dockerhub.azk8s.cn/containernetworking/", EtcdDownloadURLBase: "https://mirror.azk8s.cn/kubernetes/etcd", KubeBinariesSASURLBase: DefaultKubernetesSpecConfig.KubeBinariesSASURLBase, WindowsTelemetryGUID: DefaultKubernetesSpecConfig.WindowsTelemetryGUID, CNIPluginsDownloadURL: "https://mirror.azk8s.cn/kubernetes/containernetworking-plugins/cni-plugins-amd64-" + CNIPluginVer + ".tgz", VnetCNILinuxPluginsDownloadURL: "https://mirror.azk8s.cn/kubernetes/azure-container-networking/azure-vnet-cni-linux-amd64-" + AzureCniPluginVerLinux + ".tgz", VnetCNIWindowsPluginsDownloadURL: "https://mirror.azk8s.cn/kubernetes/azure-container-networking/azure-vnet-cni-windows-amd64-" + AzureCniPluginVerWindows + ".zip", ContainerdDownloadURLBase: "https://mirror.azk8s.cn/kubernetes/containerd/", }, DCOSSpecConfig: DCOSSpecConfig{ DCOS188BootstrapDownloadURL: fmt.Sprintf(AzureChinaCloudDCOSBootstrapDownloadURL, "5df43052907c021eeb5de145419a3da1898c58a5"), DCOSWindowsBootstrapDownloadURL: "https://dcosdevstorage.blob.core.windows.net/dcos-windows", DCOS190BootstrapDownloadURL: fmt.Sprintf(AzureChinaCloudDCOSBootstrapDownloadURL, "58fd0833ce81b6244fc73bf65b5deb43217b0bd7"), DCOS198BootstrapDownloadURL: fmt.Sprintf(AzureChinaCloudDCOSBootstrapDownloadURL, "f4ae0d20665fc68ee25282d6f78681b2773c6e10"), }, EndpointConfig: AzureEndpointConfig{ ResourceManagerVMDNSSuffix: "cloudapp.chinacloudapi.cn", }, OSImageConfig: map[Distro]AzureOSImageConfig{ Ubuntu: SovereignCloudsUbuntuImageConfig, RHEL: DefaultRHELOSImageConfig, CoreOS: DefaultCoreOSImageConfig, AKS: DefaultAKSOSImageConfig, AKSDockerEngine: DefaultAKSDockerEngineOSImageConfig, }, } // AzureCloudSpecEnvMap is the environment configuration map for all the Azure cloud environments. AzureCloudSpecEnvMap = map[string]AzureEnvironmentSpecConfig{ AzureChinaCloud: AzureChinaCloudSpec, AzurePublicCloud: AzureCloudSpec, // contains filtered or unexported fields } )
var K8sComponentsByVersionMap map[string]map[string]string
K8sComponentsByVersionMap represents Docker images used for Kubernetes components based on Kubernetes versions (major.minor.patch)
Functions ¶
func ConvertContainerServiceToV20160330 ¶
func ConvertContainerServiceToV20160330(api *ContainerService) *v20160330.ContainerService
ConvertContainerServiceToV20160330 converts an unversioned ContainerService to a v20160330 ContainerService
func ConvertContainerServiceToV20160930 ¶
func ConvertContainerServiceToV20160930(api *ContainerService) *v20160930.ContainerService
ConvertContainerServiceToV20160930 converts an unversioned ContainerService to a v20160930 ContainerService
func ConvertContainerServiceToV20170131 ¶
func ConvertContainerServiceToV20170131(api *ContainerService) *v20170131.ContainerService
ConvertContainerServiceToV20170131 converts an unversioned ContainerService to a v20170131 ContainerService
func ConvertContainerServiceToV20170701 ¶
func ConvertContainerServiceToV20170701(api *ContainerService) *v20170701.ContainerService
ConvertContainerServiceToV20170701 converts an unversioned ContainerService to a v20170701 ContainerService
func ConvertContainerServiceToV20170831AgentPoolOnly ¶
func ConvertContainerServiceToV20170831AgentPoolOnly(api *ContainerService) *v20170831.ManagedCluster
ConvertContainerServiceToV20170831AgentPoolOnly converts an unversioned ContainerService to a v20170831 ContainerService
func ConvertContainerServiceToV20180331AgentPoolOnly ¶
func ConvertContainerServiceToV20180331AgentPoolOnly(api *ContainerService) *v20180331.ManagedCluster
ConvertContainerServiceToV20180331AgentPoolOnly converts an unversioned ContainerService to a v20180331 ContainerService
func ConvertContainerServiceToVLabs ¶
func ConvertContainerServiceToVLabs(api *ContainerService) *vlabs.ContainerService
ConvertContainerServiceToVLabs converts an unversioned ContainerService to a vlabs ContainerService
func ConvertOrchestratorVersionProfileToV20170930 ¶
func ConvertOrchestratorVersionProfileToV20170930(api *OrchestratorVersionProfile) *v20170930.OrchestratorVersionProfile
ConvertOrchestratorVersionProfileToV20170930 converts an unversioned OrchestratorVersionProfile to a v20170930 OrchestratorVersionProfile
func ConvertOrchestratorVersionProfileToVLabs ¶
func ConvertOrchestratorVersionProfileToVLabs(api *OrchestratorVersionProfile) *vlabs.OrchestratorVersionProfile
ConvertOrchestratorVersionProfileToVLabs converts an unversioned OrchestratorVersionProfile to a vlabs OrchestratorVersionProfile
func FormatAzureProdFQDNByLocation ¶
FormatAzureProdFQDNByLocation constructs an Azure prod fqdn
func GetOrchestratorVersionProfileListV20170930 ¶
func GetOrchestratorVersionProfileListV20170930(orchestrator, version string) (*v20170930.OrchestratorVersionProfileList, error)
GetOrchestratorVersionProfileListV20170930 returns v20170930 OrchestratorVersionProfileList object per (optionally) specified orchestrator and version
func GetOrchestratorVersionProfileListVLabs ¶
func GetOrchestratorVersionProfileListVLabs(orchestrator, version string, windows bool) (*vlabs.OrchestratorVersionProfileList, error)
GetOrchestratorVersionProfileListVLabs returns vlabs OrchestratorVersionProfileList object per (optionally) specified orchestrator and version
Types ¶
type AADProfile ¶
type AADProfile struct { // The client AAD application ID. ClientAppID string `json:"clientAppID,omitempty"` // The server AAD application ID. ServerAppID string `json:"serverAppID,omitempty"` // The server AAD application secret ServerAppSecret string `json:"serverAppSecret,omitempty" conform:"redact"` // The AAD tenant ID to use for authentication. // If not specified, will use the tenant of the deployment subscription. // Optional TenantID string `json:"tenantID,omitempty"` // The Azure Active Directory Group Object ID that will be assigned the // cluster-admin RBAC role. // Optional AdminGroupID string `json:"adminGroupID,omitempty"` // The authenticator to use, either "oidc" or "webhook". Authenticator AuthenticatorType `json:"authenticator"` }
AADProfile specifies attributes for AAD integration
type AddonProfile ¶
AddonProfile represents an addon for managed cluster
type AgentPoolProfile ¶
type AgentPoolProfile struct { Name string `json:"name"` Count int `json:"count"` VMSize string `json:"vmSize"` OSDiskSizeGB int `json:"osDiskSizeGB,omitempty"` DNSPrefix string `json:"dnsPrefix,omitempty"` OSType OSType `json:"osType,omitempty"` Ports []int `json:"ports,omitempty"` ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` AvailabilityProfile string `json:"availabilityProfile"` ScaleSetPriority string `json:"scaleSetPriority,omitempty"` ScaleSetEvictionPolicy string `json:"scaleSetEvictionPolicy,omitempty"` StorageProfile string `json:"storageProfile,omitempty"` DiskSizesGB []int `json:"diskSizesGB,omitempty"` VnetSubnetID string `json:"vnetSubnetID,omitempty"` Subnet string `json:"subnet"` IPAddressCount int `json:"ipAddressCount,omitempty"` Distro Distro `json:"distro,omitempty"` Role AgentPoolProfileRole `json:"role,omitempty"` AcceleratedNetworkingEnabled *bool `json:"acceleratedNetworkingEnabled,omitempty"` AcceleratedNetworkingEnabledWindows *bool `json:"acceleratedNetworkingEnabledWindows,omitempty"` FQDN string `json:"fqdn,omitempty"` CustomNodeLabels map[string]string `json:"customNodeLabels,omitempty"` PreprovisionExtension *Extension `json:"preProvisionExtension"` Extensions []Extension `json:"extensions"` KubernetesConfig *KubernetesConfig `json:"kubernetesConfig,omitempty"` OrchestratorVersion string `json:"orchestratorVersion"` ImageRef *ImageReference `json:"imageReference,omitempty"` MaxCount *int `json:"maxCount,omitempty"` MinCount *int `json:"minCount,omitempty"` EnableAutoScaling *bool `json:"enableAutoScaling,omitempty"` AvailabilityZones []string `json:"availabilityZones,omitempty"` SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty"` VnetCidrs []string `json:"vnetCidrs,omitempty"` }
AgentPoolProfile represents an agent pool definition
func (*AgentPoolProfile) HasAvailabilityZones ¶
func (a *AgentPoolProfile) HasAvailabilityZones() bool
HasAvailabilityZones returns true if the agent pool has availability zones
func (*AgentPoolProfile) HasDisks ¶
func (a *AgentPoolProfile) HasDisks() bool
HasDisks returns true if the customer specified disks
func (*AgentPoolProfile) IsAvailabilitySets ¶
func (a *AgentPoolProfile) IsAvailabilitySets() bool
IsAvailabilitySets returns true if the customer specified disks
func (*AgentPoolProfile) IsCoreOS ¶
func (a *AgentPoolProfile) IsCoreOS() bool
IsCoreOS returns true if the agent specified a CoreOS distro
func (*AgentPoolProfile) IsCustomVNET ¶
func (a *AgentPoolProfile) IsCustomVNET() bool
IsCustomVNET returns true if the customer brought their own VNET
func (*AgentPoolProfile) IsLinux ¶
func (a *AgentPoolProfile) IsLinux() bool
IsLinux returns true if the agent pool is linux
func (*AgentPoolProfile) IsLowPriorityScaleSet ¶
func (a *AgentPoolProfile) IsLowPriorityScaleSet() bool
IsLowPriorityScaleSet returns true if the VMSS is Low Priority
func (*AgentPoolProfile) IsManagedDisks ¶
func (a *AgentPoolProfile) IsManagedDisks() bool
IsManagedDisks returns true if the customer specified disks
func (*AgentPoolProfile) IsNSeriesSKU ¶
func (a *AgentPoolProfile) IsNSeriesSKU() bool
IsNSeriesSKU returns true if the agent pool contains an N-series (NVIDIA GPU) VM
func (*AgentPoolProfile) IsRHEL ¶
func (a *AgentPoolProfile) IsRHEL() bool
IsRHEL returns true if the agent pool specified a RHEL distro
func (*AgentPoolProfile) IsStorageAccount ¶
func (a *AgentPoolProfile) IsStorageAccount() bool
IsStorageAccount returns true if the customer specified storage account
func (*AgentPoolProfile) IsVirtualMachineScaleSets ¶
func (a *AgentPoolProfile) IsVirtualMachineScaleSets() bool
IsVirtualMachineScaleSets returns true if the agent pool availability profile is VMSS
func (*AgentPoolProfile) IsWindows ¶
func (a *AgentPoolProfile) IsWindows() bool
IsWindows returns true if the agent pool is windows
type AgentPoolProfileRole ¶
type AgentPoolProfileRole string
AgentPoolProfileRole represents an agent role
const ( // AgentPoolProfileRoleEmpty is the empty role. Deprecated; only used in // aks-engine. AgentPoolProfileRoleEmpty AgentPoolProfileRole = "" // AgentPoolProfileRoleCompute is the compute role AgentPoolProfileRoleCompute AgentPoolProfileRole = "compute" // AgentPoolProfileRoleInfra is the infra role AgentPoolProfileRoleInfra AgentPoolProfileRole = "infra" // AgentPoolProfileRoleMaster is the master role AgentPoolProfileRoleMaster AgentPoolProfileRole = "master" )
type AgentPoolResource ¶ added in v0.30.0
type AgentPoolResource struct { ID string `json:"id"` Location string `json:"location"` Name string `json:"name"` Plan *ResourcePurchasePlan `json:"plan,omitempty"` Tags map[string]string `json:"tags"` Type string `json:"type"` Properties *AgentPoolProfile `json:"properties,omitempty"` }
AgentPoolResource complies with the ARM model of agentpool resource definition in a JSON template.
func CreateMockAgentPoolProfile ¶ added in v0.30.0
func CreateMockAgentPoolProfile(agentPoolName, orchestratorVersion string, provisioningState ProvisioningState, agentCount int) *AgentPoolResource
CreateMockAgentPoolProfile creates a mock AgentPoolResource for testing
type Apiloader ¶
type Apiloader struct {
Translator *i18n.Translator
}
Apiloader represents the object that loads api model
func (*Apiloader) DeserializeContainerService ¶
func (a *Apiloader) DeserializeContainerService(contents []byte, validate, isUpdate bool, existingContainerService *ContainerService) (*ContainerService, string, error)
DeserializeContainerService loads an AKS Cluster API Model, validates it, and returns the unversioned representation
func (*Apiloader) LoadContainerService ¶
func (a *Apiloader) LoadContainerService( contents []byte, version string, validate, isUpdate bool, existingContainerService *ContainerService) (*ContainerService, error)
LoadContainerService loads an AKS Cluster API Model, validates it, and returns the unversioned representation
func (*Apiloader) LoadContainerServiceForAgentPoolOnlyCluster ¶
func (a *Apiloader) LoadContainerServiceForAgentPoolOnlyCluster( contents []byte, version string, validate, isUpdate bool, defaultKubernetesVersion string, existingContainerService *ContainerService) (*ContainerService, bool, error)
LoadContainerServiceForAgentPoolOnlyCluster loads an AKS Cluster API Model, validates it, and returns the unversioned representation
func (*Apiloader) LoadContainerServiceFromFile ¶
func (a *Apiloader) LoadContainerServiceFromFile(jsonFile string, validate, isUpdate bool, existingContainerService *ContainerService) (*ContainerService, string, error)
LoadContainerServiceFromFile loads an AKS Cluster API Model from a JSON file
func (*Apiloader) SerializeContainerService ¶
func (a *Apiloader) SerializeContainerService(containerService *ContainerService, version string) ([]byte, error)
SerializeContainerService takes an unversioned container service and returns the bytes
type AuthenticatorType ¶
type AuthenticatorType string
AuthenticatorType represents the authenticator type the cluster was set up with.
const ( // OIDC represent cluster setup in OIDC auth mode OIDC AuthenticatorType = "oidc" // Webhook represent cluster setup in wehhook auth mode Webhook AuthenticatorType = "webhook" )
type AzureEndpointConfig ¶
type AzureEndpointConfig struct {
ResourceManagerVMDNSSuffix string
}
AzureEndpointConfig describes an Azure endpoint
type AzureEnvironmentSpecConfig ¶
type AzureEnvironmentSpecConfig struct { CloudName string DockerSpecConfig DockerSpecConfig KubernetesSpecConfig KubernetesSpecConfig DCOSSpecConfig DCOSSpecConfig EndpointConfig AzureEndpointConfig OSImageConfig map[Distro]AzureOSImageConfig }
AzureEnvironmentSpecConfig is the overall configuration differences in different cloud environments.
type AzureOSImageConfig ¶
type AzureOSImageConfig struct { ImageOffer string ImageSku string ImagePublisher string ImageVersion string }
AzureOSImageConfig describes an Azure OS image
type BootstrapProfile ¶
type BootstrapProfile struct { VMSize string `json:"vmSize,omitempty"` OSDiskSizeGB int `json:"osDiskSizeGB,omitempty"` OAuthEnabled bool `json:"oauthEnabled,omitempty"` StaticIP string `json:"staticIP,omitempty"` Subnet string `json:"subnet,omitempty"` }
BootstrapProfile represents the definition of the DCOS bootstrap node used to deploy the cluster
type CertificateProfile ¶
type CertificateProfile struct { // CaCertificate is the certificate authority certificate. CaCertificate string `json:"caCertificate,omitempty" conform:"redact"` // CaPrivateKey is the certificate authority key. CaPrivateKey string `json:"caPrivateKey,omitempty" conform:"redact"` // ApiServerCertificate is the rest api server certificate, and signed by the CA APIServerCertificate string `json:"apiServerCertificate,omitempty" conform:"redact"` // ApiServerPrivateKey is the rest api server private key, and signed by the CA APIServerPrivateKey string `json:"apiServerPrivateKey,omitempty" conform:"redact"` // ClientCertificate is the certificate used by the client kubelet services and signed by the CA ClientCertificate string `json:"clientCertificate,omitempty" conform:"redact"` // ClientPrivateKey is the private key used by the client kubelet services and signed by the CA ClientPrivateKey string `json:"clientPrivateKey,omitempty" conform:"redact"` // KubeConfigCertificate is the client certificate used for kubectl cli and signed by the CA KubeConfigCertificate string `json:"kubeConfigCertificate,omitempty" conform:"redact"` // KubeConfigPrivateKey is the client private key used for kubectl cli and signed by the CA KubeConfigPrivateKey string `json:"kubeConfigPrivateKey,omitempty" conform:"redact"` // EtcdServerCertificate is the server certificate for etcd, and signed by the CA EtcdServerCertificate string `json:"etcdServerCertificate,omitempty" conform:"redact"` // EtcdServerPrivateKey is the server private key for etcd, and signed by the CA EtcdServerPrivateKey string `json:"etcdServerPrivateKey,omitempty" conform:"redact"` // EtcdClientCertificate is etcd client certificate, and signed by the CA EtcdClientCertificate string `json:"etcdClientCertificate,omitempty" conform:"redact"` // EtcdClientPrivateKey is the etcd client private key, and signed by the CA EtcdClientPrivateKey string `json:"etcdClientPrivateKey,omitempty" conform:"redact"` // EtcdPeerCertificates is list of etcd peer certificates, and signed by the CA EtcdPeerCertificates []string `json:"etcdPeerCertificates,omitempty" conform:"redact"` // EtcdPeerPrivateKeys is list of etcd peer private keys, and signed by the CA EtcdPeerPrivateKeys []string `json:"etcdPeerPrivateKeys,omitempty" conform:"redact"` }
CertificateProfile represents the definition of the master cluster
type CloudProviderConfig ¶
type CloudProviderConfig struct { CloudProviderBackoff *bool `json:"cloudProviderBackoff,omitempty"` CloudProviderBackoffRetries int `json:"cloudProviderBackoffRetries,omitempty"` CloudProviderBackoffJitter string `json:"cloudProviderBackoffJitter,omitempty"` CloudProviderBackoffDuration int `json:"cloudProviderBackoffDuration,omitempty"` CloudProviderBackoffExponent string `json:"cloudProviderBackoffExponent,omitempty"` CloudProviderRateLimit *bool `json:"cloudProviderRateLimit,omitempty"` CloudProviderRateLimitQPS string `json:"cloudProviderRateLimitQPS,omitempty"` CloudProviderRateLimitBucket int `json:"cloudProviderRateLimitBucket,omitempty"` }
CloudProviderConfig contains the KubernetesConfig properties specific to the Cloud Provider
type ClusterMetadata ¶
type ClusterMetadata struct { SubnetName string `json:"subnetName,omitempty"` VNetResourceGroupName string `json:"vnetResourceGroupName,omitempty"` VirtualNetworkName string `json:"virtualNetworkName,omitempty"` SecurityGroupName string `json:"securityGroupName,omitempty"` RouteTableName string `json:"routeTableName,omitempty"` PrimaryAvailabilitySetName string `json:"primaryAvailabilitySetName,omitempty"` PrimaryScaleSetName string `json:"primaryScaleSetName,omitempty"` ResourcePrefix string `json:"resourcePrefix,omitempty"` }
ClusterMetadata represents the metadata of the AKS cluster.
type ContainerService ¶
type ContainerService struct { ID string `json:"id"` Location string `json:"location"` Name string `json:"name"` Plan *ResourcePurchasePlan `json:"plan,omitempty"` Tags map[string]string `json:"tags"` Type string `json:"type"` Properties *Properties `json:"properties,omitempty"` }
ContainerService complies with the ARM model of resource definition in a JSON template.
func ConvertV20160330ContainerService ¶
func ConvertV20160330ContainerService(v20160330 *v20160330.ContainerService) *ContainerService
ConvertV20160330ContainerService converts a v20160330 ContainerService to an unversioned ContainerService
func ConvertV20160930ContainerService ¶
func ConvertV20160930ContainerService(v20160930 *v20160930.ContainerService) *ContainerService
ConvertV20160930ContainerService converts a v20160930 ContainerService to an unversioned ContainerService
func ConvertV20170131ContainerService ¶
func ConvertV20170131ContainerService(v20170131 *v20170131.ContainerService) *ContainerService
ConvertV20170131ContainerService converts a v20170131 ContainerService to an unversioned ContainerService
func ConvertV20170701ContainerService ¶
func ConvertV20170701ContainerService(v20170701 *v20170701.ContainerService, isUpdate bool) *ContainerService
ConvertV20170701ContainerService converts a v20170701 ContainerService to an unversioned ContainerService
func ConvertV20170831AgentPoolOnly ¶
func ConvertV20170831AgentPoolOnly(v20170831 *v20170831.ManagedCluster) *ContainerService
ConvertV20170831AgentPoolOnly converts an AgentPoolOnly object into an in-memory container service
func ConvertV20180331AgentPoolOnly ¶
func ConvertV20180331AgentPoolOnly(v20180331 *v20180331.ManagedCluster) *ContainerService
ConvertV20180331AgentPoolOnly converts an AgentPoolOnly object into an in-memory container service
func ConvertVLabsAgentPoolOnly ¶
func ConvertVLabsAgentPoolOnly(vlabs *vlabs.ManagedCluster) *ContainerService
ConvertVLabsAgentPoolOnly converts a vlabs ContainerService to an unversioned ContainerService
func ConvertVLabsContainerService ¶
func ConvertVLabsContainerService(vlabs *vlabs.ContainerService, isUpdate bool) *ContainerService
ConvertVLabsContainerService converts a vlabs ContainerService to an unversioned ContainerService
func CreateMockContainerService ¶
func CreateMockContainerService(containerServiceName, orchestratorVersion string, masterCount, agentCount int, certs bool) *ContainerService
CreateMockContainerService returns a mock container service for testing purposes
func (*ContainerService) GetAzureProdFQDN ¶
func (cs *ContainerService) GetAzureProdFQDN() string
GetAzureProdFQDN returns the formatted FQDN string for a given apimodel.
func (*ContainerService) GetCloudSpecConfig ¶
func (cs *ContainerService) GetCloudSpecConfig() AzureEnvironmentSpecConfig
GetCloudSpecConfig returns the Kubernetes container images URL configurations based on the deploy target environment. for example: if the target is the public azure, then the default container image url should be k8s.gcr.io/... if the target is azure china, then the default container image should be mirror.azure.cn:5000/google_container/...
func (*ContainerService) SetPropertiesDefaults ¶
func (cs *ContainerService) SetPropertiesDefaults(isUpgrade, isScale bool) (bool, error)
SetPropertiesDefaults for the container Properties, returns true if certs are generated
type CustomCloudProfile ¶ added in v0.30.0
type CustomCloudProfile struct {
Environment *azure.Environment `json:"environment,omitempty"`
}
CustomCloudProfile Represents Azure Environment
type CustomFile ¶
type CustomFile struct { Source string `json:"source,omitempty"` Dest string `json:"dest,omitempty"` }
CustomFile has source as the full absolute source path to a file and dest is the full absolute desired destination path to put the file on a master node
type CustomNodesDNS ¶
type CustomNodesDNS struct {
DNSServer string `json:"dnsServer,omitempty"`
}
CustomNodesDNS represents the Search Domain when the custom vnet for a custom DNS as a nameserver.
type CustomProfile ¶
type CustomProfile struct {
Orchestrator string `json:"orchestrator,omitempty"`
}
CustomProfile specifies custom properties that are used for cluster instantiation. Should not be used by most users.
type CustomSearchDomain ¶
type CustomSearchDomain struct { Name string `json:"name,omitempty"` RealmUser string `json:"realmUser,omitempty"` RealmPassword string `json:"realmPassword,omitempty"` }
CustomSearchDomain represents the Search Domain when the custom vnet has a windows server DNS as a nameserver.
type DCOSSpecConfig ¶
type DCOSSpecConfig struct { DCOS188BootstrapDownloadURL string DCOS190BootstrapDownloadURL string DCOS198BootstrapDownloadURL string DCOS110BootstrapDownloadURL string DCOS111BootstrapDownloadURL string DCOSWindowsBootstrapDownloadURL string DcosRepositoryURL string // For custom install, for example CI, need these three addributes DcosClusterPackageListID string // the id of the package list file DcosProviderPackageID string // the id of the dcos-provider-xxx package }
DCOSSpecConfig is the configurations of DCOS
type DcosConfig ¶
type DcosConfig struct { DcosBootstrapURL string `json:"dcosBootstrapURL,omitempty"` DcosWindowsBootstrapURL string `json:"dcosWindowsBootstrapURL,omitempty"` Registry string `json:"registry,omitempty"` RegistryUser string `json:"registryUser,omitempty"` RegistryPass string `json:"registryPassword,omitempty"` DcosRepositoryURL string `json:"dcosRepositoryURL,omitempty"` // For CI use, you need to specify DcosClusterPackageListID string `json:"dcosClusterPackageListID,omitempty"` // all three of these items DcosProviderPackageID string `json:"dcosProviderPackageID,omitempty"` // repo url is the location of the build, BootstrapProfile *BootstrapProfile `json:"bootstrapProfile,omitempty"` }
DcosConfig Configuration for DC/OS
type DiagnosticsProfile ¶
type DiagnosticsProfile struct {
VMDiagnostics *VMDiagnostics `json:"vmDiagnostics"`
}
DiagnosticsProfile setting to enable/disable capturing diagnostics for VMs hosting container cluster.
type DockerSpecConfig ¶
DockerSpecConfig is the configurations of docker
type Extension ¶
type Extension struct { Name string `json:"name"` SingleOrAll string `json:"singleOrAll"` Template string `json:"template"` }
Extension represents an extension definition in the master or agentPoolProfile
type ExtensionProfile ¶
type ExtensionProfile struct { Name string `json:"name"` Version string `json:"version"` ExtensionParameters string `json:"extensionParameters,omitempty"` ExtensionParametersKeyVaultRef *KeyvaultSecretRef `json:"parametersKeyvaultSecretRef,omitempty"` RootURL string `json:"rootURL,omitempty"` // This is only needed for preprovision extensions and it needs to be a bash script Script string `json:"script,omitempty"` URLQuery string `json:"urlQuery,omitempty"` }
ExtensionProfile represents an extension definition
type FeatureFlags ¶
type FeatureFlags struct { EnableCSERunInBackground bool `json:"enableCSERunInBackground,omitempty"` BlockOutboundInternet bool `json:"blockOutboundInternet,omitempty"` }
FeatureFlags defines feature-flag restricted functionality
func (*FeatureFlags) IsFeatureEnabled ¶
func (f *FeatureFlags) IsFeatureEnabled(feature string) bool
IsFeatureEnabled returns true if a feature flag is on for the provided feature
type HostedMasterProfile ¶
type HostedMasterProfile struct { // Master public endpoint/FQDN with port // The format will be FQDN:2376 // Not used during PUT, returned as part of GETFQDN FQDN string `json:"fqdn,omitempty"` DNSPrefix string `json:"dnsPrefix"` // Subnet holds the CIDR which defines the Azure Subnet in which // Agents will be provisioned. This is stored on the HostedMasterProfile // and will become `masterSubnet` in the compiled template. Subnet string `json:"subnet"` // ApiServerWhiteListRange is a comma delimited CIDR which is whitelisted to AKS APIServerWhiteListRange *string `json:"apiServerWhiteListRange"` IPMasqAgent bool `json:"ipMasqAgent"` }
HostedMasterProfile defines properties for a hosted master
type ImageReference ¶
type ImageReference struct { Name string `json:"name,omitempty"` ResourceGroup string `json:"resourceGroup,omitempty"` }
ImageReference represents a reference to an Image resource in Azure.
type JumpboxProfile ¶
type JumpboxProfile struct { OSType OSType `json:"osType"` DNSPrefix string `json:"dnsPrefix"` // Jumpbox public endpoint/FQDN with port // The format will be FQDN:2376 // Not used during PUT, returned as part of GET FQDN string `json:"fqdn,omitempty"` }
JumpboxProfile describes properties of the jumpbox setup in the AKS container cluster.
type KeyVaultCertificate ¶
type KeyVaultCertificate struct { CertificateURL string `json:"certificateUrl,omitempty"` CertificateStore string `json:"certificateStore,omitempty"` }
KeyVaultCertificate specifies a certificate to install On Linux, the certificate file is placed under the /var/lib/waagent directory with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for the private key. Both of these files are .pem formatted. On windows the certificate will be saved in the specified store.
type KeyVaultID ¶
type KeyVaultID struct {
ID string `json:"id,omitempty"`
}
KeyVaultID specifies a key vault
type KeyVaultSecrets ¶
type KeyVaultSecrets struct { SourceVault *KeyVaultID `json:"sourceVault,omitempty"` VaultCertificates []KeyVaultCertificate `json:"vaultCertificates,omitempty"` }
KeyVaultSecrets specifies certificates to install on the pool of machines from a given key vault the key vault specified must have been granted read permissions to CRP
type KeyvaultSecretRef ¶
type KeyvaultSecretRef struct { VaultID string `json:"vaultID"` SecretName string `json:"secretName"` SecretVersion string `json:"version,omitempty"` }
KeyvaultSecretRef specifies path to the Azure keyvault along with secret name and (optionaly) version for Service Principal's secret
type KubeProxyMode ¶ added in v0.30.0
type KubeProxyMode string
KubeProxyMode is for iptables and ipvs (and future others)
const ( // KubeProxyModeIPTables is used to set the kube-proxy to iptables mode KubeProxyModeIPTables KubeProxyMode = "iptables" // KubeProxyModeIPVS is used to set the kube-proxy to ipvs mode KubeProxyModeIPVS KubeProxyMode = "ipvs" )
We currently support ipvs and iptables
type KubernetesAddon ¶
type KubernetesAddon struct { Name string `json:"name,omitempty"` Enabled *bool `json:"enabled,omitempty"` Containers []KubernetesContainerSpec `json:"containers,omitempty"` Config map[string]string `json:"config,omitempty"` Data string `json:"data,omitempty"` }
KubernetesAddon defines a list of addons w/ configuration to include with the cluster deployment
func (KubernetesAddon) GetAddonContainersIndexByName ¶
func (a KubernetesAddon) GetAddonContainersIndexByName(containerName string) int
GetAddonContainersIndexByName returns the KubernetesAddon containers index with the name `containerName`
func (*KubernetesAddon) IsEnabled ¶
func (a *KubernetesAddon) IsEnabled(ifNil bool) bool
IsEnabled returns if the addon is explicitly enabled, or the user-provided default if non explicitly enabled
type KubernetesConfig ¶
type KubernetesConfig struct { KubernetesImageBase string `json:"kubernetesImageBase,omitempty"` ClusterSubnet string `json:"clusterSubnet,omitempty"` NetworkPolicy string `json:"networkPolicy,omitempty"` NetworkPlugin string `json:"networkPlugin,omitempty"` ContainerRuntime string `json:"containerRuntime,omitempty"` MaxPods int `json:"maxPods,omitempty"` DockerBridgeSubnet string `json:"dockerBridgeSubnet,omitempty"` DNSServiceIP string `json:"dnsServiceIP,omitempty"` ServiceCIDR string `json:"serviceCidr,omitempty"` UseManagedIdentity bool `json:"useManagedIdentity,omitempty"` UserAssignedID string `json:"userAssignedID,omitempty"` UserAssignedClientID string `json:"userAssignedClientID,omitempty"` //Note: cannot be provided in config. Used *only* for transferring this to azure.json. CustomHyperkubeImage string `json:"customHyperkubeImage,omitempty"` DockerEngineVersion string `json:"dockerEngineVersion,omitempty"` // Deprecated MobyVersion string `json:"mobyVersion,omitempty"` CustomCcmImage string `json:"customCcmImage,omitempty"` // Image for cloud-controller-manager UseCloudControllerManager *bool `json:"useCloudControllerManager,omitempty"` CustomWindowsPackageURL string `json:"customWindowsPackageURL,omitempty"` WindowsNodeBinariesURL string `json:"windowsNodeBinariesURL,omitempty"` UseInstanceMetadata *bool `json:"useInstanceMetadata,omitempty"` EnableRbac *bool `json:"enableRbac,omitempty"` EnableSecureKubelet *bool `json:"enableSecureKubelet,omitempty"` EnableAggregatedAPIs bool `json:"enableAggregatedAPIs,omitempty"` PrivateCluster *PrivateCluster `json:"privateCluster,omitempty"` GCHighThreshold int `json:"gchighthreshold,omitempty"` GCLowThreshold int `json:"gclowthreshold,omitempty"` EtcdVersion string `json:"etcdVersion,omitempty"` EtcdDiskSizeGB string `json:"etcdDiskSizeGB,omitempty"` EtcdEncryptionKey string `json:"etcdEncryptionKey,omitempty"` EnableDataEncryptionAtRest *bool `json:"enableDataEncryptionAtRest,omitempty"` EnableEncryptionWithExternalKms *bool `json:"enableEncryptionWithExternalKms,omitempty"` EnablePodSecurityPolicy *bool `json:"enablePodSecurityPolicy,omitempty"` Addons []KubernetesAddon `json:"addons,omitempty"` KubeletConfig map[string]string `json:"kubeletConfig,omitempty"` ControllerManagerConfig map[string]string `json:"controllerManagerConfig,omitempty"` CloudControllerManagerConfig map[string]string `json:"cloudControllerManagerConfig,omitempty"` APIServerConfig map[string]string `json:"apiServerConfig,omitempty"` SchedulerConfig map[string]string `json:"schedulerConfig,omitempty"` PodSecurityPolicyConfig map[string]string `json:"podSecurityPolicyConfig,omitempty"` CloudProviderBackoff *bool `json:"cloudProviderBackoff,omitempty"` CloudProviderBackoffRetries int `json:"cloudProviderBackoffRetries,omitempty"` CloudProviderBackoffJitter float64 `json:"cloudProviderBackoffJitter,omitempty"` CloudProviderBackoffDuration int `json:"cloudProviderBackoffDuration,omitempty"` CloudProviderBackoffExponent float64 `json:"cloudProviderBackoffExponent,omitempty"` CloudProviderRateLimit *bool `json:"cloudProviderRateLimit,omitempty"` CloudProviderRateLimitQPS float64 `json:"cloudProviderRateLimitQPS,omitempty"` CloudProviderRateLimitBucket int `json:"cloudProviderRateLimitBucket,omitempty"` NonMasqueradeCidr string `json:"nonMasqueradeCidr,omitempty"` NodeStatusUpdateFrequency string `json:"nodeStatusUpdateFrequency,omitempty"` HardEvictionThreshold string `json:"hardEvictionThreshold,omitempty"` CtrlMgrNodeMonitorGracePeriod string `json:"ctrlMgrNodeMonitorGracePeriod,omitempty"` CtrlMgrPodEvictionTimeout string `json:"ctrlMgrPodEvictionTimeout,omitempty"` CtrlMgrRouteReconciliationPeriod string `json:"ctrlMgrRouteReconciliationPeriod,omitempty"` LoadBalancerSku string `json:"loadBalancerSku,omitempty"` ExcludeMasterFromStandardLB *bool `json:"excludeMasterFromStandardLB,omitempty"` AzureCNIVersion string `json:"azureCNIVersion,omitempty"` AzureCNIURLLinux string `json:"azureCNIURLLinux,omitempty"` AzureCNIURLWindows string `json:"azureCNIURLWindows,omitempty"` KeyVaultSku string `json:"keyVaultSku,omitempty"` MaximumLoadBalancerRuleCount int `json:"maximumLoadBalancerRuleCount,omitempty"` ProxyMode KubeProxyMode `json:"kubeProxyMode,omitempty"` }
KubernetesConfig contains the Kubernetes config structure, containing Kubernetes specific configuration
func (*KubernetesConfig) GetAddonByName ¶
func (k *KubernetesConfig) GetAddonByName(addonName string) KubernetesAddon
GetAddonByName returns the KubernetesAddon instance with name `addonName`
func (*KubernetesConfig) GetAddonScript ¶
func (k *KubernetesConfig) GetAddonScript(addonName string) string
GetAddonScript retrieves the raw script data specified as input for the k8s addon with name "addonName".
func (*KubernetesConfig) GetAzureCNIURLLinux ¶
func (k *KubernetesConfig) GetAzureCNIURLLinux(cloudSpecConfig AzureEnvironmentSpecConfig) string
GetAzureCNIURLLinux returns the full URL to source Azure CNI binaries from
func (*KubernetesConfig) GetAzureCNIURLWindows ¶
func (k *KubernetesConfig) GetAzureCNIURLWindows(cloudSpecConfig AzureEnvironmentSpecConfig) string
GetAzureCNIURLWindows returns the full URL to source Azure CNI binaries from
func (*KubernetesConfig) GetUserAssignedClientID ¶ added in v0.30.0
func (k *KubernetesConfig) GetUserAssignedClientID() string
GetUserAssignedClientID returns the user assigned client ID if it is enabled.
func (*KubernetesConfig) GetUserAssignedID ¶ added in v0.30.0
func (k *KubernetesConfig) GetUserAssignedID() string
GetUserAssignedID returns the user assigned ID if it is enabled.
func (*KubernetesConfig) IsAADPodIdentityEnabled ¶
func (k *KubernetesConfig) IsAADPodIdentityEnabled() bool
IsAADPodIdentityEnabled checks if the tiller addon is enabled
func (*KubernetesConfig) IsACIConnectorEnabled ¶
func (k *KubernetesConfig) IsACIConnectorEnabled() bool
IsACIConnectorEnabled checks if the ACI Connector addon is enabled
func (*KubernetesConfig) IsAzureCNIMonitoringEnabled ¶ added in v0.28.0
func (k *KubernetesConfig) IsAzureCNIMonitoringEnabled() bool
IsAzureCNIMonitoringEnabled checks if the azure cni monitoring addon is enabled
func (*KubernetesConfig) IsBlobfuseFlexVolumeEnabled ¶
func (k *KubernetesConfig) IsBlobfuseFlexVolumeEnabled() bool
IsBlobfuseFlexVolumeEnabled checks if the Blobfuse FlexVolume addon is enabled
func (*KubernetesConfig) IsClusterAutoscalerEnabled ¶
func (k *KubernetesConfig) IsClusterAutoscalerEnabled() bool
IsClusterAutoscalerEnabled checks if the cluster autoscaler addon is enabled
func (*KubernetesConfig) IsContainerMonitoringEnabled ¶
func (k *KubernetesConfig) IsContainerMonitoringEnabled() bool
IsContainerMonitoringEnabled checks if the container monitoring addon is enabled
func (*KubernetesConfig) IsDashboardEnabled ¶
func (k *KubernetesConfig) IsDashboardEnabled() bool
IsDashboardEnabled checks if the kubernetes-dashboard addon is enabled
func (*KubernetesConfig) IsIPMasqAgentEnabled ¶
func (k *KubernetesConfig) IsIPMasqAgentEnabled() bool
IsIPMasqAgentEnabled checks if the ip-masq-agent addon is enabled
func (*KubernetesConfig) IsKeyVaultFlexVolumeEnabled ¶
func (k *KubernetesConfig) IsKeyVaultFlexVolumeEnabled() bool
IsKeyVaultFlexVolumeEnabled checks if the Key Vault FlexVolume addon is enabled
func (*KubernetesConfig) IsRBACEnabled ¶ added in v0.29.0
func (k *KubernetesConfig) IsRBACEnabled() bool
IsRBACEnabled checks if RBAC is enabled
func (*KubernetesConfig) IsReschedulerEnabled ¶
func (k *KubernetesConfig) IsReschedulerEnabled() bool
IsReschedulerEnabled checks if the rescheduler addon is enabled
func (*KubernetesConfig) IsSMBFlexVolumeEnabled ¶
func (k *KubernetesConfig) IsSMBFlexVolumeEnabled() bool
IsSMBFlexVolumeEnabled checks if the SMB FlexVolume addon is enabled
func (*KubernetesConfig) IsTillerEnabled ¶
func (k *KubernetesConfig) IsTillerEnabled() bool
IsTillerEnabled checks if the tiller addon is enabled
func (*KubernetesConfig) PrivateJumpboxProvision ¶
func (k *KubernetesConfig) PrivateJumpboxProvision() bool
PrivateJumpboxProvision checks if a private cluster has jumpbox auto-provisioning
func (*KubernetesConfig) RequiresDocker ¶
func (k *KubernetesConfig) RequiresDocker() bool
RequiresDocker returns if the kubernetes settings require docker binary to be installed.
func (*KubernetesConfig) SetCloudProviderBackoffDefaults ¶
func (k *KubernetesConfig) SetCloudProviderBackoffDefaults()
SetCloudProviderBackoffDefaults sets default cloudprovider backoff config
func (*KubernetesConfig) SetCloudProviderRateLimitDefaults ¶
func (k *KubernetesConfig) SetCloudProviderRateLimitDefaults()
SetCloudProviderRateLimitDefaults sets default cloudprovider rate limiter config
func (*KubernetesConfig) UserAssignedClientIDEnabled ¶ added in v0.30.0
func (k *KubernetesConfig) UserAssignedClientIDEnabled() bool
UserAssignedClientIDEnabled checks if the user assigned client ID is enabled or not.
func (*KubernetesConfig) UserAssignedIDEnabled ¶ added in v0.30.0
func (k *KubernetesConfig) UserAssignedIDEnabled() bool
UserAssignedIDEnabled checks if the user assigned ID is enabled or not.
type KubernetesConfigDeprecated ¶
type KubernetesConfigDeprecated struct { NonMasqueradeCidr string `json:"nonMasqueradeCidr,omitempty"` NodeStatusUpdateFrequency string `json:"nodeStatusUpdateFrequency,omitempty"` HardEvictionThreshold string `json:"hardEvictionThreshold,omitempty"` CtrlMgrNodeMonitorGracePeriod string `json:"ctrlMgrNodeMonitorGracePeriod,omitempty"` CtrlMgrPodEvictionTimeout string `json:"ctrlMgrPodEvictionTimeout,omitempty"` CtrlMgrRouteReconciliationPeriod string `json:"ctrlMgrRouteReconciliationPeriod,omitempty"` }
KubernetesConfigDeprecated are properties that are no longer operable and will be ignored TODO use this when strict JSON checking accommodates struct embedding
type KubernetesContainerSpec ¶
type KubernetesContainerSpec struct { Name string `json:"name,omitempty"` Image string `json:"image,omitempty"` CPURequests string `json:"cpuRequests,omitempty"` MemoryRequests string `json:"memoryRequests,omitempty"` CPULimits string `json:"cpuLimits,omitempty"` MemoryLimits string `json:"memoryLimits,omitempty"` }
KubernetesContainerSpec defines configuration for a container spec
type KubernetesSpecConfig ¶
type KubernetesSpecConfig struct { KubernetesImageBase string TillerImageBase string ACIConnectorImageBase string NVIDIAImageBase string AzureCNIImageBase string EtcdDownloadURLBase string KubeBinariesSASURLBase string WindowsTelemetryGUID string CNIPluginsDownloadURL string VnetCNILinuxPluginsDownloadURL string VnetCNIWindowsPluginsDownloadURL string ContainerdDownloadURLBase string }
KubernetesSpecConfig is the kubernetes container images used.
type LinuxProfile ¶
type LinuxProfile struct { AdminUsername string `json:"adminUsername"` SSH struct { PublicKeys []PublicKey `json:"publicKeys"` } `json:"ssh"` Secrets []KeyVaultSecrets `json:"secrets,omitempty"` Distro Distro `json:"distro,omitempty"` ScriptRootURL string `json:"scriptroot,omitempty"` CustomSearchDomain *CustomSearchDomain `json:"customSearchDomain,omitempty"` CustomNodesDNS *CustomNodesDNS `json:"CustomNodesDNS,omitempty"` IsSSHKeyAutoGenerated *bool `json:"isSSHKeyAutoGenerated,omitempty"` }
LinuxProfile represents the linux parameters passed to the cluster
func (*LinuxProfile) HasCustomNodesDNS ¶
func (l *LinuxProfile) HasCustomNodesDNS() bool
HasCustomNodesDNS returns true if the customer specified a dns server
func (*LinuxProfile) HasSearchDomain ¶
func (l *LinuxProfile) HasSearchDomain() bool
HasSearchDomain returns true if the customer specified secrets to install
func (*LinuxProfile) HasSecrets ¶
func (l *LinuxProfile) HasSecrets() bool
HasSecrets returns true if the customer specified secrets to install
type MasterProfile ¶
type MasterProfile struct { Count int `json:"count"` DNSPrefix string `json:"dnsPrefix"` SubjectAltNames []string `json:"subjectAltNames"` VMSize string `json:"vmSize"` OSDiskSizeGB int `json:"osDiskSizeGB,omitempty"` VnetSubnetID string `json:"vnetSubnetID,omitempty"` VnetCidr string `json:"vnetCidr,omitempty"` AgentVnetSubnetID string `json:"agentVnetSubnetID,omitempty"` FirstConsecutiveStaticIP string `json:"firstConsecutiveStaticIP,omitempty"` Subnet string `json:"subnet"` IPAddressCount int `json:"ipAddressCount,omitempty"` StorageProfile string `json:"storageProfile,omitempty"` HTTPSourceAddressPrefix string `json:"HTTPSourceAddressPrefix,omitempty"` OAuthEnabled bool `json:"oauthEnabled"` PreprovisionExtension *Extension `json:"preProvisionExtension"` Extensions []Extension `json:"extensions"` Distro Distro `json:"distro,omitempty"` KubernetesConfig *KubernetesConfig `json:"kubernetesConfig,omitempty"` ImageRef *ImageReference `json:"imageReference,omitempty"` CustomFiles *[]CustomFile `json:"customFiles,omitempty"` AvailabilityProfile string `json:"availabilityProfile"` AgentSubnet string `json:"agentSubnet,omitempty"` AvailabilityZones []string `json:"availabilityZones,omitempty"` SinglePlacementGroup *bool `json:"singlePlacementGroup,omitempty"` // Master LB public endpoint/FQDN with port // The format will be FQDN:2376 // Not used during PUT, returned as part of GET FQDN string `json:"fqdn,omitempty"` // True: uses cosmos etcd endpoint instead of installing etcd on masters CosmosEtcd *bool `json:"cosmosEtcd,omitempty"` }
MasterProfile represents the definition of the master cluster
func (*MasterProfile) GetFirstConsecutiveStaticIPAddress ¶
func (m *MasterProfile) GetFirstConsecutiveStaticIPAddress(subnetStr string) string
GetFirstConsecutiveStaticIPAddress returns the first static IP address of the given subnet.
func (*MasterProfile) HasAvailabilityZones ¶
func (m *MasterProfile) HasAvailabilityZones() bool
HasAvailabilityZones returns true if the master profile has availability zones
func (*MasterProfile) IsCoreOS ¶
func (m *MasterProfile) IsCoreOS() bool
IsCoreOS returns true if the master specified a CoreOS distro
func (*MasterProfile) IsCustomVNET ¶
func (m *MasterProfile) IsCustomVNET() bool
IsCustomVNET returns true if the customer brought their own VNET
func (*MasterProfile) IsManagedDisks ¶
func (m *MasterProfile) IsManagedDisks() bool
IsManagedDisks returns true if the master specified managed disks
func (*MasterProfile) IsRHEL ¶
func (m *MasterProfile) IsRHEL() bool
IsRHEL returns true if the master specified a RHEL distro
func (*MasterProfile) IsStorageAccount ¶
func (m *MasterProfile) IsStorageAccount() bool
IsStorageAccount returns true if the master specified storage account
func (*MasterProfile) IsVirtualMachineScaleSets ¶
func (m *MasterProfile) IsVirtualMachineScaleSets() bool
IsVirtualMachineScaleSets returns true if the master availability profile is VMSS
type OrchestratorProfile ¶
type OrchestratorProfile struct { OrchestratorType string `json:"orchestratorType"` OrchestratorVersion string `json:"orchestratorVersion"` KubernetesConfig *KubernetesConfig `json:"kubernetesConfig,omitempty"` DcosConfig *DcosConfig `json:"dcosConfig,omitempty"` }
OrchestratorProfile contains Orchestrator properties
func (*OrchestratorProfile) GetAPIServerEtcdAPIVersion ¶
func (o *OrchestratorProfile) GetAPIServerEtcdAPIVersion() string
GetAPIServerEtcdAPIVersion Used to set apiserver's etcdapi version
func (*OrchestratorProfile) IsAzureCNI ¶
func (o *OrchestratorProfile) IsAzureCNI() bool
IsAzureCNI returns true if Azure CNI network plugin is enabled
func (*OrchestratorProfile) IsDCOS ¶
func (o *OrchestratorProfile) IsDCOS() bool
IsDCOS returns true if this template is for DCOS orchestrator
func (*OrchestratorProfile) IsKubernetes ¶
func (o *OrchestratorProfile) IsKubernetes() bool
IsKubernetes returns true if this template is for Kubernetes orchestrator
func (*OrchestratorProfile) IsMetricsServerEnabled ¶
func (o *OrchestratorProfile) IsMetricsServerEnabled() bool
IsMetricsServerEnabled checks if the metrics server addon is enabled
func (*OrchestratorProfile) IsSwarmMode ¶
func (o *OrchestratorProfile) IsSwarmMode() bool
IsSwarmMode returns true if this template is for Swarm Mode orchestrator
func (*OrchestratorProfile) NeedsExecHealthz ¶
func (o *OrchestratorProfile) NeedsExecHealthz() bool
NeedsExecHealthz returns whether or not we have a configuration that requires exechealthz pod anywhere
func (*OrchestratorProfile) RequireRouteTable ¶
func (o *OrchestratorProfile) RequireRouteTable() bool
RequireRouteTable returns true if this deployment requires routing table
type OrchestratorVersionProfile ¶
type OrchestratorVersionProfile struct { // Orchestrator type and version OrchestratorProfile // Whether this orchestrator version is deployed by default if orchestrator release is not specified Default bool `json:"default,omitempty"` // List of available upgrades for this orchestrator version Upgrades []*OrchestratorProfile `json:"upgrades,omitempty"` }
OrchestratorVersionProfile contains information of a supported orchestrator version:
func GetOrchestratorVersionProfile ¶
func GetOrchestratorVersionProfile(orch *OrchestratorProfile, hasWindows bool) (*OrchestratorVersionProfile, error)
GetOrchestratorVersionProfile returns orchestrator info for upgradable container service
type PrivateCluster ¶
type PrivateCluster struct { Enabled *bool `json:"enabled,omitempty"` JumpboxProfile *PrivateJumpboxProfile `json:"jumpboxProfile,omitempty"` }
PrivateCluster defines the configuration for a private cluster
type PrivateJumpboxProfile ¶
type PrivateJumpboxProfile struct { Name string `json:"name" validate:"required"` VMSize string `json:"vmSize" validate:"required"` OSDiskSizeGB int `json:"osDiskSizeGB,omitempty" validate:"min=0,max=1023"` Username string `json:"username,omitempty"` PublicKey string `json:"publicKey" validate:"required"` StorageProfile string `json:"storageProfile,omitempty"` }
PrivateJumpboxProfile represents a jumpbox definition
type Properties ¶
type Properties struct { ClusterID string ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` OrchestratorProfile *OrchestratorProfile `json:"orchestratorProfile,omitempty"` MasterProfile *MasterProfile `json:"masterProfile,omitempty"` AgentPoolProfiles []*AgentPoolProfile `json:"agentPoolProfiles,omitempty"` LinuxProfile *LinuxProfile `json:"linuxProfile,omitempty"` WindowsProfile *WindowsProfile `json:"windowsProfile,omitempty"` ExtensionProfiles []*ExtensionProfile `json:"extensionProfiles"` DiagnosticsProfile *DiagnosticsProfile `json:"diagnosticsProfile,omitempty"` JumpboxProfile *JumpboxProfile `json:"jumpboxProfile,omitempty"` ServicePrincipalProfile *ServicePrincipalProfile `json:"servicePrincipalProfile,omitempty"` CertificateProfile *CertificateProfile `json:"certificateProfile,omitempty"` AADProfile *AADProfile `json:"aadProfile,omitempty"` CustomProfile *CustomProfile `json:"customProfile,omitempty"` HostedMasterProfile *HostedMasterProfile `json:"hostedMasterProfile,omitempty"` AddonProfiles map[string]AddonProfile `json:"addonProfiles,omitempty"` FeatureFlags *FeatureFlags `json:"featureFlags,omitempty"` CustomCloudProfile *CustomCloudProfile `json:"customCloudProfile,omitempty"` }
Properties represents the AKS cluster definition
func GetK8sDefaultProperties ¶
func GetK8sDefaultProperties(hasWindows bool) *Properties
GetK8sDefaultProperties returns a struct of type api.Properties for testing purposes.
func (*Properties) AreAgentProfilesCustomVNET ¶
func (p *Properties) AreAgentProfilesCustomVNET() bool
AreAgentProfilesCustomVNET returns true if all of the agent profiles in the clusters are configured with VNET.
func (*Properties) GetAgentVMPrefix ¶
func (p *Properties) GetAgentVMPrefix(a *AgentPoolProfile) string
GetAgentVMPrefix returns the VM prefix for an agentpool
func (*Properties) GetAzureCNICidr ¶
func (p *Properties) GetAzureCNICidr() string
GetAzureCNICidr returns the default CNI Cidr if Azure CNI is enabled.
func (*Properties) GetClusterID ¶
func (p *Properties) GetClusterID() string
GetClusterID creates a unique 8 string cluster ID.
func (*Properties) GetClusterMetadata ¶
func (p *Properties) GetClusterMetadata() *ClusterMetadata
GetClusterMetadata returns a instance of the struct type api.ClusterMetadata.
func (*Properties) GetCustomEnvironmentJSON ¶ added in v0.30.0
func (p *Properties) GetCustomEnvironmentJSON() string
GetCustomEnvironmentJSON return the JSON format string for custom environment
func (*Properties) GetMasterVMPrefix ¶
func (p *Properties) GetMasterVMPrefix() string
GetMasterVMPrefix returns the prefix of master VMs
func (*Properties) GetNSGName ¶
func (p *Properties) GetNSGName() string
GetNSGName returns the name of the network security group of the cluster.
func (*Properties) GetNonMasqueradeCIDR ¶
func (p *Properties) GetNonMasqueradeCIDR() string
GetNonMasqueradeCIDR returns the non-masquerade CIDR for the ip-masq-agent.
func (*Properties) GetPrimaryAvailabilitySetName ¶
func (p *Properties) GetPrimaryAvailabilitySetName() string
GetPrimaryAvailabilitySetName returns the name of the primary availability set of the cluster
func (*Properties) GetPrimaryScaleSetName ¶
func (p *Properties) GetPrimaryScaleSetName() string
GetPrimaryScaleSetName returns the name of the primary scale set node of the cluster
func (*Properties) GetResourcePrefix ¶
func (p *Properties) GetResourcePrefix() string
GetResourcePrefix returns the prefix to use for naming cluster resources
func (*Properties) GetRouteTableName ¶
func (p *Properties) GetRouteTableName() string
GetRouteTableName returns the route table name of the cluster.
func (*Properties) GetSubnetName ¶
func (p *Properties) GetSubnetName() string
GetSubnetName returns the subnet name of the cluster based on its current configuration.
func (*Properties) GetVNetResourceGroupName ¶
func (p *Properties) GetVNetResourceGroupName() string
GetVNetResourceGroupName returns the virtual network resource group name of the cluster
func (*Properties) GetVirtualNetworkName ¶
func (p *Properties) GetVirtualNetworkName() string
GetVirtualNetworkName returns the virtual network name of the cluster
func (*Properties) HasAadProfile ¶
func (p *Properties) HasAadProfile() bool
HasAadProfile returns true if the has aad profile
func (*Properties) HasAvailabilityZones ¶
func (p *Properties) HasAvailabilityZones() bool
HasAvailabilityZones returns true if the cluster contains a profile with zones
func (*Properties) HasManagedDisks ¶
func (p *Properties) HasManagedDisks() bool
HasManagedDisks returns true if the cluster contains Managed Disks
func (*Properties) HasNSeriesSKU ¶
func (p *Properties) HasNSeriesSKU() bool
HasNSeriesSKU returns whether or not there is an N series SKU agent pool
func (*Properties) HasStorageAccountDisks ¶
func (p *Properties) HasStorageAccountDisks() bool
HasStorageAccountDisks returns true if the cluster contains Storage Account Disks
func (*Properties) HasVMSSAgentPool ¶
func (p *Properties) HasVMSSAgentPool() bool
HasVMSSAgentPool returns true if the cluster contains Virtual Machine Scale Sets agent pools
func (*Properties) HasWindows ¶
func (p *Properties) HasWindows() bool
HasWindows returns true if the cluster contains windows
func (*Properties) HasZonesForAllAgentPools ¶
func (p *Properties) HasZonesForAllAgentPools() bool
HasZonesForAllAgentPools returns true if all of the agent pools have zones
func (*Properties) IsAzureStackCloud ¶ added in v0.30.0
func (p *Properties) IsAzureStackCloud() bool
IsAzureStackCloud return true if the cloud is AzureStack
func (*Properties) IsHostedMasterProfile ¶
func (p *Properties) IsHostedMasterProfile() bool
IsHostedMasterProfile returns true if the cluster has a hosted master
func (*Properties) IsIPMasqAgentEnabled ¶ added in v0.28.0
func (p *Properties) IsIPMasqAgentEnabled() bool
IsIPMasqAgentEnabled returns true if the cluster has a hosted master and IpMasqAgent is disabled
func (*Properties) IsNVIDIADevicePluginEnabled ¶
func (p *Properties) IsNVIDIADevicePluginEnabled() bool
IsNVIDIADevicePluginEnabled checks if the NVIDIA Device Plugin addon is enabled It is enabled by default if agents contain a GPU and Kubernetes version is >= 1.10.0
func (*Properties) K8sOrchestratorName ¶
func (p *Properties) K8sOrchestratorName() string
K8sOrchestratorName returns the 3 character orchestrator code for kubernetes-based clusters.
func (*Properties) TotalNodes ¶
func (p *Properties) TotalNodes() int
TotalNodes returns the total number of nodes in the cluster configuration
type ProvisioningState ¶
type ProvisioningState string
ProvisioningState represents the current state of container service resource.
const ( // Creating means ContainerService resource is being created. Creating ProvisioningState = "Creating" // Updating means an existing ContainerService resource is being updated Updating ProvisioningState = "Updating" // Scaling means an existing ContainerService resource is being scaled only Scaling ProvisioningState = "Scaling" // Failed means resource is in failed state Failed ProvisioningState = "Failed" // Succeeded means resource created succeeded during last create/update Succeeded ProvisioningState = "Succeeded" // Deleting means resource is in the process of being deleted Deleting ProvisioningState = "Deleting" // Migrating means resource is being migrated from one subscription or // resource group to another Migrating ProvisioningState = "Migrating" // Upgrading means an existing ContainerService resource is being upgraded Upgrading ProvisioningState = "Upgrading" )
type PublicKey ¶
type PublicKey struct {
KeyData string `json:"keyData"`
}
PublicKey represents an SSH key for LinuxProfile
type ResourcePurchasePlan ¶
type ResourcePurchasePlan struct { Name string `json:"name"` Product string `json:"product"` PromotionCode string `json:"promotionCode"` Publisher string `json:"publisher"` }
ResourcePurchasePlan defines resource plan as required by ARM for billing purposes.
type ServicePrincipalProfile ¶
type ServicePrincipalProfile struct { ClientID string `json:"clientId"` Secret string `json:"secret,omitempty" conform:"redact"` ObjectID string `json:"objectId,omitempty"` KeyvaultSecretRef *KeyvaultSecretRef `json:"keyvaultSecretRef,omitempty"` }
ServicePrincipalProfile contains the client and secret used by the cluster for Azure Resource CRUD
type TypeMeta ¶
type TypeMeta struct { // APIVersion is on every object APIVersion string `json:"apiVersion"` }
TypeMeta describes an individual API model object
func LoadDefaultContainerServiceProperties ¶
func LoadDefaultContainerServiceProperties() (TypeMeta, *vlabs.Properties)
LoadDefaultContainerServiceProperties loads the default API model
type V20160330ARMContainerService ¶
type V20160330ARMContainerService struct { TypeMeta *v20160330.ContainerService }
V20160330ARMContainerService is the type we read and write from file needed because the json that is sent to ARM and aks-engine is different from the json that the ACS RP Api gets from ARM
type V20160930ARMContainerService ¶
type V20160930ARMContainerService struct { TypeMeta *v20160930.ContainerService }
V20160930ARMContainerService is the type we read and write from file needed because the json that is sent to ARM and aks-engine is different from the json that the ACS RP Api gets from ARM
type V20170131ARMContainerService ¶
type V20170131ARMContainerService struct { TypeMeta *v20170131.ContainerService }
V20170131ARMContainerService is the type we read and write from file needed because the json that is sent to ARM and aks-engine is different from the json that the ACS RP Api gets from ARM
type V20170701ARMContainerService ¶
type V20170701ARMContainerService struct { TypeMeta *v20170701.ContainerService }
V20170701ARMContainerService is the type we read and write from file needed because the json that is sent to ARM and aks-engine is different from the json that the ACS RP Api gets from ARM
type V20170831ARMManagedContainerService ¶
type V20170831ARMManagedContainerService struct { TypeMeta *v20170831.ManagedCluster }
V20170831ARMManagedContainerService is the type we read and write from file needed because the json that is sent to ARM and aks-engine is different from the json that the ACS RP Api gets from ARM
type V20180331ARMManagedContainerService ¶
type V20180331ARMManagedContainerService struct { TypeMeta *v20180331.ManagedCluster }
V20180331ARMManagedContainerService is the type we read and write from file needed because the json that is sent to ARM and aks-engine is different from the json that the ACS RP Api gets from ARM
type VMDiagnostics ¶
type VMDiagnostics struct { Enabled bool `json:"enabled"` // Specifies storage account Uri where Boot Diagnostics (CRP & // VMSS BootDiagostics) and VM Diagnostics logs (using Linux // Diagnostics Extension) will be stored. Uri will be of standard // blob domain. i.e. https://storageaccount.blob.core.windows.net/ // This field is readonly as ACS RP will create a storage account // for the customer. StorageURL *neturl.URL `json:"storageUrl"` }
VMDiagnostics contains settings to on/off boot diagnostics collection in RD Host
type VlabsARMContainerService ¶
type VlabsARMContainerService struct { TypeMeta *vlabs.ContainerService }
VlabsARMContainerService is the type we read and write from file needed because the json that is sent to ARM and aks-engine is different from the json that the ACS RP Api gets from ARM
type WindowsProfile ¶
type WindowsProfile struct { AdminUsername string `json:"adminUsername"` AdminPassword string `json:"adminPassword" conform:"redact"` ImageVersion string `json:"imageVersion"` WindowsImageSourceURL string `json:"windowsImageSourceURL"` WindowsPublisher string `json:"windowsPublisher"` WindowsOffer string `json:"windowsOffer"` WindowsSku string `json:"windowsSku"` WindowsDockerVersion string `json:"windowsDockerVersion"` Secrets []KeyVaultSecrets `json:"secrets,omitempty"` SSHEnabled bool `json:"sshEnabled,omitempty"` }
WindowsProfile represents the windows parameters passed to the cluster
func (*WindowsProfile) GetWindowsDockerVersion ¶
func (w *WindowsProfile) GetWindowsDockerVersion() string
GetWindowsDockerVersion gets the docker version specified or returns default value
func (*WindowsProfile) GetWindowsSku ¶
func (w *WindowsProfile) GetWindowsSku() string
GetWindowsSku gets the marketplace sku specified (such as Datacenter-Core-1809-with-Containers-smalldisk) or returns default value
func (*WindowsProfile) HasCustomImage ¶
func (w *WindowsProfile) HasCustomImage() bool
HasCustomImage returns true if there is a custom windows os image url specified
func (*WindowsProfile) HasSecrets ¶
func (w *WindowsProfile) HasSecrets() bool
HasSecrets returns true if the customer specified secrets to install
Source Files ¶
- addons.go
- apiloader.go
- azenvtypes.go
- const.go
- converterfromagentpoolonlyapi.go
- converterfromapi.go
- convertertoagentpoolonlyapi.go
- convertertoapi.go
- defaults-apiserver.go
- defaults-cloud-controller-manager.go
- defaults-controller-manager.go
- defaults-kubelet.go
- defaults-scheduler.go
- defaults.go
- doc.go
- k8s_versions.go
- mocks.go
- orchestrators.go
- strictjson.go
- types.go
Directories ¶
Path | Synopsis |
---|---|
agentPoolOnlyApi
|
|
v20170831
Package v20170831 stores the API model for version "2017-08-31." Copyright (c) Microsoft Corporation.
|
Package v20170831 stores the API model for version "2017-08-31." Copyright (c) Microsoft Corporation. |
v20180331
Package v20180331 stores the API model for version "2018-03-31." Copyright (c) Microsoft Corporation.
|
Package v20180331 stores the API model for version "2018-03-31." Copyright (c) Microsoft Corporation. |
vlabs
Package vlabs stores an experimental API model.
|
Package vlabs stores an experimental API model. |
Package v20160330 stores the API model for version "2016-03-30." Copyright (c) Microsoft Corporation.
|
Package v20160330 stores the API model for version "2016-03-30." Copyright (c) Microsoft Corporation. |
Package v20160930 stores the API model for version "2016-09-30." Copyright (c) Microsoft Corporation.
|
Package v20160930 stores the API model for version "2016-09-30." Copyright (c) Microsoft Corporation. |
Package v20170131 stores the API model for version "2017-01-31." Copyright (c) Microsoft Corporation.
|
Package v20170131 stores the API model for version "2017-01-31." Copyright (c) Microsoft Corporation. |
Package v20170701 stores the API model for version "2017-07-01." Copyright (c) Microsoft Corporation.
|
Package v20170701 stores the API model for version "2017-07-01." Copyright (c) Microsoft Corporation. |
Package v20170930 stores the API model for version "2017-09-30." Copyright (c) Microsoft Corporation.
|
Package v20170930 stores the API model for version "2017-09-30." Copyright (c) Microsoft Corporation. |
Package vlabs stores an experimental API model.
|
Package vlabs stores an experimental API model. |