From 9e9b06ce00e032318570bab155c42c30863edcc4 Mon Sep 17 00:00:00 2001 From: Paulo Pires Date: Tue, 13 Jan 2015 18:49:04 +0000 Subject: [PATCH 1/6] Updated to Kubernetes 0.8.1 with some flags love. --- .../coreos/cloud-configs/master.yaml | 11 ++++++----- .../coreos/cloud-configs/node.yaml | 6 +++--- .../coreos/cloud-configs/standalone.yaml | 13 +++++++------ 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/docs/getting-started-guides/coreos/cloud-configs/master.yaml b/docs/getting-started-guides/coreos/cloud-configs/master.yaml index 3b8ff325447..98a05f6aa81 100644 --- a/docs/getting-started-guides/coreos/cloud-configs/master.yaml +++ b/docs/getting-started-guides/coreos/cloud-configs/master.yaml @@ -77,7 +77,7 @@ coreos: ExecStartPre=-/usr/bin/mkdir -p /opt/bin ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/flanneld ExecStartPre=/usr/bin/chmod +x /opt/bin/flanneld - ExecStartPre=-/usr/bin/etcdctl mk /coreos.com/network/config '{"Network":"10.244.0.0/16", "Backend": {"Type": "vxlan"}}' + ExecStartPre=/usr/bin/etcdctl mk /coreos.com/network/config '{"Network":"10.244.0.0/16", "Backend": {"Type": "vxlan"}}' ExecStart=/opt/bin/flanneld - name: kube-apiserver.service command: start @@ -90,13 +90,14 @@ coreos: [Service] ExecStartPre=-/usr/bin/mkdir -p /opt/bin - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.5.4/bin/linux/amd64/kube-apiserver + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.8.1/bin/linux/amd64/kube-apiserver ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-apiserver ExecStart=/opt/bin/kube-apiserver \ --address=0.0.0.0 \ --port=8080 \ - --portal_net=10.1.0.0/16 \ + --portal_net=10.244.0.0/16 \ --etcd_servers=http://127.0.0.1:4001 \ + --public_address_override=$private_ipv4 \ --logtostderr=true Restart=always RestartSec=10 @@ -110,7 +111,7 @@ coreos: After=kube-apiserver.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.5.4/bin/linux/amd64/kube-controller-manager + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.8.1/bin/linux/amd64/kube-controller-manager ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-controller-manager ExecStart=/opt/bin/kube-controller-manager \ --master=127.0.0.1:8080 \ @@ -127,7 +128,7 @@ coreos: After=kube-apiserver.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.5.4/bin/linux/amd64/kube-scheduler + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.8.1/bin/linux/amd64/kube-scheduler ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-scheduler ExecStart=/opt/bin/kube-scheduler --master=127.0.0.1:8080 Restart=always diff --git a/docs/getting-started-guides/coreos/cloud-configs/node.yaml b/docs/getting-started-guides/coreos/cloud-configs/node.yaml index 15f6b2162cf..a59ff5ae7eb 100644 --- a/docs/getting-started-guides/coreos/cloud-configs/node.yaml +++ b/docs/getting-started-guides/coreos/cloud-configs/node.yaml @@ -74,7 +74,7 @@ coreos: After=setup-network-environment.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.5.4/bin/linux/amd64/kube-proxy + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.8.1/bin/linux/amd64/kube-proxy ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-proxy ExecStart=/opt/bin/kube-proxy \ --etcd_servers=http://:4001 \ @@ -92,12 +92,12 @@ coreos: [Service] EnvironmentFile=/etc/network-environment - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.5.4/bin/linux/amd64/kubelet + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.8.1/bin/linux/amd64/kubelet ExecStartPre=/usr/bin/chmod +x /opt/bin/kubelet ExecStart=/opt/bin/kubelet \ --address=0.0.0.0 \ --port=10250 \ - --hostname_override=${DEFAULT_IPV4} \ + --hostname_override=$private_ipv4 \ --etcd_servers=http://:4001 \ --logtostderr=true Restart=always diff --git a/docs/getting-started-guides/coreos/cloud-configs/standalone.yaml b/docs/getting-started-guides/coreos/cloud-configs/standalone.yaml index 6d8fb06a3ed..e506a023f70 100644 --- a/docs/getting-started-guides/coreos/cloud-configs/standalone.yaml +++ b/docs/getting-started-guides/coreos/cloud-configs/standalone.yaml @@ -51,13 +51,14 @@ coreos: [Service] ExecStartPre=-/usr/bin/mkdir -p /opt/bin - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.5.4/bin/linux/amd64/kube-apiserver + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.8.1/bin/linux/amd64/kube-apiserver ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-apiserver ExecStart=/opt/bin/kube-apiserver \ --address=0.0.0.0 \ - --portal_net=10.1.0.0/16 \ + --portal_net=10.244.0.0/16 \ --port=8080 \ --etcd_servers=http://127.0.0.1:4001 \ + --public_address_override=127.0.0.1 \ --logtostderr=true Restart=always RestartSec=10 @@ -71,7 +72,7 @@ coreos: After=kube-apiserver.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.5.4/bin/linux/amd64/kube-controller-manager + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.8.1/bin/linux/amd64/kube-controller-manager ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-controller-manager ExecStart=/opt/bin/kube-controller-manager \ --machines=127.0.0.1 \ @@ -89,7 +90,7 @@ coreos: After=kube-apiserver.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.5.4/bin/linux/amd64/kube-scheduler + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.8.1/bin/linux/amd64/kube-scheduler ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-scheduler ExecStart=/opt/bin/kube-scheduler --master=127.0.0.1:8080 Restart=always @@ -104,7 +105,7 @@ coreos: After=etcd.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.5.4/bin/linux/amd64/kube-proxy + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.8.1/bin/linux/amd64/kube-proxy ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-proxy ExecStart=/opt/bin/kube-proxy \ --etcd_servers=http://127.0.0.1:4001 \ @@ -121,7 +122,7 @@ coreos: After=etcd.service [Service] - ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.5.4/bin/linux/amd64/kubelet + ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.8.1/bin/linux/amd64/kubelet ExecStartPre=/usr/bin/chmod +x /opt/bin/kubelet ExecStart=/opt/bin/kubelet \ --address=0.0.0.0 \ From 3b339653c1088da7ee07364652cfa616810a4253 Mon Sep 17 00:00:00 2001 From: Paulo Pires Date: Tue, 13 Jan 2015 18:49:55 +0000 Subject: [PATCH 2/6] Writes to etcd should wait for it to be ready. Flannel is happy now. --- .../coreos/cloud-configs/master.yaml | 26 +++++++++++++++++++ .../coreos/cloud-configs/standalone.yaml | 26 +++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/docs/getting-started-guides/coreos/cloud-configs/master.yaml b/docs/getting-started-guides/coreos/cloud-configs/master.yaml index 98a05f6aa81..fbae2645e59 100644 --- a/docs/getting-started-guides/coreos/cloud-configs/master.yaml +++ b/docs/getting-started-guides/coreos/cloud-configs/master.yaml @@ -1,5 +1,12 @@ #cloud-config +--- +write_files: +- path: /opt/bin/waiter.sh + owner: root + content: | + #! /usr/bin/bash + until curl http://127.0.0.1:4001/v2/machines; do sleep 2; done coreos: units: - name: setup-network-environment.service @@ -62,10 +69,29 @@ coreos: ExecStart=/usr/bin/fleetd Restart=always RestartSec=10s + - name: etcd-waiter.service + command: start + content: | + [Unit] + Description=etcd waiter + Wants=network-online.target + Wants=etcd.service + After=etcd.service + After=network-online.target + Before=flannel.service + Before=setup-network-environment.service + + [Service] + ExecStartPre=/usr/bin/chmod +x /opt/bin/waiter.sh + ExecStart=/usr/bin/bash /opt/bin/waiter.sh + RemainAfterExit=true + Type=oneshot - name: flannel.service command: start content: | [Unit] + Wants=etcd-waiter.service + After=etcd-waiter.service Requires=etcd.service After=etcd.service After=network-online.target diff --git a/docs/getting-started-guides/coreos/cloud-configs/standalone.yaml b/docs/getting-started-guides/coreos/cloud-configs/standalone.yaml index e506a023f70..94d81228225 100644 --- a/docs/getting-started-guides/coreos/cloud-configs/standalone.yaml +++ b/docs/getting-started-guides/coreos/cloud-configs/standalone.yaml @@ -1,5 +1,12 @@ #cloud-config +--- +write_files: +- path: /opt/bin/waiter.sh + owner: root + content: | + #! /usr/bin/bash + until curl http://127.0.0.1:4001/v2/machines; do sleep 2; done hostname: standalone coreos: units: @@ -7,10 +14,29 @@ coreos: command: start - name: fleet.service command: start + - name: etcd-waiter.service + command: start + content: | + [Unit] + Description=etcd waiter + Wants=network-online.target + Wants=etcd.service + After=etcd.service + After=network-online.target + Before=flannel.service + Before=setup-network-environment.service + + [Service] + ExecStartPre=/usr/bin/chmod +x /opt/bin/waiter.sh + ExecStart=/usr/bin/bash /opt/bin/waiter.sh + RemainAfterExit=true + Type=oneshot - name: flannel.service command: start content: | [Unit] + Wants=etcd-waiter.service + After=etcd-waiter.service Requires=etcd.service After=etcd.service After=network-online.target From 3f5b30abf59fe1e86c73923f8ed69b11d2a11ff1 Mon Sep 17 00:00:00 2001 From: Paulo Pires Date: Tue, 13 Jan 2015 18:50:22 +0000 Subject: [PATCH 3/6] Updated to latest CoreOS alpha version available on AWS and GCE. --- .../coreos/coreos_multinode_cluster.md | 8 ++++---- .../coreos/coreos_single_node_cluster.md | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/getting-started-guides/coreos/coreos_multinode_cluster.md b/docs/getting-started-guides/coreos/coreos_multinode_cluster.md index 3bb153c8331..f07de6fa262 100644 --- a/docs/getting-started-guides/coreos/coreos_multinode_cluster.md +++ b/docs/getting-started-guides/coreos/coreos_multinode_cluster.md @@ -22,7 +22,7 @@ aws ec2 authorize-security-group-ingress --group-name kubernetes --source-securi ``` aws ec2 run-instances \ ---image-id ami-d92377e9 \ +--image-id ami-c484f5ac \ --key-name \ --region us-west-2 \ --security-groups kubernetes \ @@ -45,7 +45,7 @@ Edit `node.yaml` and replace all instances of `` with the pri ``` aws ec2 run-instances \ --count 1 \ ---image-id ami-d92377e9 \ +--image-id ami-c484f5ac \ --key-name \ --region us-west-2 \ --security-groups kubernetes \ @@ -60,7 +60,7 @@ aws ec2 run-instances \ ``` gcloud compute instances create master \ --image-project coreos-cloud \ ---image coreos-alpha-509-1-0-v20141124 \ +--image coreos-alpha-557-0-0-v20150109 \ --boot-disk-size 200GB \ --machine-type n1-standard-1 \ --zone us-central1-a \ @@ -82,7 +82,7 @@ Edit `node.yaml` and replace all instances of `` with the pri ``` gcloud compute instances create node1 \ --image-project coreos-cloud \ ---image coreos-alpha-509-1-0-v20141124 \ +--image coreos-alpha-557-0-0-v20150109 \ --boot-disk-size 200GB \ --machine-type n1-standard-1 \ --zone us-central1-a \ diff --git a/docs/getting-started-guides/coreos/coreos_single_node_cluster.md b/docs/getting-started-guides/coreos/coreos_single_node_cluster.md index 1c1b7f06ea2..3828b432147 100644 --- a/docs/getting-started-guides/coreos/coreos_single_node_cluster.md +++ b/docs/getting-started-guides/coreos/coreos_single_node_cluster.md @@ -12,7 +12,7 @@ aws ec2 authorize-security-group-ingress --group-name kubernetes --source-securi ``` aws ec2 run-instances \ ---image-id ami-d92377e9 \ +--image-id ami-c484f5ac \ --key-name \ --region us-west-2 \ --security-groups kubernetes \ @@ -25,7 +25,7 @@ aws ec2 run-instances \ ``` gcloud compute instances create standalone \ --image-project coreos-cloud \ ---image coreos-alpha-509-1-0-v20141124 \ +--image coreos-alpha-557-0-0-v20150109 \ --boot-disk-size 200GB \ --machine-type n1-standard-1 \ --zone us-central1-a \ From 08eecc8827ee1b294eb0344f665c3aa2bde6a7f6 Mon Sep 17 00:00:00 2001 From: Paulo Pires Date: Thu, 15 Jan 2015 23:00:15 +0000 Subject: [PATCH 4/6] Removed CoreOS image version for AWS and GCE in favor of linking to the official channel. --- .../coreos/coreos_multinode_cluster.md | 10 +++++++--- .../coreos/coreos_single_node_cluster.md | 10 ++++++++-- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/docs/getting-started-guides/coreos/coreos_multinode_cluster.md b/docs/getting-started-guides/coreos/coreos_multinode_cluster.md index f07de6fa262..7dc3235e0c5 100644 --- a/docs/getting-started-guides/coreos/coreos_multinode_cluster.md +++ b/docs/getting-started-guides/coreos/coreos_multinode_cluster.md @@ -11,6 +11,8 @@ Use the [master.yaml](cloud-configs/master.yaml) and [node.yaml](cloud-configs/n ### AWS +*Attention:* Replace `````` bellow for a [suitable version of CoreOS image for AWS](https://coreos.com/docs/running-coreos/cloud-providers/ec2/). + #### Provision the Master ``` @@ -22,7 +24,7 @@ aws ec2 authorize-security-group-ingress --group-name kubernetes --source-securi ``` aws ec2 run-instances \ ---image-id ami-c484f5ac \ +--image-id \ --key-name \ --region us-west-2 \ --security-groups kubernetes \ @@ -55,12 +57,14 @@ aws ec2 run-instances \ ### GCE +*Attention:* Replace `````` bellow for a [suitable version of CoreOS image for GCE](https://coreos.com/docs/running-coreos/cloud-providers/google-compute-engine/). + #### Provision the Master ``` gcloud compute instances create master \ --image-project coreos-cloud \ ---image coreos-alpha-557-0-0-v20150109 \ +--image \ --boot-disk-size 200GB \ --machine-type n1-standard-1 \ --zone us-central1-a \ @@ -82,7 +86,7 @@ Edit `node.yaml` and replace all instances of `` with the pri ``` gcloud compute instances create node1 \ --image-project coreos-cloud \ ---image coreos-alpha-557-0-0-v20150109 \ +--image \ --boot-disk-size 200GB \ --machine-type n1-standard-1 \ --zone us-central1-a \ diff --git a/docs/getting-started-guides/coreos/coreos_single_node_cluster.md b/docs/getting-started-guides/coreos/coreos_single_node_cluster.md index 3828b432147..d166aad9efc 100644 --- a/docs/getting-started-guides/coreos/coreos_single_node_cluster.md +++ b/docs/getting-started-guides/coreos/coreos_single_node_cluster.md @@ -2,6 +2,8 @@ Use the [standalone.yaml](cloud-configs/standalone.yaml) cloud-config to provision a single node Kubernetes cluster. +### CoreOS image versions + ### AWS ``` @@ -10,9 +12,11 @@ aws ec2 authorize-security-group-ingress --group-name kubernetes --protocol tcp aws ec2 authorize-security-group-ingress --group-name kubernetes --source-security-group-name kubernetes ``` +*Attention:* Replace `````` bellow for a [suitable version of CoreOS image for AWS](https://coreos.com/docs/running-coreos/cloud-providers/ec2/). + ``` aws ec2 run-instances \ ---image-id ami-c484f5ac \ +--image-id \ --key-name \ --region us-west-2 \ --security-groups kubernetes \ @@ -22,10 +26,12 @@ aws ec2 run-instances \ ### GCE +*Attention:* Replace `````` bellow for a [suitable version of CoreOS image for GCE](https://coreos.com/docs/running-coreos/cloud-providers/google-compute-engine/). + ``` gcloud compute instances create standalone \ --image-project coreos-cloud \ ---image coreos-alpha-557-0-0-v20150109 \ +--image \ --boot-disk-size 200GB \ --machine-type n1-standard-1 \ --zone us-central1-a \ From 78437d2db59075b2bcb57549c2b3994f72a95127 Mon Sep 17 00:00:00 2001 From: Paulo Pires Date: Thu, 15 Jan 2015 23:01:10 +0000 Subject: [PATCH 5/6] Linked another way of trying out Kubernetes on Coreos, this time with Vagrant alone. --- docs/getting-started-guides/coreos.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/getting-started-guides/coreos.md b/docs/getting-started-guides/coreos.md index e1811ae964a..805ac19122f 100644 --- a/docs/getting-started-guides/coreos.md +++ b/docs/getting-started-guides/coreos.md @@ -5,3 +5,4 @@ There are multiple guides on running Kubernetes with [CoreOS](http://coreos.com) * [Single Node Cluster](coreos/coreos_single_node_cluster.md) * [Multi-node Cluster](coreos/coreos_multinode_cluster.md) * [Multi-node cluster using cloud-config and Weave on Vagrant](https://github.com/errordeveloper/weave-demos/blob/master/poseidon/README.md) +* [Multi-node cluster using cloud-config and Vagrant](https://github.com/pires/kubernetes-vagrant-coreos-cluster/README.md) From 540bf6053cd77d2c841f38bdab626df6ae7319ad Mon Sep 17 00:00:00 2001 From: Paulo Pires Date: Thu, 15 Jan 2015 23:40:44 +0000 Subject: [PATCH 6/6] Missed a spot (TODO blame someone else). --- docs/getting-started-guides/coreos/coreos_multinode_cluster.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/getting-started-guides/coreos/coreos_multinode_cluster.md b/docs/getting-started-guides/coreos/coreos_multinode_cluster.md index 7dc3235e0c5..3b9a158f369 100644 --- a/docs/getting-started-guides/coreos/coreos_multinode_cluster.md +++ b/docs/getting-started-guides/coreos/coreos_multinode_cluster.md @@ -47,7 +47,7 @@ Edit `node.yaml` and replace all instances of `` with the pri ``` aws ec2 run-instances \ --count 1 \ ---image-id ami-c484f5ac \ +--image-id \ --key-name \ --region us-west-2 \ --security-groups kubernetes \