mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Add opencontrail networking provisioning support in kubernetes salt based provisioning
OpenContrail is an open-source based networking software which provides virtualization support for the cloud. This change-set adds ability to install and provision opencontrail software for networking in kubernetes based cloud environment. There are basically 3 components o kube-network-manager -- plugin between contrail components and kubernets components o provision_master.sh -- OpenContrail software installer and provisioner in master node o provision_minion.sh -- OpenContrail software installer and provisioner in minion node(s) These are driven via salt configuration files One can provision opencontrail by just setting "export NETWORK_PROVIDER=opencontrail" Optionally, OPENCONTRAIL_TAG, and OPENCONTRAIL_KUBERNETES_TAG can be used to specify opencontrail and contrail-kubernetes software versions to install and provision. Public-IP Subnet provided by contrail can be configured via OPENCONTRAIL_PUBLIC_SUBNET environment variable At this moment, plan is to add support for aws, gce and vagrant based platforms For more information on contrail-kubernetes, please visit https://github.com/juniper/contrail-kubernetes For more information on opencontrail, please visit http://www.opencontrail.org
This commit is contained in:
		@@ -99,3 +99,9 @@ KUBE_MINION_IMAGE="${KUBE_MINION_IMAGE:-}"
 | 
				
			|||||||
COREOS_CHANNEL="${COREOS_CHANNEL:-alpha}"
 | 
					COREOS_CHANNEL="${COREOS_CHANNEL:-alpha}"
 | 
				
			||||||
CONTAINER_RUNTIME="${KUBE_CONTAINER_RUNTIME:-docker}"
 | 
					CONTAINER_RUNTIME="${KUBE_CONTAINER_RUNTIME:-docker}"
 | 
				
			||||||
RKT_VERSION="${KUBE_RKT_VERSION:-0.5.5}"
 | 
					RKT_VERSION="${KUBE_RKT_VERSION:-0.5.5}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# OpenContrail networking plugin specific settings
 | 
				
			||||||
 | 
					NETWORK_PROVIDER="${NETWORK_PROVIDER:-none}" # opencontrail
 | 
				
			||||||
 | 
					OPENCONTRAIL_TAG="${OPENCONTRAIL_TAG:-R2.20}"
 | 
				
			||||||
 | 
					OPENCONTRAIL_KUBERNETES_TAG="${OPENCONTRAIL_KUBERNETES_TAG:-master}"
 | 
				
			||||||
 | 
					OPENCONTRAIL_PUBLIC_SUBNET="${OPENCONTRAIL_PUBLIC_SUBNET:-10.1.0.0/16}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -36,6 +36,10 @@ dns_replicas: '$(echo "$DNS_REPLICAS" | sed -e "s/'/''/g")'
 | 
				
			|||||||
dns_server: '$(echo "$DNS_SERVER_IP" | sed -e "s/'/''/g")'
 | 
					dns_server: '$(echo "$DNS_SERVER_IP" | sed -e "s/'/''/g")'
 | 
				
			||||||
dns_domain: '$(echo "$DNS_DOMAIN" | sed -e "s/'/''/g")'
 | 
					dns_domain: '$(echo "$DNS_DOMAIN" | sed -e "s/'/''/g")'
 | 
				
			||||||
admission_control: '$(echo "$ADMISSION_CONTROL" | sed -e "s/'/''/g")'
 | 
					admission_control: '$(echo "$ADMISSION_CONTROL" | sed -e "s/'/''/g")'
 | 
				
			||||||
 | 
					network_provider: '$(echo "$NETWORK_PROVIDER")'
 | 
				
			||||||
 | 
					opencontrail_tag: '$(echo "$OPENCONTRAIL_TAG")'
 | 
				
			||||||
 | 
					opencontrail_kubernetes_tag: '$(echo "$OPENCONTRAIL_KUBERNETES_TAG")'
 | 
				
			||||||
 | 
					opencontrail_public_subnet: '$(echo "$OPENCONTRAIL_PUBLIC_SUBNET")'
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
readonly BASIC_AUTH_FILE="/srv/salt-overlay/salt/kube-apiserver/basic_auth.csv"
 | 
					readonly BASIC_AUTH_FILE="/srv/salt-overlay/salt/kube-apiserver/basic_auth.csv"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -812,6 +812,10 @@ function kube-up {
 | 
				
			|||||||
    echo "readonly KUBE_PROXY_TOKEN='${KUBE_PROXY_TOKEN}'"
 | 
					    echo "readonly KUBE_PROXY_TOKEN='${KUBE_PROXY_TOKEN}'"
 | 
				
			||||||
    echo "readonly DOCKER_STORAGE='${DOCKER_STORAGE:-}'"
 | 
					    echo "readonly DOCKER_STORAGE='${DOCKER_STORAGE:-}'"
 | 
				
			||||||
    echo "readonly MASTER_EXTRA_SANS='${MASTER_EXTRA_SANS:-}'"
 | 
					    echo "readonly MASTER_EXTRA_SANS='${MASTER_EXTRA_SANS:-}'"
 | 
				
			||||||
 | 
					    echo "readonly NETWORK_PROVIDER='${NETWORK_PROVIDER:-}'"
 | 
				
			||||||
 | 
					    echo "readonly OPENCONTRAIL_TAG='${OPENCONTRAIL_TAG:-}'"
 | 
				
			||||||
 | 
					    echo "readonly OPENCONTRAIL_KUBERNETES_TAG='${OPENCONTRAIL_KUBERNETES_TAG:-}'"
 | 
				
			||||||
 | 
					    echo "readonly OPENCONTRAIL_PUBLIC_SUBNET='${OPENCONTRAIL_PUBLIC_SUBNET:-}'"
 | 
				
			||||||
    grep -v "^#" "${KUBE_ROOT}/cluster/aws/templates/common.sh"
 | 
					    grep -v "^#" "${KUBE_ROOT}/cluster/aws/templates/common.sh"
 | 
				
			||||||
    grep -v "^#" "${KUBE_ROOT}/cluster/aws/templates/format-disks.sh"
 | 
					    grep -v "^#" "${KUBE_ROOT}/cluster/aws/templates/format-disks.sh"
 | 
				
			||||||
    grep -v "^#" "${KUBE_ROOT}/cluster/aws/templates/setup-master-pd.sh"
 | 
					    grep -v "^#" "${KUBE_ROOT}/cluster/aws/templates/setup-master-pd.sh"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -114,3 +114,9 @@ ADMISSION_CONTROL=NamespaceLifecycle,LimitRanger,SecurityContextDeny,ServiceAcco
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# Optional: if set to true kube-up will automatically check for existing resources and clean them up.
 | 
					# Optional: if set to true kube-up will automatically check for existing resources and clean them up.
 | 
				
			||||||
KUBE_UP_AUTOMATIC_CLEANUP=${KUBE_UP_AUTOMATIC_CLEANUP:-false}
 | 
					KUBE_UP_AUTOMATIC_CLEANUP=${KUBE_UP_AUTOMATIC_CLEANUP:-false}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# OpenContrail networking plugin specific settings
 | 
				
			||||||
 | 
					NETWORK_PROVIDER="${NETWORK_PROVIDER:-none}" # opencontrail
 | 
				
			||||||
 | 
					OPENCONTRAIL_TAG="${OPENCONTRAIL_TAG:-R2.20}"
 | 
				
			||||||
 | 
					OPENCONTRAIL_KUBERNETES_TAG="${OPENCONTRAIL_KUBERNETES_TAG:-master}"
 | 
				
			||||||
 | 
					OPENCONTRAIL_PUBLIC_SUBNET="${OPENCONTRAIL_PUBLIC_SUBNET:-10.1.0.0/16}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -127,3 +127,9 @@ KUBE_UP_AUTOMATIC_CLEANUP=${KUBE_UP_AUTOMATIC_CLEANUP:-false}
 | 
				
			|||||||
# are pre-installed in the image. Note that currently this logic
 | 
					# are pre-installed in the image. Note that currently this logic
 | 
				
			||||||
# is only supported in trusty nodes.
 | 
					# is only supported in trusty nodes.
 | 
				
			||||||
TEST_CLUSTER="${TEST_CLUSTER:-true}"
 | 
					TEST_CLUSTER="${TEST_CLUSTER:-true}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# OpenContrail networking plugin specific settings
 | 
				
			||||||
 | 
					NETWORK_PROVIDER="${NETWORK_PROVIDER:-none}" # opencontrail
 | 
				
			||||||
 | 
					OPENCONTRAIL_TAG="${OPENCONTRAIL_TAG:-R2.20}"
 | 
				
			||||||
 | 
					OPENCONTRAIL_KUBERNETES_TAG="${OPENCONTRAIL_KUBERNETES_TAG:-master}"
 | 
				
			||||||
 | 
					OPENCONTRAIL_PUBLIC_SUBNET="${OPENCONTRAIL_PUBLIC_SUBNET:-10.1.0.0/16}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -277,6 +277,10 @@ dns_replicas: '$(echo "$DNS_REPLICAS" | sed -e "s/'/''/g")'
 | 
				
			|||||||
dns_server: '$(echo "$DNS_SERVER_IP" | sed -e "s/'/''/g")'
 | 
					dns_server: '$(echo "$DNS_SERVER_IP" | sed -e "s/'/''/g")'
 | 
				
			||||||
dns_domain: '$(echo "$DNS_DOMAIN" | sed -e "s/'/''/g")'
 | 
					dns_domain: '$(echo "$DNS_DOMAIN" | sed -e "s/'/''/g")'
 | 
				
			||||||
admission_control: '$(echo "$ADMISSION_CONTROL" | sed -e "s/'/''/g")'
 | 
					admission_control: '$(echo "$ADMISSION_CONTROL" | sed -e "s/'/''/g")'
 | 
				
			||||||
 | 
					network_provider: '$(echo "$NETWORK_PROVIDER")'
 | 
				
			||||||
 | 
					opencontrail_tag: '$(echo "$OPENCONTRAIL_TAG")'
 | 
				
			||||||
 | 
					opencontrail_kubernetes_tag: '$(echo "$OPENCONTRAIL_KUBERNETES_TAG")'
 | 
				
			||||||
 | 
					opencontrail_public_subnet: '$(echo "$OPENCONTRAIL_PUBLIC_SUBNET")'
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if [ -n "${APISERVER_TEST_ARGS:-}" ]; then
 | 
					    if [ -n "${APISERVER_TEST_ARGS:-}" ]; then
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -57,6 +57,10 @@ RUNTIME_CONFIG: $(yaml-quote ${RUNTIME_CONFIG})
 | 
				
			|||||||
CA_CERT: $(yaml-quote ${CA_CERT_BASE64:-})
 | 
					CA_CERT: $(yaml-quote ${CA_CERT_BASE64:-})
 | 
				
			||||||
KUBELET_CERT: $(yaml-quote ${KUBELET_CERT_BASE64:-})
 | 
					KUBELET_CERT: $(yaml-quote ${KUBELET_CERT_BASE64:-})
 | 
				
			||||||
KUBELET_KEY: $(yaml-quote ${KUBELET_KEY_BASE64:-})
 | 
					KUBELET_KEY: $(yaml-quote ${KUBELET_KEY_BASE64:-})
 | 
				
			||||||
 | 
					NETWORK_PROVIDER: $(yaml-quote ${NETWORK_PROVIDER:-})
 | 
				
			||||||
 | 
					OPENCONTRAIL_TAG: $(yaml-quote ${OPENCONTRAIL_TAG:-})
 | 
				
			||||||
 | 
					OPENCONTRAIL_KUBERNETES_TAG: $(yaml-quote ${OPENCONTRAIL_KUBERNETES_TAG:-})
 | 
				
			||||||
 | 
					OPENCONTRAIL_PUBLIC_SUBNET: $(yaml-quote ${OPENCONTRAIL_PUBLIC_SUBNET:-})
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
  if [ -n "${KUBE_APISERVER_REQUEST_TIMEOUT:-}" ]; then
 | 
					  if [ -n "${KUBE_APISERVER_REQUEST_TIMEOUT:-}" ]; then
 | 
				
			||||||
    cat >>$file <<EOF
 | 
					    cat >>$file <<EOF
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -107,5 +107,10 @@
 | 
				
			|||||||
  {% set test_args=pillar['kubelet_test_args'] %}
 | 
					  {% set test_args=pillar['kubelet_test_args'] %}
 | 
				
			||||||
{% endif -%}
 | 
					{% endif -%}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{% set network_plugin = "" -%}
 | 
				
			||||||
 | 
					{% if pillar.get('network_provider', '').lower() == 'opencontrail' %}
 | 
				
			||||||
 | 
					  {% set network_plugin = "--network-plugin=opencontrail" %}
 | 
				
			||||||
 | 
					{% endif -%}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# test_args has to be kept at the end, so they'll overwrite any prior configuration
 | 
					# test_args has to be kept at the end, so they'll overwrite any prior configuration
 | 
				
			||||||
DAEMON_ARGS="{{daemon_args}} {{api_servers_with_port}} {{debugging_handlers}} {{hostname_override}} {{cloud_provider}} {{config}} {{manifest_url}} --allow-privileged={{pillar['allow_privileged']}} {{pillar['log_level']}} {{cluster_dns}} {{cluster_domain}} {{docker_root}} {{kubelet_root}} {{configure_cbr0}} {{cgroup_root}} {{system_container}} {{pod_cidr}} {{cpu_cfs_quota}} {{test_args}}"
 | 
					DAEMON_ARGS="{{daemon_args}} {{api_servers_with_port}} {{debugging_handlers}} {{hostname_override}} {{cloud_provider}} {{config}} {{manifest_url}} --allow-privileged={{pillar['allow_privileged']}} {{pillar['log_level']}} {{cluster_dns}} {{cluster_domain}} {{docker_root}} {{kubelet_root}} {{configure_cbr0}} {{cgroup_root}} {{system_container}} {{pod_cidr}} {{cpu_cfs_quota}} {{network_plugin}} {{test_args}}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					opencontrail-networking-master:
 | 
				
			||||||
 | 
					  cmd.script:
 | 
				
			||||||
 | 
					    - unless: test -f /var/log/contrail/provision_master.log
 | 
				
			||||||
 | 
					    - env:
 | 
				
			||||||
 | 
					      - 'OPENCONTRAIL_TAG': '{{ pillar.get('opencontrail_tag') }}'
 | 
				
			||||||
 | 
					      - 'OPENCONTRAIL_KUBERNETES_TAG': '{{ pillar.get('opencontrail_kubernetes_tag') }}'
 | 
				
			||||||
 | 
					      - 'OPENCONTRAIL_PUBLIC_SUBNET': '{{ pillar.get('opencontrail_public_subnet') }}'
 | 
				
			||||||
 | 
					      - 'SERVICE_CLUSTER_IP_RANGE': '{{ pillar.get('service_cluster_ip_range') }}'
 | 
				
			||||||
 | 
					    - source: https://raw.githubusercontent.com/juniper/contrail-kubernetes/{{ pillar.get('opencontrail_kubernetes_tag') }}/cluster/provision_master.sh
 | 
				
			||||||
 | 
					    - source_hash: https://raw.githubusercontent.com/juniper/contrail-kubernetes/{{ pillar.get('opencontrail_kubernetes_tag') }}/cluster/manifests.hash
 | 
				
			||||||
 | 
					    - cwd: /
 | 
				
			||||||
 | 
					    - user: root
 | 
				
			||||||
 | 
					    - group: root
 | 
				
			||||||
 | 
					    - mode: 755
 | 
				
			||||||
 | 
					    - shell: /bin/bash
 | 
				
			||||||
@@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					opencontrail-networking-minion:
 | 
				
			||||||
 | 
					  cmd.script:
 | 
				
			||||||
 | 
					    - unless: test -f /var/log/contrail/provision_minion.log
 | 
				
			||||||
 | 
					    - env:
 | 
				
			||||||
 | 
					      - 'OPENCONTRAIL_TAG': '{{ pillar.get('opencontrail_tag') }}'
 | 
				
			||||||
 | 
					      - 'OPENCONTRAIL_KUBERNETES_TAG': '{{ pillar.get('opencontrail_kubernetes_tag') }}'
 | 
				
			||||||
 | 
					      - 'OPENCONTRAIL_PUBLIC_SUBNET': '{{ pillar.get('opencontrail_public_subnet') }}'
 | 
				
			||||||
 | 
					      - 'SERVICE_CLUSTER_IP_RANGE': '{{ pillar.get('service_cluster_ip_range') }}'
 | 
				
			||||||
 | 
					    - source: https://raw.githubusercontent.com/juniper/contrail-kubernetes/{{ pillar.get('opencontrail_kubernetes_tag') }}/cluster/provision_minion.sh
 | 
				
			||||||
 | 
					    - source_hash: https://raw.githubusercontent.com/juniper/contrail-kubernetes/{{ pillar.get('opencontrail_kubernetes_tag') }}/cluster/manifests.hash
 | 
				
			||||||
 | 
					    - cwd: /
 | 
				
			||||||
 | 
					    - user: root
 | 
				
			||||||
 | 
					    - group: root
 | 
				
			||||||
 | 
					    - mode: 755
 | 
				
			||||||
 | 
					    - shell: /bin/bash
 | 
				
			||||||
@@ -17,7 +17,11 @@ base:
 | 
				
			|||||||
    - cadvisor
 | 
					    - cadvisor
 | 
				
			||||||
    - kube-client-tools
 | 
					    - kube-client-tools
 | 
				
			||||||
    - kubelet
 | 
					    - kubelet
 | 
				
			||||||
 | 
					{% if pillar.get('network_provider', '').lower() == 'opencontrail' %}
 | 
				
			||||||
 | 
					    - opencontrail-networking-minion
 | 
				
			||||||
 | 
					{% else %}
 | 
				
			||||||
    - kube-proxy
 | 
					    - kube-proxy
 | 
				
			||||||
 | 
					{% endif %}
 | 
				
			||||||
{% if pillar.get('enable_node_logging', '').lower() == 'true' and pillar['logging_destination'] is defined %}
 | 
					{% if pillar.get('enable_node_logging', '').lower() == 'true' and pillar['logging_destination'] is defined %}
 | 
				
			||||||
  {% if pillar['logging_destination'] == 'elasticsearch' %}
 | 
					  {% if pillar['logging_destination'] == 'elasticsearch' %}
 | 
				
			||||||
    - fluentd-es
 | 
					    - fluentd-es
 | 
				
			||||||
@@ -72,6 +76,9 @@ base:
 | 
				
			|||||||
    - docker
 | 
					    - docker
 | 
				
			||||||
    - kubelet
 | 
					    - kubelet
 | 
				
			||||||
{% endif %}
 | 
					{% endif %}
 | 
				
			||||||
 | 
					{% if pillar.get('network_provider', '').lower() == 'opencontrail' %}
 | 
				
			||||||
 | 
					    - opencontrail-networking-master
 | 
				
			||||||
 | 
					{% endif %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  'roles:kubernetes-pool-vsphere':
 | 
					  'roles:kubernetes-pool-vsphere':
 | 
				
			||||||
    - match: grain
 | 
					    - match: grain
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -106,3 +106,9 @@ octets=($(echo "$SERVICE_CLUSTER_IP_RANGE" | sed -e 's|/.*||' -e 's/\./ /g'))
 | 
				
			|||||||
((octets[3]+=1))
 | 
					((octets[3]+=1))
 | 
				
			||||||
service_ip=$(echo "${octets[*]}" | sed 's/ /./g')
 | 
					service_ip=$(echo "${octets[*]}" | sed 's/ /./g')
 | 
				
			||||||
MASTER_EXTRA_SANS="IP:${service_ip},DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.${DNS_DOMAIN},DNS:${MASTER_NAME}"
 | 
					MASTER_EXTRA_SANS="IP:${service_ip},DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.${DNS_DOMAIN},DNS:${MASTER_NAME}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# OpenContrail networking plugin specific settings
 | 
				
			||||||
 | 
					NETWORK_PROVIDER="${NETWORK_PROVIDER:-none}" # opencontrail
 | 
				
			||||||
 | 
					OPENCONTRAIL_TAG="${OPENCONTRAIL_TAG:-R2.20}"
 | 
				
			||||||
 | 
					OPENCONTRAIL_KUBERNETES_TAG="${OPENCONTRAIL_KUBERNETES_TAG:-master}"
 | 
				
			||||||
 | 
					OPENCONTRAIL_PUBLIC_SUBNET="${OPENCONTRAIL_PUBLIC_SUBNET:-10.1.0.0/16}"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -128,6 +128,10 @@ cat <<EOF >/srv/salt-overlay/pillar/cluster-params.sls
 | 
				
			|||||||
  instance_prefix: '$(echo "$INSTANCE_PREFIX" | sed -e "s/'/''/g")'
 | 
					  instance_prefix: '$(echo "$INSTANCE_PREFIX" | sed -e "s/'/''/g")'
 | 
				
			||||||
  admission_control: '$(echo "$ADMISSION_CONTROL" | sed -e "s/'/''/g")'
 | 
					  admission_control: '$(echo "$ADMISSION_CONTROL" | sed -e "s/'/''/g")'
 | 
				
			||||||
  enable_cpu_cfs_quota: '$(echo "$ENABLE_CPU_CFS_QUOTA" | sed -e "s/'/''/g")'
 | 
					  enable_cpu_cfs_quota: '$(echo "$ENABLE_CPU_CFS_QUOTA" | sed -e "s/'/''/g")'
 | 
				
			||||||
 | 
					  network_provider: '$(echo "$NETWORK_PROVIDER" | sed -e "s/'/''/g")'
 | 
				
			||||||
 | 
					  opencontrail_tag: '$(echo "$OPENCONTRAIL_TAG" | sed -e "s/'/''/g")'
 | 
				
			||||||
 | 
					  opencontrail_kubernetes_tag: '$(echo "$OPENCONTRAIL_KUBERNETES_TAG" | sed -e "s/'/''/g")'
 | 
				
			||||||
 | 
					  opencontrail_public_subnet: '$(echo "$OPENCONTRAIL_PUBLIC_SUBNET" | sed -e "s/'/''/g")'
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Configure the salt-master
 | 
					# Configure the salt-master
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -166,6 +166,10 @@ function create-provision-scripts {
 | 
				
			|||||||
    echo "KUBE_PROXY_TOKEN='${KUBE_PROXY_TOKEN:-}'"
 | 
					    echo "KUBE_PROXY_TOKEN='${KUBE_PROXY_TOKEN:-}'"
 | 
				
			||||||
    echo "MASTER_EXTRA_SANS='${MASTER_EXTRA_SANS:-}'"
 | 
					    echo "MASTER_EXTRA_SANS='${MASTER_EXTRA_SANS:-}'"
 | 
				
			||||||
    echo "ENABLE_CPU_CFS_QUOTA='${ENABLE_CPU_CFS_QUOTA}'"
 | 
					    echo "ENABLE_CPU_CFS_QUOTA='${ENABLE_CPU_CFS_QUOTA}'"
 | 
				
			||||||
 | 
					    echo "NETWORK_PROVIDER='${NETWORK_PROVIDER:-}'"
 | 
				
			||||||
 | 
					    echo "OPENCONTRAIL_TAG='${OPENCONTRAIL_TAG:-}'"
 | 
				
			||||||
 | 
					    echo "OPENCONTRAIL_KUBERNETES_TAG='${OPENCONTRAIL_KUBERNETES_TAG:-}'"
 | 
				
			||||||
 | 
					    echo "OPENCONTRAIL_PUBLIC_SUBNET='${OPENCONTRAIL_PUBLIC_SUBNET:-}'"
 | 
				
			||||||
    awk '!/^#/' "${KUBE_ROOT}/cluster/vagrant/provision-network-master.sh"
 | 
					    awk '!/^#/' "${KUBE_ROOT}/cluster/vagrant/provision-network-master.sh"
 | 
				
			||||||
    awk '!/^#/' "${KUBE_ROOT}/cluster/vagrant/provision-master.sh"
 | 
					    awk '!/^#/' "${KUBE_ROOT}/cluster/vagrant/provision-master.sh"
 | 
				
			||||||
  ) > "${KUBE_TEMP}/master-start.sh"
 | 
					  ) > "${KUBE_TEMP}/master-start.sh"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -44,6 +44,8 @@ cluster/saltbase/salt/kube-proxy/default:    {% set api_servers_with_port = api_
 | 
				
			|||||||
cluster/saltbase/salt/kube-proxy/default:  {% set api_servers_with_port = api_servers + ":7080" -%}
 | 
					cluster/saltbase/salt/kube-proxy/default:  {% set api_servers_with_port = api_servers + ":7080" -%}
 | 
				
			||||||
cluster/saltbase/salt/kubelet/default:  {% set api_servers_with_port = api_servers + ":6443" -%}
 | 
					cluster/saltbase/salt/kubelet/default:  {% set api_servers_with_port = api_servers + ":6443" -%}
 | 
				
			||||||
cluster/saltbase/salt/kubelet/default:  {% set api_servers_with_port = api_servers -%}
 | 
					cluster/saltbase/salt/kubelet/default:  {% set api_servers_with_port = api_servers -%}
 | 
				
			||||||
 | 
					cluster/saltbase/salt/opencontrail-networking-master/init.sls:      - 'SERVICE_CLUSTER_IP_RANGE': '{{ pillar.get('service_cluster_ip_range') }}'
 | 
				
			||||||
 | 
					cluster/saltbase/salt/opencontrail-networking-minion/init.sls:      - 'SERVICE_CLUSTER_IP_RANGE': '{{ pillar.get('service_cluster_ip_range') }}'
 | 
				
			||||||
docs/admin/salt.md:`api_servers` | (Optional) The IP address / host name where a kubelet can get read-only access to kube-apiserver
 | 
					docs/admin/salt.md:`api_servers` | (Optional) The IP address / host name where a kubelet can get read-only access to kube-apiserver
 | 
				
			||||||
docs/admin/salt.md:`etcd_servers` | (Optional) Comma-delimited list of IP addresses the kube-apiserver and kubelet use to reach etcd.  Uses the IP of the first machine in the kubernetes_master role, or 127.0.0.1 on GCE.
 | 
					docs/admin/salt.md:`etcd_servers` | (Optional) Comma-delimited list of IP addresses the kube-apiserver and kubelet use to reach etcd.  Uses the IP of the first machine in the kubernetes_master role, or 127.0.0.1 on GCE.
 | 
				
			||||||
docs/admin/salt.md:`hostname_override` | (Optional) Mapped to the kubelet hostname-override
 | 
					docs/admin/salt.md:`hostname_override` | (Optional) Mapped to the kubelet hostname-override
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user