aks

package
v0.0.0-...-98e341c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 13, 2024 License: Apache-2.0 Imports: 5 Imported by: 5

Documentation

Index

Constants

View Source
const (
	// The json/yaml config key for the AKS hosted cluster config
	AKSClusterConfigConfigurationFileKey = "aksClusterConfig"
)

Variables

This section is empty.

Functions

func CreateAKSHostedCluster

func CreateAKSHostedCluster(client *rancher.Client, displayName, cloudCredentialID string, aksClusterConfig ClusterConfig, enableClusterAlerting, enableClusterMonitoring, enableNetworkPolicy, windowsPreferedCluster bool, labels map[string]string) (*management.Cluster, error)

CreateAKSHostedCluster is a helper function that creates an AKS hosted cluster.

func HostClusterConfig

func HostClusterConfig(displayName, cloudCredentialID string, aksClusterConfig ClusterConfig) *management.AKSClusterConfigSpec

func ScalingAKSNodePoolsNodes

func ScalingAKSNodePoolsNodes(client *rancher.Client, cluster *management.Cluster, nodePool *NodePool) (*management.Cluster, error)

ScalingAKSNodePoolsNodes is a helper function that tests scaling of an AKS node pool by adding a new one and then deleting it.

Types

type ClusterConfig

type ClusterConfig struct {
	AuthBaseURL                 *string           `json:"authBaseUrl,omitempty" yaml:"authBaseUrl,omitempty"`
	AuthorizedIPRanges          *[]string         `json:"authorizedIpRanges,omitempty" yaml:"authorizedIpRanges,omitempty"`
	AzureCredentialSecret       string            `json:"azureCredentialSecret" yaml:"azureCredentialSecret"`
	BaseURL                     *string           `json:"baseUrl,omitempty" yaml:"baseUrl,omitempty"`
	DNSPrefix                   *string           `json:"dnsPrefix,omitempty" yaml:"dnsPrefix,omitempty"`
	HTTPApplicationRouting      *bool             `json:"httpApplicationRouting,omitempty" yaml:"httpApplicationRouting,omitempty"`
	KubernetesVersion           *string           `json:"kubernetesVersion,omitempty" yaml:"kubernetesVersion,omitempty"`
	LinuxAdminUsername          *string           `json:"linuxAdminUsername,omitempty" yaml:"linuxAdminUsername,omitempty"`
	LinuxSSHPublicKey           *string           `json:"sshPublicKey,omitempty" yaml:"sshPublicKey,omitempty"`
	LoadBalancerSKU             *string           `json:"loadBalancerSku,omitempty" yaml:"loadBalancerSku,omitempty"`
	LogAnalyticsWorkspaceGroup  *string           `json:"logAnalyticsWorkspaceGroup,omitempty" yaml:"logAnalyticsWorkspaceGroup,omitempty"`
	LogAnalyticsWorkspaceName   *string           `json:"logAnalyticsWorkspaceName,omitempty" yaml:"logAnalyticsWorkspaceName,omitempty"`
	ManagedIdentity             **bool            `json:"managedIdentity,omitempty" yaml:"managedIdentity,omitempty"`
	Monitoring                  *bool             `json:"monitoring,omitempty" yaml:"monitoring,omitempty"`
	NetworkDNSServiceIP         *string           `json:"dnsServiceIp,omitempty" yaml:"dnsServiceIp,omitempty"`
	NetworkDockerBridgeCIDR     *string           `json:"dockerBridgeCidr,omitempty" yaml:"dockerBridgeCidr,omitempty"`
	NetworkPlugin               *string           `json:"networkPlugin,omitempty" yaml:"networkPlugin,omitempty"`
	NetworkPodCIDR              *string           `json:"podCidr,omitempty" yaml:"podCidr,omitempty"`
	NetworkPolicy               *string           `json:"networkPolicy,omitempty" yaml:"networkPolicy,omitempty"`
	NetworkServiceCIDR          *string           `json:"serviceCidr,omitempty" yaml:"serviceCidr,omitempty"`
	NodePools                   *[]NodePool       `json:"nodePools,omitempty" yaml:"nodePools,omitempty"`
	NodeResourceGroup           *string           `json:"nodeResourceGroup,omitempty" yaml:"nodeResourceGroup,omitempty"`
	OutboundType                *string           `json:"outboundType,omitempty" yaml:"outboundType,omitempty"`
	PrivateCluster              *bool             `json:"privateCluster,omitempty" yaml:"privateCluster,omitempty"`
	PrivateDNSZone              *string           `json:"privateDnsZone,omitempty" yaml:"privateDnsZone,omitempty"`
	ResourceGroup               string            `json:"resourceGroup" yaml:"resourceGroup"`
	ResourceLocation            string            `json:"resourceLocation" yaml:"resourceLocation"`
	Subnet                      *string           `json:"subnet,omitempty" yaml:"subnet,omitempty"`
	Tags                        map[string]string `json:"tags" yaml:"tags"`
	UserAssignedIdentity        *string           `json:"userAssignedIdentity,omitempty" yaml:"userAssignedIdentity,omitempty"`
	VirtualNetwork              *string           `json:"virtualNetwork,omitempty" yaml:"virtualNetwork,omitempty"`
	VirtualNetworkResourceGroup *string           `json:"virtualNetworkResourceGroup,omitempty" yaml:"virtualNetworkResourceGroup,omitempty"`
}

ClusterConfig is the configuration needed to create an AKS host cluster

type NodePool

type NodePool struct {
	AvailabilityZones   *[]string         `json:"availabilityZones,omitempty" yaml:"availabilityZones,omitempty"`
	EnableAutoScaling   *bool             `json:"enableAutoScaling,omitempty" yaml:"enableAutoScaling,omitempty"`
	MaxPods             *int64            `json:"maxPods,omitempty" yaml:"maxPods,omitempty"`
	MaxSurge            string            `json:"maxSurge,omitempty" yaml:"maxSurge,omitempty"`
	MaxCount            *int64            `json:"maxCount,omitempty" yaml:"maxCount,omitempty"`
	MinCount            *int64            `json:"minCount,omitempty" yaml:"minCount,omitempty"`
	Mode                string            `json:"mode" yaml:"mode"`
	Name                *string           `json:"name,omitempty" yaml:"name,omitempty"`
	NodeCount           *int64            `json:"nodeCount,omitempty" yaml:"nodeCount,omitempty"`
	NodeLabels          map[string]string `json:"nodeLabels,omitempty" yaml:"nodeLabels,omitempty"`
	NodeTaints          []string          `json:"nodeTaints,omitempty" yaml:"nodeTaints,omitempty"`
	OrchestratorVersion *string           `json:"orchestratorVersion,omitempty" yaml:"orchestratorVersion,omitempty"`
	OsDiskSizeGB        *int64            `json:"osDiskSizeGB,omitempty" yaml:"osDiskSizeGB,omitempty"`
	OsDiskType          string            `json:"osDiskType" yaml:"osDiskType"`
	OsType              string            `json:"osType" yaml:"osType"`
	VMSize              string            `json:"vmSize" yaml:"vmSize"`
	VnetSubnetID        *string           `json:"vnetSubnetID,omitempty" yaml:"vnetSubnetID,omitempty"`
}

NodePool is the configuration needed to an AKS node pool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL