Merge pull request #3434 from pires/update-coreos-kubernetes
Fixed CoreOS cluster starting guide
This commit is contained in:
commit
e12a78cb1d
@ -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)
|
* [Single Node Cluster](coreos/coreos_single_node_cluster.md)
|
||||||
* [Multi-node Cluster](coreos/coreos_multinode_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 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)
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
#cloud-config
|
#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:
|
coreos:
|
||||||
units:
|
units:
|
||||||
- name: setup-network-environment.service
|
- name: setup-network-environment.service
|
||||||
@ -62,10 +69,29 @@ coreos:
|
|||||||
ExecStart=/usr/bin/fleetd
|
ExecStart=/usr/bin/fleetd
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=10s
|
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
|
- name: flannel.service
|
||||||
command: start
|
command: start
|
||||||
content: |
|
content: |
|
||||||
[Unit]
|
[Unit]
|
||||||
|
Wants=etcd-waiter.service
|
||||||
|
After=etcd-waiter.service
|
||||||
Requires=etcd.service
|
Requires=etcd.service
|
||||||
After=etcd.service
|
After=etcd.service
|
||||||
After=network-online.target
|
After=network-online.target
|
||||||
@ -77,7 +103,7 @@ coreos:
|
|||||||
ExecStartPre=-/usr/bin/mkdir -p /opt/bin
|
ExecStartPre=-/usr/bin/mkdir -p /opt/bin
|
||||||
ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/flanneld
|
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/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
|
ExecStart=/opt/bin/flanneld
|
||||||
- name: kube-apiserver.service
|
- name: kube-apiserver.service
|
||||||
command: start
|
command: start
|
||||||
@ -90,13 +116,14 @@ coreos:
|
|||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStartPre=-/usr/bin/mkdir -p /opt/bin
|
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
|
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-apiserver
|
||||||
ExecStart=/opt/bin/kube-apiserver \
|
ExecStart=/opt/bin/kube-apiserver \
|
||||||
--address=0.0.0.0 \
|
--address=0.0.0.0 \
|
||||||
--port=8080 \
|
--port=8080 \
|
||||||
--portal_net=10.1.0.0/16 \
|
--portal_net=10.244.0.0/16 \
|
||||||
--etcd_servers=http://127.0.0.1:4001 \
|
--etcd_servers=http://127.0.0.1:4001 \
|
||||||
|
--public_address_override=$private_ipv4 \
|
||||||
--logtostderr=true
|
--logtostderr=true
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=10
|
RestartSec=10
|
||||||
@ -110,7 +137,7 @@ coreos:
|
|||||||
After=kube-apiserver.service
|
After=kube-apiserver.service
|
||||||
|
|
||||||
[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
|
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-controller-manager
|
||||||
ExecStart=/opt/bin/kube-controller-manager \
|
ExecStart=/opt/bin/kube-controller-manager \
|
||||||
--master=127.0.0.1:8080 \
|
--master=127.0.0.1:8080 \
|
||||||
@ -127,7 +154,7 @@ coreos:
|
|||||||
After=kube-apiserver.service
|
After=kube-apiserver.service
|
||||||
|
|
||||||
[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
|
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-scheduler
|
||||||
ExecStart=/opt/bin/kube-scheduler --master=127.0.0.1:8080
|
ExecStart=/opt/bin/kube-scheduler --master=127.0.0.1:8080
|
||||||
Restart=always
|
Restart=always
|
||||||
|
@ -74,7 +74,7 @@ coreos:
|
|||||||
After=setup-network-environment.service
|
After=setup-network-environment.service
|
||||||
|
|
||||||
[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
|
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-proxy
|
||||||
ExecStart=/opt/bin/kube-proxy \
|
ExecStart=/opt/bin/kube-proxy \
|
||||||
--etcd_servers=http://<master-private-ip>:4001 \
|
--etcd_servers=http://<master-private-ip>:4001 \
|
||||||
@ -92,12 +92,12 @@ coreos:
|
|||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
EnvironmentFile=/etc/network-environment
|
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
|
ExecStartPre=/usr/bin/chmod +x /opt/bin/kubelet
|
||||||
ExecStart=/opt/bin/kubelet \
|
ExecStart=/opt/bin/kubelet \
|
||||||
--address=0.0.0.0 \
|
--address=0.0.0.0 \
|
||||||
--port=10250 \
|
--port=10250 \
|
||||||
--hostname_override=${DEFAULT_IPV4} \
|
--hostname_override=$private_ipv4 \
|
||||||
--etcd_servers=http://<master-private-ip>:4001 \
|
--etcd_servers=http://<master-private-ip>:4001 \
|
||||||
--logtostderr=true
|
--logtostderr=true
|
||||||
Restart=always
|
Restart=always
|
||||||
|
@ -1,5 +1,12 @@
|
|||||||
#cloud-config
|
#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
|
hostname: standalone
|
||||||
coreos:
|
coreos:
|
||||||
units:
|
units:
|
||||||
@ -7,10 +14,29 @@ coreos:
|
|||||||
command: start
|
command: start
|
||||||
- name: fleet.service
|
- name: fleet.service
|
||||||
command: start
|
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
|
- name: flannel.service
|
||||||
command: start
|
command: start
|
||||||
content: |
|
content: |
|
||||||
[Unit]
|
[Unit]
|
||||||
|
Wants=etcd-waiter.service
|
||||||
|
After=etcd-waiter.service
|
||||||
Requires=etcd.service
|
Requires=etcd.service
|
||||||
After=etcd.service
|
After=etcd.service
|
||||||
After=network-online.target
|
After=network-online.target
|
||||||
@ -51,13 +77,14 @@ coreos:
|
|||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStartPre=-/usr/bin/mkdir -p /opt/bin
|
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
|
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-apiserver
|
||||||
ExecStart=/opt/bin/kube-apiserver \
|
ExecStart=/opt/bin/kube-apiserver \
|
||||||
--address=0.0.0.0 \
|
--address=0.0.0.0 \
|
||||||
--portal_net=10.1.0.0/16 \
|
--portal_net=10.244.0.0/16 \
|
||||||
--port=8080 \
|
--port=8080 \
|
||||||
--etcd_servers=http://127.0.0.1:4001 \
|
--etcd_servers=http://127.0.0.1:4001 \
|
||||||
|
--public_address_override=127.0.0.1 \
|
||||||
--logtostderr=true
|
--logtostderr=true
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=10
|
RestartSec=10
|
||||||
@ -71,7 +98,7 @@ coreos:
|
|||||||
After=kube-apiserver.service
|
After=kube-apiserver.service
|
||||||
|
|
||||||
[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
|
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-controller-manager
|
||||||
ExecStart=/opt/bin/kube-controller-manager \
|
ExecStart=/opt/bin/kube-controller-manager \
|
||||||
--machines=127.0.0.1 \
|
--machines=127.0.0.1 \
|
||||||
@ -89,7 +116,7 @@ coreos:
|
|||||||
After=kube-apiserver.service
|
After=kube-apiserver.service
|
||||||
|
|
||||||
[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
|
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-scheduler
|
||||||
ExecStart=/opt/bin/kube-scheduler --master=127.0.0.1:8080
|
ExecStart=/opt/bin/kube-scheduler --master=127.0.0.1:8080
|
||||||
Restart=always
|
Restart=always
|
||||||
@ -104,7 +131,7 @@ coreos:
|
|||||||
After=etcd.service
|
After=etcd.service
|
||||||
|
|
||||||
[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
|
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-proxy
|
||||||
ExecStart=/opt/bin/kube-proxy \
|
ExecStart=/opt/bin/kube-proxy \
|
||||||
--etcd_servers=http://127.0.0.1:4001 \
|
--etcd_servers=http://127.0.0.1:4001 \
|
||||||
@ -121,7 +148,7 @@ coreos:
|
|||||||
After=etcd.service
|
After=etcd.service
|
||||||
|
|
||||||
[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
|
ExecStartPre=/usr/bin/chmod +x /opt/bin/kubelet
|
||||||
ExecStart=/opt/bin/kubelet \
|
ExecStart=/opt/bin/kubelet \
|
||||||
--address=0.0.0.0 \
|
--address=0.0.0.0 \
|
||||||
|
@ -11,6 +11,8 @@ Use the [master.yaml](cloud-configs/master.yaml) and [node.yaml](cloud-configs/n
|
|||||||
|
|
||||||
### AWS
|
### AWS
|
||||||
|
|
||||||
|
*Attention:* Replace ```<ami_image_id>``` bellow for a [suitable version of CoreOS image for AWS](https://coreos.com/docs/running-coreos/cloud-providers/ec2/).
|
||||||
|
|
||||||
#### Provision the Master
|
#### Provision the Master
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -22,7 +24,7 @@ aws ec2 authorize-security-group-ingress --group-name kubernetes --source-securi
|
|||||||
|
|
||||||
```
|
```
|
||||||
aws ec2 run-instances \
|
aws ec2 run-instances \
|
||||||
--image-id ami-d92377e9 \
|
--image-id <ami_image_id> \
|
||||||
--key-name <keypair> \
|
--key-name <keypair> \
|
||||||
--region us-west-2 \
|
--region us-west-2 \
|
||||||
--security-groups kubernetes \
|
--security-groups kubernetes \
|
||||||
@ -45,7 +47,7 @@ Edit `node.yaml` and replace all instances of `<master-private-ip>` with the pri
|
|||||||
```
|
```
|
||||||
aws ec2 run-instances \
|
aws ec2 run-instances \
|
||||||
--count 1 \
|
--count 1 \
|
||||||
--image-id ami-d92377e9 \
|
--image-id <ami_image_id> \
|
||||||
--key-name <keypair> \
|
--key-name <keypair> \
|
||||||
--region us-west-2 \
|
--region us-west-2 \
|
||||||
--security-groups kubernetes \
|
--security-groups kubernetes \
|
||||||
@ -55,12 +57,14 @@ aws ec2 run-instances \
|
|||||||
|
|
||||||
### GCE
|
### GCE
|
||||||
|
|
||||||
|
*Attention:* Replace ```<gce_image_id>``` bellow for a [suitable version of CoreOS image for GCE](https://coreos.com/docs/running-coreos/cloud-providers/google-compute-engine/).
|
||||||
|
|
||||||
#### Provision the Master
|
#### Provision the Master
|
||||||
|
|
||||||
```
|
```
|
||||||
gcloud compute instances create master \
|
gcloud compute instances create master \
|
||||||
--image-project coreos-cloud \
|
--image-project coreos-cloud \
|
||||||
--image coreos-alpha-509-1-0-v20141124 \
|
--image <gce_image_id> \
|
||||||
--boot-disk-size 200GB \
|
--boot-disk-size 200GB \
|
||||||
--machine-type n1-standard-1 \
|
--machine-type n1-standard-1 \
|
||||||
--zone us-central1-a \
|
--zone us-central1-a \
|
||||||
@ -82,7 +86,7 @@ Edit `node.yaml` and replace all instances of `<master-private-ip>` with the pri
|
|||||||
```
|
```
|
||||||
gcloud compute instances create node1 \
|
gcloud compute instances create node1 \
|
||||||
--image-project coreos-cloud \
|
--image-project coreos-cloud \
|
||||||
--image coreos-alpha-509-1-0-v20141124 \
|
--image <gce_image_id> \
|
||||||
--boot-disk-size 200GB \
|
--boot-disk-size 200GB \
|
||||||
--machine-type n1-standard-1 \
|
--machine-type n1-standard-1 \
|
||||||
--zone us-central1-a \
|
--zone us-central1-a \
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
Use the [standalone.yaml](cloud-configs/standalone.yaml) cloud-config to provision a single node Kubernetes cluster.
|
Use the [standalone.yaml](cloud-configs/standalone.yaml) cloud-config to provision a single node Kubernetes cluster.
|
||||||
|
|
||||||
|
### CoreOS image versions
|
||||||
|
|
||||||
### AWS
|
### 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
|
aws ec2 authorize-security-group-ingress --group-name kubernetes --source-security-group-name kubernetes
|
||||||
```
|
```
|
||||||
|
|
||||||
|
*Attention:* Replace ```<ami_image_id>``` bellow for a [suitable version of CoreOS image for AWS](https://coreos.com/docs/running-coreos/cloud-providers/ec2/).
|
||||||
|
|
||||||
```
|
```
|
||||||
aws ec2 run-instances \
|
aws ec2 run-instances \
|
||||||
--image-id ami-d92377e9 \
|
--image-id <ami_image_id> \
|
||||||
--key-name <keypair> \
|
--key-name <keypair> \
|
||||||
--region us-west-2 \
|
--region us-west-2 \
|
||||||
--security-groups kubernetes \
|
--security-groups kubernetes \
|
||||||
@ -22,10 +26,12 @@ aws ec2 run-instances \
|
|||||||
|
|
||||||
### GCE
|
### GCE
|
||||||
|
|
||||||
|
*Attention:* Replace ```<gce_image_id>``` 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 \
|
gcloud compute instances create standalone \
|
||||||
--image-project coreos-cloud \
|
--image-project coreos-cloud \
|
||||||
--image coreos-alpha-509-1-0-v20141124 \
|
--image <gce_image_id> \
|
||||||
--boot-disk-size 200GB \
|
--boot-disk-size 200GB \
|
||||||
--machine-type n1-standard-1 \
|
--machine-type n1-standard-1 \
|
||||||
--zone us-central1-a \
|
--zone us-central1-a \
|
||||||
|
Loading…
Reference in New Issue
Block a user