mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-03 19:58:17 +00:00 
			
		
		
		
	Merge pull request #22254 from vmware/vsphere-pod-cidr-fix
Auto commit by PR queue bot
This commit is contained in:
		@@ -80,7 +80,3 @@ base:
 | 
				
			|||||||
{% if pillar.get('network_provider', '').lower() == 'opencontrail' %}
 | 
					{% if pillar.get('network_provider', '').lower() == 'opencontrail' %}
 | 
				
			||||||
    - opencontrail-networking-master
 | 
					    - opencontrail-networking-master
 | 
				
			||||||
{% endif %}
 | 
					{% endif %}
 | 
				
			||||||
 | 
					 | 
				
			||||||
  'roles:kubernetes-pool-vsphere':
 | 
					 | 
				
			||||||
    - match: grain
 | 
					 | 
				
			||||||
    - static-routes
 | 
					 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,7 +27,8 @@ MASTER_MEMORY_MB=1024
 | 
				
			|||||||
MASTER_CPU=1
 | 
					MASTER_CPU=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
NODE_NAMES=($(eval echo ${INSTANCE_PREFIX}-minion-{1..${NUM_NODES}}))
 | 
					NODE_NAMES=($(eval echo ${INSTANCE_PREFIX}-minion-{1..${NUM_NODES}}))
 | 
				
			||||||
NODE_IP_RANGES=($(eval echo "10.244.{1..${NUM_NODES}}.0/24"))
 | 
					NODE_IP_RANGES="10.244.0.0/16"
 | 
				
			||||||
 | 
					MASTER_IP_RANGE="${MASTER_IP_RANGE:-10.246.0.0/24}"
 | 
				
			||||||
NODE_MEMORY_MB=2048
 | 
					NODE_MEMORY_MB=2048
 | 
				
			||||||
NODE_CPU=1
 | 
					NODE_CPU=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,7 +27,8 @@ MASTER_MEMORY_MB=1024
 | 
				
			|||||||
MASTER_CPU=1
 | 
					MASTER_CPU=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
NODE_NAMES=($(eval echo ${INSTANCE_PREFIX}-minion-{1..${NUM_NODES}}))
 | 
					NODE_NAMES=($(eval echo ${INSTANCE_PREFIX}-minion-{1..${NUM_NODES}}))
 | 
				
			||||||
NODE_IP_RANGES=($(eval echo "10.244.{1..${NUM_NODES}}.0/24"))
 | 
					NODE_IP_RANGES="10.244.0.0/16"
 | 
				
			||||||
 | 
					MASTER_IP_RANGE="${MASTER_IP_RANGE:-10.246.0.0/24}"
 | 
				
			||||||
NODE_MEMORY_MB=1024
 | 
					NODE_MEMORY_MB=1024
 | 
				
			||||||
NODE_CPU=1
 | 
					NODE_CPU=1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -121,7 +121,8 @@ dns_replicas: ${DNS_REPLICAS:-1}
 | 
				
			|||||||
dns_server: $DNS_SERVER_IP
 | 
					dns_server: $DNS_SERVER_IP
 | 
				
			||||||
dns_domain: $DNS_DOMAIN
 | 
					dns_domain: $DNS_DOMAIN
 | 
				
			||||||
e2e_storage_test_environment: "${E2E_STORAGE_TEST_ENVIRONMENT:-false}"
 | 
					e2e_storage_test_environment: "${E2E_STORAGE_TEST_ENVIRONMENT:-false}"
 | 
				
			||||||
 | 
					cluster_cidr: "$NODE_IP_RANGES"
 | 
				
			||||||
 | 
					allocate_node_cidrs: "${ALLOCATE_NODE_CIDRS:-true}"
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
mkdir -p /srv/salt-overlay/salt/nginx
 | 
					mkdir -p /srv/salt-overlay/salt/nginx
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,6 +25,7 @@ cat <<EOF >/etc/salt/minion.d/grains.conf
 | 
				
			|||||||
grains:
 | 
					grains:
 | 
				
			||||||
  roles:
 | 
					  roles:
 | 
				
			||||||
    - kubernetes-master
 | 
					    - kubernetes-master
 | 
				
			||||||
 | 
					  cbr-cidr: $MASTER_IP_RANGE
 | 
				
			||||||
  cloud: vsphere
 | 
					  cloud: vsphere
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -41,7 +41,6 @@ grains:
 | 
				
			|||||||
  roles:
 | 
					  roles:
 | 
				
			||||||
    - kubernetes-pool
 | 
					    - kubernetes-pool
 | 
				
			||||||
    - kubernetes-pool-vsphere
 | 
					    - kubernetes-pool-vsphere
 | 
				
			||||||
  cbr-cidr: $NODE_IP_RANGE
 | 
					 | 
				
			||||||
  cloud: vsphere
 | 
					  cloud: vsphere
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -262,9 +262,6 @@ function kube-check {
 | 
				
			|||||||
  done
 | 
					  done
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# verify if salt master is up. check 30 times and then echo out bad output and return 0
 | 
					# verify if salt master is up. check 30 times and then echo out bad output and return 0
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
@@ -306,6 +303,41 @@ function remote-pgrep {
 | 
				
			|||||||
  done
 | 
					  done
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# identify the pod routes and route them together.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Assumptions:
 | 
				
			||||||
 | 
					#  All packages have been installed and kubelet has started running.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					function setup-pod-routes {
 | 
				
			||||||
 | 
					  # wait till the kubelet sets up the bridge.
 | 
				
			||||||
 | 
					  echo "Setting up routes"
 | 
				
			||||||
 | 
					  for (( i=0; i<${#NODE_NAMES[@]}; i++)); do
 | 
				
			||||||
 | 
					     printf "check if cbr0 bridge is ready on ${NODE_NAMES[$i]}\n"
 | 
				
			||||||
 | 
					     kube-check ${KUBE_NODE_IP_ADDRESSES[$i]} 'sudo ifconfig cbr0 | grep -oP "inet addr:\K\S+"'
 | 
				
			||||||
 | 
					  done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # identify the subnet assigned to the node by the kubernertes controller manager.
 | 
				
			||||||
 | 
					  KUBE_NODE_BRIDGE_NETWORK=()
 | 
				
			||||||
 | 
					  for (( i=0; i<${#NODE_NAMES[@]}; i++)); do
 | 
				
			||||||
 | 
					     printf " finding network of cbr0 bridge on node  ${NODE_NAMES[$i]}\n"
 | 
				
			||||||
 | 
					     network=$(kube-ssh ${KUBE_NODE_IP_ADDRESSES[$i]} 'sudo ip route show | grep -E "dev cbr0" | cut -d     " " -f1')
 | 
				
			||||||
 | 
					     KUBE_NODE_BRIDGE_NETWORK+=("${network}")
 | 
				
			||||||
 | 
					  done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # make the pods visible to each other.
 | 
				
			||||||
 | 
					  local j
 | 
				
			||||||
 | 
					  for (( i=0; i<${#NODE_NAMES[@]}; i++)); do
 | 
				
			||||||
 | 
					     printf "setting up routes for ${NODE_NAMES[$i]}"
 | 
				
			||||||
 | 
					     for (( j=0; j<${#NODE_NAMES[@]}; j++)); do
 | 
				
			||||||
 | 
					        if [[ $i != $j ]]; then
 | 
				
			||||||
 | 
					           kube-ssh ${KUBE_NODE_IP_ADDRESSES[$i]} "sudo route add -net ${KUBE_NODE_BRIDGE_NETWORK[$j]} gw ${KUBE_NODE_IP_ADDRESSES[$j]}"
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					      done
 | 
				
			||||||
 | 
					  done
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Instantiate a kubernetes cluster
 | 
					# Instantiate a kubernetes cluster
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Assumed vars:
 | 
					# Assumed vars:
 | 
				
			||||||
@@ -331,8 +363,10 @@ function kube-up {
 | 
				
			|||||||
    grep -v "^#" "${KUBE_ROOT}/cluster/vsphere/templates/hostname.sh"
 | 
					    grep -v "^#" "${KUBE_ROOT}/cluster/vsphere/templates/hostname.sh"
 | 
				
			||||||
    echo "cd /home/kube/cache/kubernetes-install"
 | 
					    echo "cd /home/kube/cache/kubernetes-install"
 | 
				
			||||||
    echo "readonly MASTER_NAME='${MASTER_NAME}'"
 | 
					    echo "readonly MASTER_NAME='${MASTER_NAME}'"
 | 
				
			||||||
 | 
					    echo "readonly MASTER_IP_RANGE='${MASTER_IP_RANGE}'"
 | 
				
			||||||
    echo "readonly INSTANCE_PREFIX='${INSTANCE_PREFIX}'"
 | 
					    echo "readonly INSTANCE_PREFIX='${INSTANCE_PREFIX}'"
 | 
				
			||||||
    echo "readonly NODE_INSTANCE_PREFIX='${INSTANCE_PREFIX}-node'"
 | 
					    echo "readonly NODE_INSTANCE_PREFIX='${INSTANCE_PREFIX}-node'"
 | 
				
			||||||
 | 
					    echo "readonly NODE_IP_RANGES='${NODE_IP_RANGES}'"
 | 
				
			||||||
    echo "readonly SERVICE_CLUSTER_IP_RANGE='${SERVICE_CLUSTER_IP_RANGE}'"
 | 
					    echo "readonly SERVICE_CLUSTER_IP_RANGE='${SERVICE_CLUSTER_IP_RANGE}'"
 | 
				
			||||||
    echo "readonly ENABLE_NODE_LOGGING='${ENABLE_NODE_LOGGING:-false}'"
 | 
					    echo "readonly ENABLE_NODE_LOGGING='${ENABLE_NODE_LOGGING:-false}'"
 | 
				
			||||||
    echo "readonly LOGGING_DESTINATION='${LOGGING_DESTINATION:-}'"
 | 
					    echo "readonly LOGGING_DESTINATION='${LOGGING_DESTINATION:-}'"
 | 
				
			||||||
@@ -365,7 +399,7 @@ function kube-up {
 | 
				
			|||||||
      grep -v "^#" "${KUBE_ROOT}/cluster/vsphere/templates/hostname.sh"
 | 
					      grep -v "^#" "${KUBE_ROOT}/cluster/vsphere/templates/hostname.sh"
 | 
				
			||||||
      echo "KUBE_MASTER=${KUBE_MASTER}"
 | 
					      echo "KUBE_MASTER=${KUBE_MASTER}"
 | 
				
			||||||
      echo "KUBE_MASTER_IP=${KUBE_MASTER_IP}"
 | 
					      echo "KUBE_MASTER_IP=${KUBE_MASTER_IP}"
 | 
				
			||||||
      echo "NODE_IP_RANGE=${NODE_IP_RANGES[$i]}"
 | 
					      echo "NODE_IP_RANGE=$NODE_IP_RANGES"
 | 
				
			||||||
      grep -v "^#" "${KUBE_ROOT}/cluster/vsphere/templates/salt-minion.sh"
 | 
					      grep -v "^#" "${KUBE_ROOT}/cluster/vsphere/templates/salt-minion.sh"
 | 
				
			||||||
    ) > "${KUBE_TEMP}/node-start-${i}.sh"
 | 
					    ) > "${KUBE_TEMP}/node-start-${i}.sh"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -427,8 +461,10 @@ function kube-up {
 | 
				
			|||||||
    done
 | 
					    done
 | 
				
			||||||
    printf " OK\n"
 | 
					    printf " OK\n"
 | 
				
			||||||
  done
 | 
					  done
 | 
				
			||||||
  echo "Kubernetes cluster created."
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  setup-pod-routes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  echo "Kubernetes cluster created."
 | 
				
			||||||
  # TODO use token instead of basic auth
 | 
					  # TODO use token instead of basic auth
 | 
				
			||||||
  export KUBE_CERT="/tmp/$RANDOM-kubecfg.crt"
 | 
					  export KUBE_CERT="/tmp/$RANDOM-kubecfg.crt"
 | 
				
			||||||
  export KUBE_KEY="/tmp/$RANDOM-kubecfg.key"
 | 
					  export KUBE_KEY="/tmp/$RANDOM-kubecfg.key"
 | 
				
			||||||
@@ -444,6 +480,7 @@ function kube-up {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    create-kubeconfig
 | 
					    create-kubeconfig
 | 
				
			||||||
  )
 | 
					  )
 | 
				
			||||||
 | 
					  printf "\n"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  echo
 | 
					  echo
 | 
				
			||||||
  echo "Sanity checking cluster..."
 | 
					  echo "Sanity checking cluster..."
 | 
				
			||||||
@@ -451,7 +488,6 @@ function kube-up {
 | 
				
			|||||||
  sleep 5
 | 
					  sleep 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Basic sanity checking
 | 
					  # Basic sanity checking
 | 
				
			||||||
  local i
 | 
					 | 
				
			||||||
  for (( i=0; i<${#NODE_NAMES[@]}; i++)); do
 | 
					  for (( i=0; i<${#NODE_NAMES[@]}; i++)); do
 | 
				
			||||||
      # Make sure docker is installed
 | 
					      # Make sure docker is installed
 | 
				
			||||||
      kube-ssh "${KUBE_NODE_IP_ADDRESSES[$i]}" which docker > /dev/null || {
 | 
					      kube-ssh "${KUBE_NODE_IP_ADDRESSES[$i]}" which docker > /dev/null || {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user