Automatic merge from submit-queue Enable setting up Kubernetes cluster in Ubuntu on Azure Implement basic cloud provider functionality to deploy Kubernetes on Azure. SaltStack is used to deploy Kubernetes on top of Ubuntu virtual machines. OpenVpn provides network connectivity. For kubelet authentication, we use basic authentication (username and password). The scripts use the legacy Azure Service Management APIs. We have set up a nightly test job in our Jenkins server for federated testing to run the e2e test suite on Azure. With the cloud provider scripts in this commit, 14 e2e test cases pass in this environment. We plan to implement additional Azure functionality to support more test cases. <!-- Reviewable:start --> --- This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/21207) <!-- Reviewable:end -->
107 lines
3.2 KiB
Plaintext
107 lines
3.2 KiB
Plaintext
base:
|
|
'*':
|
|
- base
|
|
- debian-auto-upgrades
|
|
- salt-helpers
|
|
{% if grains.get('cloud') == 'aws' %}
|
|
- ntp
|
|
{% endif %}
|
|
{% if pillar.get('e2e_storage_test_environment', '').lower() == 'true' %}
|
|
- e2e
|
|
{% endif %}
|
|
|
|
'roles:kubernetes-pool':
|
|
- match: grain
|
|
- docker
|
|
{% if pillar.get('network_provider', '').lower() == 'flannel' %}
|
|
- flannel
|
|
{% endif %}
|
|
{% if pillar.get('network_policy_provider', '').lower() == 'calico' %}
|
|
- cni
|
|
{% elif pillar.get('network_provider', '').lower() == 'kubenet' %}
|
|
- cni
|
|
{% elif pillar.get('network_provider', '').lower() == 'cni' %}
|
|
- cni
|
|
{% endif %}
|
|
{% if grains['cloud'] is defined and grains['cloud'] == 'azure-legacy' %}
|
|
- openvpn-client
|
|
{% endif %}
|
|
- helpers
|
|
- kube-client-tools
|
|
- kube-node-unpacker
|
|
- kubelet
|
|
{% if pillar.get('network_provider', '').lower() == 'opencontrail' %}
|
|
- opencontrail-networking-minion
|
|
{% else %}
|
|
- kube-proxy
|
|
{% endif %}
|
|
{% if pillar.get('enable_node_logging', '').lower() == 'true' and pillar['logging_destination'] is defined %}
|
|
{% if pillar['logging_destination'] == 'elasticsearch' %}
|
|
- fluentd-es
|
|
{% elif pillar['logging_destination'] == 'gcp' %}
|
|
- fluentd-gcp
|
|
{% endif %}
|
|
{% endif %}
|
|
{% if pillar.get('enable_cluster_registry', '').lower() == 'true' %}
|
|
- kube-registry-proxy
|
|
{% endif %}
|
|
{% if pillar['prepull_e2e_images'] is defined and pillar['prepull_e2e_images'].lower() == 'true' %}
|
|
- e2e-image-puller
|
|
{% endif %}
|
|
- logrotate
|
|
- supervisor
|
|
{% if pillar.get('network_policy_provider', '').lower() == 'calico' %}
|
|
- calico.node
|
|
{% endif %}
|
|
|
|
'roles:kubernetes-master':
|
|
- match: grain
|
|
- generate-cert
|
|
- etcd
|
|
{% if pillar.get('network_provider', '').lower() == 'flannel' %}
|
|
- flannel-server
|
|
- flannel
|
|
{% elif pillar.get('network_provider', '').lower() == 'kubenet' %}
|
|
- cni
|
|
{% elif pillar.get('network_provider', '').lower() == 'cni' %}
|
|
- cni
|
|
{% endif %}
|
|
{% if pillar.get('enable_l7_loadbalancing', '').lower() == 'glbc' %}
|
|
- l7-gcp
|
|
{% endif %}
|
|
- kube-apiserver
|
|
- kube-controller-manager
|
|
- kube-scheduler
|
|
- supervisor
|
|
- kube-client-tools
|
|
- kube-master-addons
|
|
- kube-admission-controls
|
|
{% if pillar.get('enable_node_logging', '').lower() == 'true' and pillar['logging_destination'] is defined %}
|
|
{% if pillar['logging_destination'] == 'elasticsearch' %}
|
|
- fluentd-es
|
|
{% elif pillar['logging_destination'] == 'gcp' %}
|
|
- fluentd-gcp
|
|
{% endif %}
|
|
{% endif %}
|
|
{% if grains['cloud'] is defined and grains['cloud'] != 'vagrant' %}
|
|
- logrotate
|
|
{% endif %}
|
|
- kube-addons
|
|
{% if grains['cloud'] is defined and grains['cloud'] == 'azure-legacy' %}
|
|
- openvpn
|
|
- nginx
|
|
{% endif %}
|
|
{% if grains['cloud'] is defined and grains['cloud'] in [ 'vagrant', 'gce', 'aws', 'vsphere', 'photon-controller', 'openstack', 'azure-legacy'] %}
|
|
- docker
|
|
- kubelet
|
|
{% endif %}
|
|
{% if pillar.get('network_provider', '').lower() == 'opencontrail' %}
|
|
- opencontrail-networking-master
|
|
{% endif %}
|
|
{% if pillar.get('enable_cluster_autoscaler', '').lower() == 'true' %}
|
|
- cluster-autoscaler
|
|
{% endif %}
|
|
{% if pillar.get('network_policy_provider', '').lower() == 'calico' %}
|
|
- calico.master
|
|
{% endif %}
|