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) diff --git a/docs/getting-started-guides/coreos/cloud-configs/master.yaml b/docs/getting-started-guides/coreos/cloud-configs/master.yaml index 3b8ff325447..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 @@ -77,7 +103,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 +116,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 +137,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 +154,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..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 @@ -51,13 +77,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 +98,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 +116,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 +131,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 +148,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 \ diff --git a/docs/getting-started-guides/coreos/coreos_multinode_cluster.md b/docs/getting-started-guides/coreos/coreos_multinode_cluster.md index 3bb153c8331..3b9a158f369 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-d92377e9 \ +--image-id \ --key-name \ --region us-west-2 \ --security-groups kubernetes \ @@ -45,7 +47,7 @@ Edit `node.yaml` and replace all instances of `` with the pri ``` aws ec2 run-instances \ --count 1 \ ---image-id ami-d92377e9 \ +--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-509-1-0-v20141124 \ +--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-509-1-0-v20141124 \ +--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 1c1b7f06ea2..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-d92377e9 \ +--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-509-1-0-v20141124 \ +--image \ --boot-disk-size 200GB \ --machine-type n1-standard-1 \ --zone us-central1-a \