mirror of
https://github.com/kubernetes-sigs/kubespray.git
synced 2026-02-28 00:08:46 -03:30
add basic azure support for kargo
This commit is contained in:
@@ -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" %}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 }}"
|
||||
|
||||
47
roles/kubernetes/preinstall/tasks/azure-credential-check.yml
Normal file
47
roles/kubernetes/preinstall/tasks/azure-credential-check.yml
Normal 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 == ""
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
12
roles/kubernetes/preinstall/templates/azure-cloud-config.j2
Normal file
12
roles/kubernetes/preinstall/templates/azure-cloud-config.j2
Normal 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 }}"
|
||||
}
|
||||
Reference in New Issue
Block a user