diff --git a/cluster/gce/coreos/configure-node.sh b/cluster/gce/coreos/configure-node.sh index fc6bf5986c5..45f42953cc3 100644 --- a/cluster/gce/coreos/configure-node.sh +++ b/cluster/gce/coreos/configure-node.sh @@ -79,6 +79,11 @@ function configure-etcd-events() { evaluate-manifest ${MANIFESTS_DIR}/etcd-events.yaml /etc/kubernetes/manifests/etcd-events.yaml } +function configure-addon-manager() { + echo "Configuring addon-manager" + evaluate-manifest ${MANIFESTS_DIR}/kube-addon-manager.yaml /etc/kubernetes/manifests/kube-addon-manager.yaml +} + function configure-kube-apiserver() { echo "Configuring kube-apiserver" @@ -164,6 +169,7 @@ function configure-master-components() { configure-kube-apiserver configure-kube-scheduler configure-kube-controller-manager + configure-addon-manager configure-master-addons } diff --git a/cluster/gce/coreos/kube-manifests/kube-addon-manager.yaml b/cluster/gce/coreos/kube-manifests/kube-addon-manager.yaml new file mode 100644 index 00000000000..d46b9888117 --- /dev/null +++ b/cluster/gce/coreos/kube-manifests/kube-addon-manager.yaml @@ -0,0 +1,23 @@ +apiVersion: v1 +kind: Pod +metadata: + name: kube-addon-manager + namespace: kube-system + version: v1 +spec: + hostNetwork: true + containers: + - name: kube-addon-manager + image: gcr.io/google-containers/kube-addon-manager:v1 + resources: + requests: + cpu: 5m + memory: 50Mi + volumeMounts: + - mountPath: /etc/kubernetes/ + name: addons + readOnly: true + volumes: + - hostPath: + path: /etc/kubernetes/ + name: addons diff --git a/cluster/gce/coreos/master.yaml b/cluster/gce/coreos/master.yaml index 14faf452127..4bce287252c 100644 --- a/cluster/gce/coreos/master.yaml +++ b/cluster/gce/coreos/master.yaml @@ -38,11 +38,9 @@ coreos: Type=oneshot RemainAfterExit=yes EnvironmentFile=/etc/kube-env - ExecStartPre=/usr/bin/mkdir -p /etc/rkt - ExecStartPre=/usr/bin/mkdir -p /opt/downloads - ExecStartPre=/usr/bin/curl --fail --silent --show-error --location --create-dirs --output \ - /opt/downloads/rkt.tar.gz https://github.com/coreos/rkt/releases/download/v${RKT_VERSION}/rkt-v${RKT_VERSION}.tar.gz - ExecStart=/usr/bin/tar xf /opt/downloads/rkt.tar.gz -C /opt --overwrite + ExecStartPre=/usr/bin/mkdir -p /etc/rkt /opt/downloads /opt/rkt/ + ExecStartPre=/usr/bin/curl --fail --silent --location --create-dirs --output /opt/downloads/rkt.tar.gz https://github.com/coreos/rkt/releases/download/v${RKT_VERSION}/rkt-v${RKT_VERSION}.tar.gz + ExecStart=/usr/bin/tar --strip-components=1 -xf /opt/downloads/rkt.tar.gz -C /opt/rkt/ --overwrite - name: kubernetes-download-salt.service command: start @@ -132,7 +130,8 @@ coreos: --cluster-domain=${DNS_DOMAIN} \ --logtostderr=true \ --container-runtime=${KUBERNETES_CONTAINER_RUNTIME} \ - --rkt-path=/opt/rkt-v${RKT_VERSON}/rkt \ + --rkt-path=/opt/rkt/rkt \ + --rkt-stage1-image=/opt/rkt/stage1-coreos.aci \ --configure-cbr0=${KUBERNETES_CONFIGURE_CBR0} \ --pod-cidr=${MASTER_IP_RANGE} \ --register-schedulable=false \ @@ -181,18 +180,3 @@ coreos: http://metadata.google.internal/computeMetadata/v1/instance/attributes/configure-node ExecStartPre=/usr/bin/chmod 0755 /run/configure-node.sh ExecStart=/run/configure-node.sh - - - name: kubernetes-addons.service - command: start - content: | - [Unit] - Description=Start Kubernetes addons and watch for updates. - Requires=kubernetes-configure-node.service - After=kubernetes-configure-node.service - [Service] - Environment=KUBECTL_BIN=/opt/kubernetes/server/bin/kubectl - Environment=kubelet_kubeconfig_file=/var/lib/kubelet/kubeconfig - ExecStartPre=/usr/bin/chmod 0755 /opt/kubernetes/saltbase/salt/kube-addons/kube-addons.sh - ExecStart=/opt/kubernetes/saltbase/salt/kube-addons/kube-addons.sh - Restart=always - RestartSec=10 diff --git a/cluster/gce/coreos/node.yaml b/cluster/gce/coreos/node.yaml index 25b0b7c889a..84ba4495ff6 100644 --- a/cluster/gce/coreos/node.yaml +++ b/cluster/gce/coreos/node.yaml @@ -38,11 +38,9 @@ coreos: Type=oneshot RemainAfterExit=yes EnvironmentFile=/etc/kube-env - ExecStartPre=/usr/bin/mkdir -p /etc/rkt - ExecStartPre=/usr/bin/mkdir -p /opt/downloads - ExecStartPre=/usr/bin/curl --fail --silent --show-error --location --create-dirs --output \ - /opt/downloads/rkt.tar.gz https://github.com/coreos/rkt/releases/download/v${RKT_VERSION}/rkt-v${RKT_VERSION}.tar.gz - ExecStart=/usr/bin/tar xf /opt/downloads/rkt.tar.gz -C /opt --overwrite + ExecStartPre=/usr/bin/mkdir -p /etc/rkt /opt/downloads /opt/rkt/ + ExecStartPre=/usr/bin/curl --fail --silent --location --create-dirs --output /opt/downloads/rkt.tar.gz https://github.com/coreos/rkt/releases/download/v${RKT_VERSION}/rkt-v${RKT_VERSION}.tar.gz + ExecStart=/usr/bin/tar --strip-components=1 -xf /opt/downloads/rkt.tar.gz -C /opt/rkt/ --overwrite - name: kubernetes-download-manifests.service command: start @@ -82,6 +80,18 @@ coreos: /opt/kubernetes/pkg/kubernetes-server-linux-amd64.tar.gz ${SERVER_BINARY_TAR_URL} ExecStart=/usr/bin/tar xf /opt/kubernetes/pkg/kubernetes-server-linux-amd64.tar.gz -C /opt --overwrite + - name: rkt-api-service.service + command: start + content: | + [Unit] + Description=Start rkt API service as Daemon + Requires=kubernetes-install-rkt.service + After=kubernetes-install-rkt.service + [Service] + ExecStart=/opt/rkt/rkt api-service + Restart=always + RestartSec=10 + - name: kubelet.service command: start content: | @@ -112,7 +122,8 @@ coreos: --cluster-domain=${DNS_DOMAIN} \ --logtostderr=true \ --container-runtime=${KUBERNETES_CONTAINER_RUNTIME} \ - --rkt-path=/opt/rkt-v${RKT_VERSON}/rkt \ + --rkt-path=/opt/rkt/rkt \ + --rkt-stage1-image=/opt/rkt/stage1-coreos.aci \ --configure-cbr0=${KUBERNETES_CONFIGURE_CBR0} Restart=always RestartSec=10