Skip to content

Instantly share code, notes, and snippets.

@feiskyer
Created August 13, 2020 02:19
Show Gist options
  • Save feiskyer/c70456f7ea38fef695bfde3843a5cc2a to your computer and use it in GitHub Desktop.
Save feiskyer/c70456f7ea38fef695bfde3843a5cc2a to your computer and use it in GitHub Desktop.
Dualstack Kubernetes cluster with aks-engine
{
"apiVersion": "vlabs",
"properties": {
"featureFlags": {
"enableIPv6DualStack": true
},
"orchestratorProfile": {
"orchestratorType": "Kubernetes",
"orchestratorRelease": "1.19",
"kubernetesConfig": {
"customKubeAPIServerImage": "feisky/kube-apiserver-amd64:v1.20.0-alpha.0-544-g7ee1ef01dd2",
"customKubeControllerManagerImage": "feisky/kube-controller-manager-amd64:v1.20.0-alpha.0-547-g01c6c3933bc",
"customKubeProxyImage": "feisky/kube-proxy-amd64:v1.20.0-alpha.0-544-g7ee1ef01dd2",
"customKubeSchedulerImage": "feisky/kube-scheduler-amd64:v1.20.0-alpha.0-544-g7ee1ef01dd2",
"loadBalancerSku": "Standard",
"excludeMasterFromStandardLB": true,
"clusterSubnet": "10.240.0.0/12,fc00::/48",
"serviceCidr": "10.0.0.0/16,fd00::/108",
"dnsServiceIP": "10.0.0.10",
"kubeProxyMode": "ipvs",
"networkPlugin": "azure",
"apiServerConfig": {
"--feature-gates": "IPv6DualStack=true",
"--tls-min-version": "VersionTLS12",
"--tls-cipher-suites": "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
},
"kubeletConfig": {
"--feature-gates": "IPv6DualStack=true"
},
"controllerManagerConfig": {
"--feature-gates": "IPv6DualStack=true"
}
}
},
"masterProfile": {
"count": 1,
"dnsPrefix": "dualstack",
"storageProfile": "ManagedDisks",
"vmSize": "Standard_D2_v3"
},
"agentPoolProfiles": [
{
"name": "agentpool",
"count": 2,
"storageProfile": "ManagedDisks",
"vmSize": "Standard_D2_v3",
"availabilityProfile": "AvailabilitySet"
}
],
"linuxProfile": {
"adminUsername": "azure"
},
"servicePrincipalProfile": {
"clientId": "<replace-this>",
"secret": "<replace-this>"
}
}
}
@feiskyer
Copy link
Author

After deployment, add the following config in /etc/kubernetes/azure.json and restart kube-controller-manager on master node:

{
  "disableOutboundSNAT": true,
  "disableFloatingIP": true
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment