Skip to content
This repository has been archived by the owner on Jan 11, 2023. It is now read-only.

Commit

Permalink
Add CNI plugin download URLs for Windows and Linux (#1391)
Browse files Browse the repository at this point in the history
  • Loading branch information
ofiliz authored and jackfrancis committed Sep 2, 2017
1 parent 343774d commit 1036878
Show file tree
Hide file tree
Showing 8 changed files with 41 additions and 34 deletions.
2 changes: 1 addition & 1 deletion parts/kubernetesagentresourcesvmas.t
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@
"autoUpgradeMinorVersion": true,
"settings": {},
"protectedSettings": {
"commandToExecute": "[concat('/usr/bin/nohup /bin/bash -c \"/bin/bash /opt/azure/containers/provision.sh ',variables('tenantID'),' ',variables('subscriptionId'),' ',variables('resourceGroup'),' ',variables('location'),' ',variables('subnetName'),' ',variables('nsgName'),' ',variables('virtualNetworkName'),' ',variables('routeTableName'),' ',variables('primaryAvailabilitySetName'),' ',variables('servicePrincipalClientId'),' ',variables('servicePrincipalClientSecret'),' ',variables('clientPrivateKey'),' ',variables('targetEnvironment'),' ',variables('networkPolicy'),' ',variables('fqdnEndpointSuffix'),' ',variables('azureVnetCniURL'),' ',variables('azureCniURL'),' ',variables('calicoConfigURL'),' ',variables('maxPods'),' ',variables('cloudProviderBackoff'),' ',variables('cloudProviderBackoffRetries'),' ',variables('cloudProviderBackoffExponent'),' ',variables('cloudProviderBackoffDuration'),' ',variables('cloudProviderBackoffJitter'),' ',variables('cloudProviderRatelimit'),' ',variables('cloudProviderRatelimitQPS'),' ',variables('cloudProviderRatelimitBucket'),' ', variables('useManagedIdentityExtension'),' ',variables('useInstanceMetadata'),' >> /var/log/azure/cluster-provision.log 2>&1 &\" &')]"
"commandToExecute": "[concat('/usr/bin/nohup /bin/bash -c \"/bin/bash /opt/azure/containers/provision.sh ',variables('tenantID'),' ',variables('subscriptionId'),' ',variables('resourceGroup'),' ',variables('location'),' ',variables('subnetName'),' ',variables('nsgName'),' ',variables('virtualNetworkName'),' ',variables('routeTableName'),' ',variables('primaryAvailabilitySetName'),' ',variables('servicePrincipalClientId'),' ',variables('servicePrincipalClientSecret'),' ',variables('clientPrivateKey'),' ',variables('targetEnvironment'),' ',variables('networkPolicy'),' ',variables('fqdnEndpointSuffix'),' ',variables('vnetCniLinuxPluginsURL'),' ',variables('cniPluginsURL'),' ',variables('calicoConfigURL'),' ',variables('maxPods'),' ',variables('cloudProviderBackoff'),' ',variables('cloudProviderBackoffRetries'),' ',variables('cloudProviderBackoffExponent'),' ',variables('cloudProviderBackoffDuration'),' ',variables('cloudProviderBackoffJitter'),' ',variables('cloudProviderRatelimit'),' ',variables('cloudProviderRatelimitQPS'),' ',variables('cloudProviderRatelimitBucket'),' ', variables('useManagedIdentityExtension'),' ',variables('useInstanceMetadata'),' >> /var/log/azure/cluster-provision.log 2>&1 &\" &')]"
}
}
}
14 changes: 6 additions & 8 deletions parts/kubernetesmastercustomscript.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ KUBELET_PRIVATE_KEY="${12}"
TARGET_ENVIRONMENT="${13}"
NETWORK_POLICY="${14}"
FQDNSuffix="${15}"
AZURE_VNET_CNI_URL="${16}"
AZURE_CNI_URL="${17}"
VNET_CNI_PLUGINS_URL="${16}"
CNI_PLUGINS_URL="${17}"
CALICO_CONFIG_URL="${18}"
MAX_PODS="${19}"

Expand Down Expand Up @@ -195,9 +195,9 @@ function configAzureNetworkPolicy() {
mkdir -p $CNI_BIN_DIR

# Mirror from https://github.com/Azure/azure-container-networking/releases/tag/$AZURE_PLUGIN_VER/azure-vnet-cni-linux-amd64-$AZURE_PLUGIN_VER.tgz
downloadUrl ${AZURE_VNET_CNI_URL} | tar -xz -C $CNI_BIN_DIR
downloadUrl ${VNET_CNI_PLUGINS_URL} | tar -xz -C $CNI_BIN_DIR
# Mirror from https://github.com/containernetworking/cni/releases/download/$CNI_RELEASE_VER/cni-amd64-$CNI_RELEASE_VERSION.tgz
downloadUrl ${AZURE_CNI_URL} | tar -xz -C $CNI_BIN_DIR ./loopback
downloadUrl ${CNI_PLUGINS_URL} | tar -xz -C $CNI_BIN_DIR ./loopback
chown -R root:root $CNI_BIN_DIR
chmod -R 755 $CNI_BIN_DIR

Expand All @@ -215,10 +215,8 @@ function configAzureNetworkPolicy() {

# Configures Kubelet to use CNI and mount the appropriate hostpaths
function configCalicoNetworkPolicy() {

setNetworkPlugin cni
setDockerOpts " --volume=/etc/cni/:/etc/cni:ro --volume=/opt/cni/:/opt/cni:ro"

setNetworkPlugin cni
setDockerOpts " --volume=/etc/cni/:/etc/cni:ro --volume=/opt/cni/:/opt/cni:ro"
}

function configNetworkPolicy() {
Expand Down
2 changes: 1 addition & 1 deletion parts/kubernetesmasterresources.t
Original file line number Diff line number Diff line change
Expand Up @@ -529,7 +529,7 @@
"autoUpgradeMinorVersion": true,
"settings": {},
"protectedSettings": {
"commandToExecute": "[concat('/usr/bin/nohup /bin/bash -c \"/bin/bash /opt/azure/containers/provision.sh ',variables('tenantID'),' ',variables('subscriptionId'),' ',variables('resourceGroup'),' ',variables('location'),' ',variables('subnetName'),' ',variables('nsgName'),' ',variables('virtualNetworkName'),' ',variables('routeTableName'),' ',variables('primaryAvailabilitySetName'),' ',variables('servicePrincipalClientId'),' ',variables('servicePrincipalClientSecret'),' ',variables('clientPrivateKey'),' ',variables('targetEnvironment'),' ',variables('networkPolicy'),' ', variables('fqdnEndpointSuffix'),' ',variables('azureVnetCniURL'),' ',variables('azureCniURL'),' ',variables('calicoConfigURL'),' ',variables('maxPods'),' ',variables('cloudProviderBackoff'),' ',variables('cloudProviderBackoffRetries'),' ',variables('cloudProviderBackoffExponent'),' ',variables('cloudProviderBackoffDuration'),' ',variables('cloudProviderBackoffJitter'),' ',variables('cloudProviderRatelimit'),' ',variables('cloudProviderRatelimitQPS'),' ',variables('cloudProviderRatelimitBucket'),' ',variables('useManagedIdentityExtension'),' ',variables('useInstanceMetadata'),' ',variables('apiServerPrivateKey'),' ',variables('caCertificate'),' ',variables('caPrivateKey'),' ',variables('masterFqdnPrefix'),' ',variables('kubeConfigCertificate'),' ',variables('kubeConfigPrivateKey'),' ',variables('username'),' >> /var/log/azure/cluster-provision.log 2>&1\"')]"
"commandToExecute": "[concat('/usr/bin/nohup /bin/bash -c \"/bin/bash /opt/azure/containers/provision.sh ',variables('tenantID'),' ',variables('subscriptionId'),' ',variables('resourceGroup'),' ',variables('location'),' ',variables('subnetName'),' ',variables('nsgName'),' ',variables('virtualNetworkName'),' ',variables('routeTableName'),' ',variables('primaryAvailabilitySetName'),' ',variables('servicePrincipalClientId'),' ',variables('servicePrincipalClientSecret'),' ',variables('clientPrivateKey'),' ',variables('targetEnvironment'),' ',variables('networkPolicy'),' ', variables('fqdnEndpointSuffix'),' ',variables('vnetCniLinuxPluginsURL'),' ',variables('cniPluginsURL'),' ',variables('calicoConfigURL'),' ',variables('maxPods'),' ',variables('cloudProviderBackoff'),' ',variables('cloudProviderBackoffRetries'),' ',variables('cloudProviderBackoffExponent'),' ',variables('cloudProviderBackoffDuration'),' ',variables('cloudProviderBackoffJitter'),' ',variables('cloudProviderRatelimit'),' ',variables('cloudProviderRatelimitQPS'),' ',variables('cloudProviderRatelimitBucket'),' ',variables('useManagedIdentityExtension'),' ',variables('useInstanceMetadata'),' ',variables('apiServerPrivateKey'),' ',variables('caCertificate'),' ',variables('caPrivateKey'),' ',variables('masterFqdnPrefix'),' ',variables('kubeConfigCertificate'),' ',variables('kubeConfigPrivateKey'),' ',variables('username'),' >> /var/log/azure/cluster-provision.log 2>&1\"')]"
}
}
}{{WriteLinkedTemplatesForExtensions}}
5 changes: 3 additions & 2 deletions parts/kubernetesmastervars.t
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,9 @@
"kubernetesKubeDNSSpec": "[parameters('kubernetesKubeDNSSpec')]",
"kubernetesDNSMasqSpec": "[parameters('kubernetesDNSMasqSpec')]",
"networkPolicy": "[parameters('networkPolicy')]",
"azureVnetCniURL":"[parameters('azureVnetCniURL')]",
"azureCniURL":"[parameters('azureCniURL')]",
"cniPluginsURL":"[parameters('cniPluginsURL')]",
"vnetCniLinuxPluginsURL":"[parameters('vnetCniLinuxPluginsURL')]",
"vnetCniWindowsPluginsURL":"[parameters('vnetCniWindowsPluginsURL')]",
"maxPods": "[parameters('maxPods')]",
"vnetCidr": "[parameters('vnetCidr')]",
"calicoConfigURL":"[parameters('calicoConfigURL')]",
Expand Down
10 changes: 7 additions & 3 deletions parts/kubernetesparams.t
Original file line number Diff line number Diff line change
Expand Up @@ -271,12 +271,16 @@
],
"type": "string"
},
"azureVnetCniURL": {
"cniPluginsURL": {
"defaultValue": "https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-latest.tgz",
"type": "string"
},
"vnetCniLinuxPluginsURL": {
"defaultValue": "https://acs-mirror.azureedge.net/cni/azure-vnet-cni-linux-amd64-latest.tgz",
"type": "string"
},
"azureCniURL": {
"defaultValue": "https://acs-mirror.azureedge.net/cni/cni-amd64-latest.tgz",
"vnetCniWindowsPluginsURL": {
"defaultValue": "https://acs-mirror.azureedge.net/cni/azure-vnet-cni-windows-amd64-latest.zip",
"type": "string"
},
"calicoConfigURL": {
Expand Down
24 changes: 13 additions & 11 deletions pkg/acsengine/defaults.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,13 @@ import (
var (
//DefaultKubernetesSpecConfig is the default Docker image source of Kubernetes
DefaultKubernetesSpecConfig = KubernetesSpecConfig{
KubernetesImageBase: "gcrio.azureedge.net/google_containers/",
TillerImageBase: "gcrio.azureedge.net/kubernetes-helm/",
KubeBinariesSASURLBase: "https://acs-mirror.azureedge.net/wink8s/",
CalicoConfigDownloadURL: "https://raw.githubusercontent.com/projectcalico/calico/a4ebfbad55ab1b7f10fdf3b39585471f8012e898/v2.0/getting-started/kubernetes/installation/hosted/k8s-backend-addon-manager",
AzureCNIDownloadURL: "https://acs-mirror.azureedge.net/cni/cni-amd64-latest.tgz",
AzureVnetCNIDownloadURL: "https://acs-mirror.azureedge.net/cni/azure-vnet-cni-linux-amd64-latest.tgz",
KubernetesImageBase: "gcrio.azureedge.net/google_containers/",
TillerImageBase: "gcrio.azureedge.net/kubernetes-helm/",
KubeBinariesSASURLBase: "https://acs-mirror.azureedge.net/wink8s/",
CNIPluginsDownloadURL: "https://acs-mirror.azureedge.net/cni/cni-plugins-amd64-latest.tgz",
VnetCNILinuxPluginsDownloadURL: "https://acs-mirror.azureedge.net/cni/azure-vnet-cni-linux-amd64-latest.tgz",
VnetCNIWindowsPluginsDownloadURL: "https://acs-mirror.azureedge.net/cni/azure-vnet-cni-windows-amd64-latest.zip",
CalicoConfigDownloadURL: "https://raw.githubusercontent.com/projectcalico/calico/a4ebfbad55ab1b7f10fdf3b39585471f8012e898/v2.0/getting-started/kubernetes/installation/hosted/k8s-backend-addon-manager",
}

//DefaultDCOSSpecConfig is the default DC/OS binary download URL.
Expand Down Expand Up @@ -93,11 +94,12 @@ var (
},
//KubernetesSpecConfig - Due to Chinese firewall issue, the default containers from google is blocked, use the Chinese local mirror instead
KubernetesSpecConfig: KubernetesSpecConfig{
KubernetesImageBase: "crproxy.trafficmanager.net:6000/google_containers/",
TillerImageBase: "mirror.azure.cn:5000/kubernetes-helm/",
CalicoConfigDownloadURL: "https://acsengine.blob.core.chinacloudapi.cn/cni",
AzureVnetCNIDownloadURL: "https://acsengine.blob.core.chinacloudapi.cn/cni/azure-vnet-cni-linux-amd64-latest.tar",
AzureCNIDownloadURL: "https://acsengine.blob.core.chinacloudapi.cn/cni/cni-amd64-latest.tar",
KubernetesImageBase: "crproxy.trafficmanager.net:6000/google_containers/",
TillerImageBase: "mirror.azure.cn:5000/kubernetes-helm/",
CNIPluginsDownloadURL: "https://acsengine.blob.core.chinacloudapi.cn/cni/cni-plugins-amd64-latest.tgz",
VnetCNILinuxPluginsDownloadURL: "https://acsengine.blob.core.chinacloudapi.cn/cni/azure-vnet-cni-linux-amd64-latest.tgz",
VnetCNIWindowsPluginsDownloadURL: "https://acsengine.blob.core.chinacloudapi.cn/cni/azure-vnet-cni-windows-amd64-latest.zip",
CalicoConfigDownloadURL: "https://acsengine.blob.core.chinacloudapi.cn/cni",
},
DCOSSpecConfig: DCOSSpecConfig{
DCOS173BootstrapDownloadURL: fmt.Sprintf(AzureChinaCloudDCOSBootstrapDownloadURL, "df308b6fc3bd91e1277baa5a3db928ae70964722"),
Expand Down
5 changes: 3 additions & 2 deletions pkg/acsengine/engine.go
Original file line number Diff line number Diff line change
Expand Up @@ -521,8 +521,9 @@ func getParameters(cs *api.ContainerService, isClassicMode bool) (paramsMap, err
addValue(parametersMap, "kubeClusterCidr", properties.OrchestratorProfile.KubernetesConfig.ClusterSubnet)
addValue(parametersMap, "dockerBridgeCidr", properties.OrchestratorProfile.KubernetesConfig.DockerBridgeSubnet)
addValue(parametersMap, "networkPolicy", properties.OrchestratorProfile.KubernetesConfig.NetworkPolicy)
addValue(parametersMap, "azureVnetCniURL", cloudSpecConfig.KubernetesSpecConfig.AzureVnetCNIDownloadURL)
addValue(parametersMap, "azureCniURL", cloudSpecConfig.KubernetesSpecConfig.AzureCNIDownloadURL)
addValue(parametersMap, "cniPluginsURL", cloudSpecConfig.KubernetesSpecConfig.CNIPluginsDownloadURL)
addValue(parametersMap, "vnetCniLinuxPluginsURL", cloudSpecConfig.KubernetesSpecConfig.VnetCNILinuxPluginsDownloadURL)
addValue(parametersMap, "vnetCniWindowsPluginsURL", cloudSpecConfig.KubernetesSpecConfig.VnetCNIWindowsPluginsDownloadURL)
addValue(parametersMap, "calicoConfigURL", cloudSpecConfig.KubernetesSpecConfig.CalicoConfigDownloadURL)
addValue(parametersMap, "maxPods", properties.OrchestratorProfile.KubernetesConfig.MaxPods)

Expand Down
13 changes: 7 additions & 6 deletions pkg/acsengine/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,13 @@ type DCOSSpecConfig struct {

//KubernetesSpecConfig is the kubernetes container images used.
type KubernetesSpecConfig struct {
KubernetesImageBase string
TillerImageBase string
KubeBinariesSASURLBase string
AzureVnetCNIDownloadURL string
AzureCNIDownloadURL string
CalicoConfigDownloadURL string
KubernetesImageBase string
TillerImageBase string
KubeBinariesSASURLBase string
CNIPluginsDownloadURL string
VnetCNILinuxPluginsDownloadURL string
VnetCNIWindowsPluginsDownloadURL string
CalicoConfigDownloadURL string
}

//AzureEndpointConfig describes an Azure endpoint
Expand Down

0 comments on commit 1036878

Please sign in to comment.