diff --git a/CHANGES.md b/CHANGES.md index 7160e3f4..80e11f46 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -9,8 +9,8 @@ #### Examples * Add Kubernetes example with rkt container runtime (i.e. rktnetes) -* Upgrade Kubernetes v1.4.0 (static manifest) example clusters -* Upgrade Kubernetes v1.4.0 (rktnetes) example clusters +* Upgrade Kubernetes v1.4.1 (static manifest) example clusters +* Upgrade Kubernetes v1.4.1 (rktnetes) example clusters * Upgrade Kubernetes v1.4.1 (self-hosted) example cluster * Add etcd3 example cluster (PXE in-RAM or install to disk) * Use DNS names (instead of IPs) in example clusters (except bootkube) diff --git a/Documentation/kubernetes.md b/Documentation/kubernetes.md index b57dd59b..5560c4a9 100644 --- a/Documentation/kubernetes.md +++ b/Documentation/kubernetes.md @@ -1,7 +1,7 @@ # Kubernetes -The Kubernetes example provisions a 3 node Kubernetes v1.4.0 cluster with one controller, two workers, and TLS authentication. An etcd cluster backs Kubernetes and coordinates CoreOS auto-updates (enabled for disk installs). +The Kubernetes example provisions a 3 node Kubernetes v1.4.1 cluster with one controller, two workers, and TLS authentication. An etcd cluster backs Kubernetes and coordinates CoreOS auto-updates (enabled for disk installs). ## Requirements diff --git a/Documentation/rktnetes.md b/Documentation/rktnetes.md index e38263f8..7fc89f0b 100644 --- a/Documentation/rktnetes.md +++ b/Documentation/rktnetes.md @@ -1,6 +1,6 @@ # Kubernetes (with rkt) -The `rktnetes` example provisions a 3 node Kubernetes v1.4.0 cluster with [rkt](https://github.com/coreos/rkt) as the container runtime. The cluster has one controller, two workers, and TLS authentication. An etcd cluster backs Kubernetes and coordinates CoreOS auto-updates (enabled for disk installs). +The `rktnetes` example provisions a 3 node Kubernetes v1.4.1 cluster with [rkt](https://github.com/coreos/rkt) as the container runtime. The cluster has one controller, two workers, and TLS authentication. An etcd cluster backs Kubernetes and coordinates CoreOS auto-updates (enabled for disk installs). ## Requirements diff --git a/examples/ignition/k8s-controller.yaml b/examples/ignition/k8s-controller.yaml index 0dd544a4..56f2a9f9 100644 --- a/examples/ignition/k8s-controller.yaml +++ b/examples/ignition/k8s-controller.yaml @@ -58,7 +58,7 @@ systemd: Requires=k8s-assets.target After=k8s-assets.target [Service] - Environment=KUBELET_VERSION=v1.4.0_coreos.2 + Environment=KUBELET_VERSION=v1.4.1_coreos.0 Environment="RKT_OPTS=--volume dns,kind=host,source=/etc/resolv.conf \ --mount volume=dns,target=/etc/resolv.conf \ --volume var-log,kind=host,source=/var/log \ @@ -139,7 +139,7 @@ storage: hostNetwork: true containers: - name: kube-proxy - image: quay.io/coreos/hyperkube:v1.4.0_coreos.2 + image: quay.io/coreos/hyperkube:v1.4.1_coreos.0 command: - /hyperkube - proxy @@ -167,7 +167,7 @@ storage: hostNetwork: true containers: - name: kube-apiserver - image: quay.io/coreos/hyperkube:v1.4.0_coreos.2 + image: quay.io/coreos/hyperkube:v1.4.1_coreos.0 command: - /hyperkube - apiserver @@ -227,7 +227,7 @@ storage: spec: containers: - name: kube-controller-manager - image: quay.io/coreos/hyperkube:v1.4.0_coreos.2 + image: quay.io/coreos/hyperkube:v1.4.1_coreos.0 command: - /hyperkube - controller-manager @@ -273,7 +273,7 @@ storage: hostNetwork: true containers: - name: kube-scheduler - image: quay.io/coreos/hyperkube:v1.4.0_coreos.2 + image: quay.io/coreos/hyperkube:v1.4.1_coreos.0 command: - /hyperkube - scheduler @@ -296,30 +296,29 @@ storage: apiVersion: v1 kind: ReplicationController metadata: - name: kube-dns-v19 + name: kube-dns-v20 namespace: kube-system labels: k8s-app: kube-dns - version: v19 + version: v20 kubernetes.io/cluster-service: "true" spec: replicas: 1 selector: k8s-app: kube-dns - version: v19 + version: v20 template: metadata: labels: k8s-app: kube-dns - version: v19 - kubernetes.io/cluster-service: "true" + version: v20 annotations: scheduler.alpha.kubernetes.io/critical-pod: '' scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly", "operator":"Exists"}]' spec: containers: - name: kubedns - image: gcr.io/google_containers/kubedns-amd64:1.7 + image: gcr.io/google_containers/kubedns-amd64:1.8 resources: limits: memory: 170Mi @@ -328,7 +327,7 @@ storage: memory: 70Mi livenessProbe: httpGet: - path: /healthz + path: /healthz-kubedns port: 8080 scheme: HTTP initialDelaySeconds: 60 @@ -340,7 +339,7 @@ storage: path: /readiness port: 8081 scheme: HTTP - initialDelaySeconds: 30 + initialDelaySeconds: 3 timeoutSeconds: 5 args: - --domain=cluster.local. @@ -353,7 +352,16 @@ storage: name: dns-tcp-local protocol: TCP - name: dnsmasq - image: gcr.io/google_containers/kube-dnsmasq-amd64:1.3 + image: gcr.io/google_containers/kube-dnsmasq-amd64:1.4 + livenessProbe: + httpGet: + path: /healthz-dnsmasq + port: 8080 + scheme: HTTP + initialDelaySeconds: 60 + timeoutSeconds: 5 + successThreshold: 1 + failureThreshold: 5 args: - --cache-size=1000 - --no-resolv @@ -367,7 +375,7 @@ storage: name: dns-tcp protocol: TCP - name: healthz - image: gcr.io/google_containers/exechealthz-amd64:1.1 + image: gcr.io/google_containers/exechealthz-amd64:1.2 resources: limits: memory: 50Mi @@ -375,9 +383,12 @@ storage: cpu: 10m memory: 50Mi args: - - -cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1 >/dev/null && nslookup kubernetes.default.svc.cluster.local 127.0.0.1:10053 >/dev/null - - -port=8080 - - -quiet + - --cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1 >/dev/null + - --url=/healthz-dnsmasq + - --cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1:10053 >/dev/null + - --url=/healthz-kubedns + - --port=8080 + - --quiet ports: - containerPort: 8080 protocol: TCP @@ -509,11 +520,11 @@ storage: apiVersion: v1 kind: ReplicationController metadata: - name: kubernetes-dashboard-v1.4.0 + name: kubernetes-dashboard-v1.4.1 namespace: kube-system labels: k8s-app: kubernetes-dashboard - version: v1.4.0 + version: v1.4.1 kubernetes.io/cluster-service: "true" spec: replicas: 1 @@ -523,7 +534,7 @@ storage: metadata: labels: k8s-app: kubernetes-dashboard - version: v1.4.0 + version: v1.4.1 kubernetes.io/cluster-service: "true" annotations: scheduler.alpha.kubernetes.io/critical-pod: '' @@ -531,7 +542,7 @@ storage: spec: containers: - name: kubernetes-dashboard - image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.4.0 + image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.4.1 resources: limits: cpu: 100m diff --git a/examples/ignition/k8s-worker.yaml b/examples/ignition/k8s-worker.yaml index afe35f70..8bad1b3b 100644 --- a/examples/ignition/k8s-worker.yaml +++ b/examples/ignition/k8s-worker.yaml @@ -52,7 +52,7 @@ systemd: Requires=k8s-assets.target After=k8s-assets.target [Service] - Environment=KUBELET_VERSION=v1.4.0_coreos.2 + Environment=KUBELET_VERSION=v1.4.1_coreos.0 Environment="RKT_OPTS=--volume dns,kind=host,source=/etc/resolv.conf \ --mount volume=dns,target=/etc/resolv.conf \ --volume var-log,kind=host,source=/var/log \ @@ -146,7 +146,7 @@ storage: hostNetwork: true containers: - name: kube-proxy - image: quay.io/coreos/hyperkube:v1.4.0_coreos.2 + image: quay.io/coreos/hyperkube:v1.4.1_coreos.0 command: - /hyperkube - proxy diff --git a/examples/ignition/rktnetes-controller.yaml b/examples/ignition/rktnetes-controller.yaml index d47155da..f67d9226 100644 --- a/examples/ignition/rktnetes-controller.yaml +++ b/examples/ignition/rktnetes-controller.yaml @@ -58,7 +58,7 @@ systemd: Requires=k8s-assets.target After=k8s-assets.target [Service] - Environment=KUBELET_VERSION=v1.4.0_coreos.2 + Environment=KUBELET_VERSION=v1.4.1_coreos.0 Environment="RKT_OPTS=--volume dns,kind=host,source=/etc/resolv.conf \ --mount volume=dns,target=/etc/resolv.conf \ --volume rkt,kind=host,source=/opt/bin/host-rkt \ @@ -176,7 +176,7 @@ storage: hostNetwork: true containers: - name: kube-proxy - image: quay.io/coreos/hyperkube:v1.4.0_coreos.2 + image: quay.io/coreos/hyperkube:v1.4.1_coreos.0 command: - /hyperkube - proxy @@ -210,7 +210,7 @@ storage: hostNetwork: true containers: - name: kube-apiserver - image: quay.io/coreos/hyperkube:v1.4.0_coreos.2 + image: quay.io/coreos/hyperkube:v1.4.1_coreos.0 command: - /hyperkube - apiserver @@ -270,7 +270,7 @@ storage: spec: containers: - name: kube-controller-manager - image: quay.io/coreos/hyperkube:v1.4.0_coreos.2 + image: quay.io/coreos/hyperkube:v1.4.1_coreos.0 command: - /hyperkube - controller-manager @@ -316,7 +316,7 @@ storage: hostNetwork: true containers: - name: kube-scheduler - image: quay.io/coreos/hyperkube:v1.4.0_coreos.2 + image: quay.io/coreos/hyperkube:v1.4.1_coreos.0 command: - /hyperkube - scheduler @@ -339,30 +339,29 @@ storage: apiVersion: v1 kind: ReplicationController metadata: - name: kube-dns-v19 + name: kube-dns-v20 namespace: kube-system labels: k8s-app: kube-dns - version: v19 + version: v20 kubernetes.io/cluster-service: "true" spec: replicas: 1 selector: k8s-app: kube-dns - version: v19 + version: v20 template: metadata: labels: k8s-app: kube-dns - version: v19 - kubernetes.io/cluster-service: "true" + version: v20 annotations: scheduler.alpha.kubernetes.io/critical-pod: '' scheduler.alpha.kubernetes.io/tolerations: '[{"key":"CriticalAddonsOnly", "operator":"Exists"}]' spec: containers: - name: kubedns - image: gcr.io/google_containers/kubedns-amd64:1.7 + image: gcr.io/google_containers/kubedns-amd64:1.8 resources: limits: memory: 170Mi @@ -371,7 +370,7 @@ storage: memory: 70Mi livenessProbe: httpGet: - path: /healthz + path: /healthz-kubedns port: 8080 scheme: HTTP initialDelaySeconds: 60 @@ -383,7 +382,7 @@ storage: path: /readiness port: 8081 scheme: HTTP - initialDelaySeconds: 30 + initialDelaySeconds: 3 timeoutSeconds: 5 args: - --domain=cluster.local. @@ -396,7 +395,16 @@ storage: name: dns-tcp-local protocol: TCP - name: dnsmasq - image: gcr.io/google_containers/kube-dnsmasq-amd64:1.3 + image: gcr.io/google_containers/kube-dnsmasq-amd64:1.4 + livenessProbe: + httpGet: + path: /healthz-dnsmasq + port: 8080 + scheme: HTTP + initialDelaySeconds: 60 + timeoutSeconds: 5 + successThreshold: 1 + failureThreshold: 5 args: - --cache-size=1000 - --no-resolv @@ -410,7 +418,7 @@ storage: name: dns-tcp protocol: TCP - name: healthz - image: gcr.io/google_containers/exechealthz-amd64:1.1 + image: gcr.io/google_containers/exechealthz-amd64:1.2 resources: limits: memory: 50Mi @@ -418,9 +426,12 @@ storage: cpu: 10m memory: 50Mi args: - - -cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1 >/dev/null && nslookup kubernetes.default.svc.cluster.local 127.0.0.1:10053 >/dev/null - - -port=8080 - - -quiet + - --cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1 >/dev/null + - --url=/healthz-dnsmasq + - --cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1:10053 >/dev/null + - --url=/healthz-kubedns + - --port=8080 + - --quiet ports: - containerPort: 8080 protocol: TCP @@ -552,11 +563,11 @@ storage: apiVersion: v1 kind: ReplicationController metadata: - name: kubernetes-dashboard-v1.4.0 + name: kubernetes-dashboard-v1.4.1 namespace: kube-system labels: k8s-app: kubernetes-dashboard - version: v1.4.0 + version: v1.4.1 kubernetes.io/cluster-service: "true" spec: replicas: 1 @@ -566,7 +577,7 @@ storage: metadata: labels: k8s-app: kubernetes-dashboard - version: v1.4.0 + version: v1.4.1 kubernetes.io/cluster-service: "true" annotations: scheduler.alpha.kubernetes.io/critical-pod: '' @@ -574,7 +585,7 @@ storage: spec: containers: - name: kubernetes-dashboard - image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.4.0 + image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.4.1 resources: limits: cpu: 100m diff --git a/examples/ignition/rktnetes-worker.yaml b/examples/ignition/rktnetes-worker.yaml index 7da02789..f4051110 100644 --- a/examples/ignition/rktnetes-worker.yaml +++ b/examples/ignition/rktnetes-worker.yaml @@ -52,7 +52,7 @@ systemd: Requires=k8s-assets.target After=k8s-assets.target [Service] - Environment=KUBELET_VERSION=v1.4.0_coreos.2 + Environment=KUBELET_VERSION=v1.4.1_coreos.0 Environment="RKT_OPTS=--volume dns,kind=host,source=/etc/resolv.conf \ --mount volume=dns,target=/etc/resolv.conf \ --volume rkt,kind=host,source=/opt/bin/host-rkt \ @@ -182,7 +182,7 @@ storage: hostNetwork: true containers: - name: kube-proxy - image: quay.io/coreos/hyperkube:v1.4.0_coreos.2 + image: quay.io/coreos/hyperkube:v1.4.1_coreos.0 command: - /hyperkube - proxy