Merge pull request #10312 from dchen1107/cleanup

Take 2: Fix the race between configuring cbr0 and restarting static pods
This commit is contained in:
Maxwell Forbes
2015-06-24 17:59:50 -07:00
11 changed files with 166 additions and 40 deletions

View File

@@ -2,5 +2,5 @@ DOCKER_OPTS=""
{% if grains.docker_opts is defined and grains.docker_opts %}
DOCKER_OPTS="${DOCKER_OPTS} {{grains.docker_opts}}"
{% endif %}
DOCKER_OPTS="${DOCKER_OPTS} --bridge cbr0 --iptables=false --ip-masq=false"
DOCKER_OPTS="${DOCKER_OPTS} --bridge=cbr0 --iptables=false --ip-masq=false"
DOCKER_NOFILE=1000000

View File

@@ -48,11 +48,6 @@ net.ipv4.ip_forward:
sysctl.present:
- value: 1
cbr0:
container_bridge.ensure:
- cidr: {{ grains['cbr-cidr'] }}
- mtu: 1460
{{ environment_file }}:
file.managed:
- source: salt://docker/docker-defaults
@@ -124,7 +119,6 @@ docker:
- enable: True
- watch:
- file: {{ environment_file }}
- container_bridge: cbr0
{% if override_docker_ver != '' %}
- require:
- pkg: lxc-docker-{{ override_docker_ver }}

View File

@@ -37,10 +37,26 @@ master-docker-image-tags:
file.touch:
- name: /srv/pillar/docker-images.sls
# Current containervm image by default has both docker and kubelet
# running. But during cluster creation stage, docker and kubelet
# could be overwritten completely, or restarted due to flag changes.
# The ordering of salt states for service docker, kubelet and
# master-addon below is very important to avoid the race between
# salt restart docker or kubelet and kubelet start master components.
# Without the ordering of salt states, when gce instance boot up,
# configure-vm.sh will run and download the release. At the end of
# boot, run-salt will run kube-master-addons service which installs
# master component manifest files to kubelet config directory before
# the installation of proper version kubelet. Please see
# https://github.com/GoogleCloudPlatform/kubernetes/issues/10122#issuecomment-114566063
# for detail explanation on this very issue.
kube-master-addons:
service.running:
- enable: True
- restart: True
- require:
- service: docker
- service: kubelet
- watch:
- file: master-docker-image-tags
- file: /etc/kubernetes/kube-master-addons.sh

View File

@@ -76,4 +76,9 @@
{% set cgroup_root = "--cgroup_root=/" -%}
{% endif -%}
DAEMON_ARGS="{{daemon_args}} {{api_servers_with_port}} {{debugging_handlers}} {{hostname_override}} {{cloud_provider}} {{config}} --allow_privileged={{pillar['allow_privileged']}} {{pillar['log_level']}} {{cluster_dns}} {{cluster_domain}} {{docker_root}} {{kubelet_root}} {{configure_cbr0}} {{cgroup_root}} {{system_container}}"
{% set pod_cidr = "" %}
{% if grains['roles'][0] == 'kubernetes-master' %}
{% set pod_cidr = "--pod-cidr=" + grains['cbr-cidr'] %}
{% endif %}
DAEMON_ARGS="{{daemon_args}} {{api_servers_with_port}} {{debugging_handlers}} {{hostname_override}} {{cloud_provider}} {{config}} --allow_privileged={{pillar['allow_privileged']}} {{pillar['log_level']}} {{cluster_dns}} {{cluster_domain}} {{docker_root}} {{kubelet_root}} {{configure_cbr0}} {{cgroup_root}} {{system_container}} {{pod_cidr}}"