add basic azure support for kargo

This commit is contained in:
Sebastian Melchior
2016-11-29 10:20:28 +01:00
parent 5b382668f5
commit bb55f68f95
8 changed files with 145 additions and 8 deletions

View File

@@ -43,7 +43,7 @@ spec:
{% endif %}
- --v={{ kube_log_level }}
- --allow-privileged=true
{% if cloud_provider is defined and cloud_provider == "openstack" %}
{% if cloud_provider is defined and cloud_provider in ["openstack", "azure"] %}
- --cloud-provider={{ cloud_provider }}
- --cloud-config={{ kube_config_dir }}/cloud_config
{% elif cloud_provider is defined and cloud_provider == "aws" %}

View File

@@ -20,7 +20,7 @@ spec:
- --root-ca-file={{ kube_cert_dir }}/ca.pem
- --enable-hostpath-provisioner={{ kube_hostpath_dynamic_provisioner }}
- --v={{ kube_log_level }}
{% if cloud_provider is defined and cloud_provider == "openstack" %}
{% if cloud_provider is defined and cloud_provider in ["openstack", "azure"] %}
- --cloud-provider={{cloud_provider}}
- --cloud-config={{ kube_config_dir }}/cloud_config
{% elif cloud_provider is defined and cloud_provider == "aws" %}
@@ -37,7 +37,7 @@ spec:
- mountPath: {{ kube_cert_dir }}
name: ssl-certs-kubernetes
readOnly: true
{% if cloud_provider is defined and cloud_provider == "openstack" %}
{% if cloud_provider is defined and cloud_provider in ["openstack", "azure"] %}
- mountPath: {{ kube_config_dir }}/cloud_config
name: cloudconfig
readOnly: true
@@ -46,7 +46,7 @@ spec:
- hostPath:
path: {{ kube_cert_dir }}
name: ssl-certs-kubernetes
{% if cloud_provider is defined and cloud_provider == "openstack" %}
{% if cloud_provider is defined and cloud_provider in ["openstack", "azure"] %}
- hostPath:
path: {{ kube_config_dir }}/cloud_config
name: cloudconfig

View File

@@ -30,7 +30,7 @@ DOCKER_SOCKET="--docker-endpoint=unix:/var/run/weave/weave.sock"
{% endif %}
# Should this cluster be allowed to run privileged docker containers
KUBE_ALLOW_PRIV="--allow-privileged=true"
{% if cloud_provider is defined and cloud_provider == "openstack" %}
{% if cloud_provider is defined and cloud_provider in ["openstack", "azure"] %}
KUBELET_CLOUDPROVIDER="--cloud-provider={{ cloud_provider }} --cloud-config={{ kube_config_dir }}/cloud_config"
{% elif cloud_provider is defined and cloud_provider == "aws" %}
KUBELET_CLOUDPROVIDER="--cloud-provider={{ cloud_provider }}"

View File

@@ -0,0 +1,47 @@
---
- name: check azure_tenant_id value
fail:
msg: "azure_tenant_id is missing"
when: azure_tenant_id is not defined or azure_tenant_id == ""
- name: check openstack_username value
fail:
msg: "azure_subscription_id is missing"
when: azure_subscription_id is not defined or azure_subscription_id == ""
- name: check azure_aad_client_id value
fail:
msg: "azure_aad_client_id is missing"
when: azure_aad_client_id is not defined or azure_aad_client_id == ""
- name: check azure_aad_client_secret value
fail:
msg: "azure_aad_client_secret is missing"
when: azure_aad_client_secret is not defined or azure_aad_client_secret == ""
- name: check azure_resource_group value
fail:
msg: "azure_resource_group is missing"
when: azure_resource_group is not defined or azure_resource_group == ""
- name: check azure_location value
fail:
msg: "azure_location is missing"
when: azure_location is not defined or azure_location == ""
- name: check azure_subnet_name value
fail:
msg: "azure_subnet_name is missing"
when: azure_subnet_name is not defined or azure_subnet_name == ""
- name: check azure_security_group_name value
fail:
msg: "azure_security_group_name is missing"
when: azure_security_group_name is not defined or azure_security_group_name == ""
- name: check azure_vnet_name value
fail:
msg: "azure_vnet_name is missing"
when: azure_vnet_name is not defined or azure_vnet_name == ""

View File

@@ -60,12 +60,15 @@
- name: check cloud_provider value
fail:
msg: "If set the 'cloud_provider' var must be set either to 'generic', 'gce', 'aws' or 'openstack'"
when: cloud_provider is defined and cloud_provider not in ['generic', 'gce', 'aws', 'openstack']
msg: "If set the 'cloud_provider' var must be set either to 'generic', 'gce', 'aws', 'azure' or 'openstack'"
when: cloud_provider is defined and cloud_provider not in ['generic', 'gce', 'aws', 'openstack', 'azure']
- include: openstack-credential-check.yml
when: cloud_provider is defined and cloud_provider == 'openstack'
- include: azure-credential-check.yml
when: cloud_provider is defined and cloud_provider == 'azure'
- name: Create cni directories
file:
path: "{{ item }}"
@@ -130,4 +133,12 @@
mode: 0640
when: cloud_provider is defined and cloud_provider == "openstack"
- name: Write azure cloud-config
template:
src: azure-cloud-config.j2
dest: "{{ kube_config_dir }}/cloud_config"
group: "{{ kube_cert_group }}"
mode: 0640
when: cloud_provider is defined and cloud_provider == "azure"
- include: etchosts.yml

View File

@@ -0,0 +1,12 @@
{
"tenantId": "{{ azure_tenant_id }}",
"subscriptionId": "{{ azure_subscription_id }}",
"aadClientId": "{{ azure_aad_client_id }}",
"aadClientSecret": "{{ azure_aad_client_secret }}",
"resourceGroup": "{{ azure_resource_group }}",
"location": "{{ azure_location }}",
"subnetName": "{{ azure_subnet_name }}",
"securityGroupName": "{{ azure_security_group_name }}",
"vnetName": "{{ azure_vnet_name }}",
"routeTableName": "{{ azure_route_table_name }}"
}