mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 15:25:57 +00:00
Merge pull request #3556 from pires/fix_aws_coreos_cloudformation
Fix AWS CoreOs documentation & CloudFormation template.
This commit is contained in:
commit
80ad188912
@ -10,13 +10,13 @@ The example below creates an elastic Kubernetes cluster with 3 worker nodes and
|
|||||||
* Cluster bootstrapping using [cloud-config](https://coreos.com/docs/cluster-management/setup/cloudinit-cloud-config)
|
* Cluster bootstrapping using [cloud-config](https://coreos.com/docs/cluster-management/setup/cloudinit-cloud-config)
|
||||||
* Cross container networking with [flannel](https://github.com/coreos/flannel#flannel)
|
* Cross container networking with [flannel](https://github.com/coreos/flannel#flannel)
|
||||||
* Auto worker registration with [kube-register](https://github.com/kelseyhightower/kube-register#kube-register)
|
* Auto worker registration with [kube-register](https://github.com/kelseyhightower/kube-register#kube-register)
|
||||||
* Kubernetes v0.4.2 [official binaries](https://github.com/GoogleCloudPlatform/kubernetes/releases/tag/v0.4.2)
|
* Kubernetes v0.8.1 [official binaries](https://github.com/GoogleCloudPlatform/kubernetes/releases/tag/v0.8.1)
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
* [kubecfg CLI](aws/kubecfg.md)
|
* [kubecfg CLI](aws/kubecfg.md)
|
||||||
* [aws CLI](http://aws.amazon.com/cli)
|
* [aws CLI](http://aws.amazon.com/cli)
|
||||||
* CoreOS 490.0.0+
|
* [CoreOS image for AWS](https://coreos.com/docs/running-coreos/cloud-providers/ec2/#choosing-a-channel)
|
||||||
|
|
||||||
## Starting a Cluster
|
## Starting a Cluster
|
||||||
|
|
||||||
@ -46,7 +46,7 @@ aws cloudformation describe-stacks --stack-name kubernetes
|
|||||||
|
|
||||||
### Manually
|
### Manually
|
||||||
|
|
||||||
The following commands use the CoreOS 490.0.0 alpha AMI `ami-e18dc5d1` from the `us-west-2` region. For a list of different regions and corresponding AMI IDs see the [CoreOS EC2 cloud provider documentation](https://coreos.com/docs/running-coreos/cloud-providers/ec2/#choosing-a-channel).
|
The following commands shall use the latest CoreOS alpha AMI for the `us-west-2` region. For a list of different regions and corresponding AMI IDs see the [CoreOS EC2 cloud provider documentation](https://coreos.com/docs/running-coreos/cloud-providers/ec2/#choosing-a-channel).
|
||||||
|
|
||||||
#### Create the Kubernetes Security Group
|
#### Create the Kubernetes Security Group
|
||||||
|
|
||||||
@ -64,8 +64,10 @@ aws ec2 authorize-security-group-ingress --group-name kubernetes --source-securi
|
|||||||
|
|
||||||
#### Launch the master
|
#### Launch the master
|
||||||
|
|
||||||
|
*Attention:* Replace ```<ami_image_id>``` below for a [suitable version of CoreOS image for AWS](https://coreos.com/docs/running-coreos/cloud-providers/ec2/#choosing-a-channel).
|
||||||
|
|
||||||
```
|
```
|
||||||
aws ec2 run-instances --image-id ami-e18dc5d1 --key-name <keypair> \
|
aws ec2 run-instances --image-id <ami_image_id> --key-name <keypair> \
|
||||||
--region us-west-2 --security-groups kubernetes --instance-type m3.medium \
|
--region us-west-2 --security-groups kubernetes --instance-type m3.medium \
|
||||||
--user-data file://master.yaml
|
--user-data file://master.yaml
|
||||||
```
|
```
|
||||||
@ -101,16 +103,20 @@ Edit `node.yaml` and replace all instances of `<master-private-ip>` with the **p
|
|||||||
|
|
||||||
### Launch 3 worker nodes
|
### Launch 3 worker nodes
|
||||||
|
|
||||||
|
*Attention:* Replace ```<ami_image_id>``` below for a [suitable version of CoreOS image for AWS](https://coreos.com/docs/running-coreos/cloud-providers/ec2/#choosing-a-channel).
|
||||||
|
|
||||||
```
|
```
|
||||||
aws ec2 run-instances --count 3 --image-id ami-e18dc5d1 --key-name <keypair> \
|
aws ec2 run-instances --count 3 --image-id <ami_image_id> --key-name <keypair> \
|
||||||
--region us-west-2 --security-groups kubernetes --instance-type m3.medium \
|
--region us-west-2 --security-groups kubernetes --instance-type m3.medium \
|
||||||
--user-data file://node.yaml
|
--user-data file://node.yaml
|
||||||
```
|
```
|
||||||
|
|
||||||
### Add additional worker nodes
|
### Add additional worker nodes
|
||||||
|
|
||||||
|
*Attention:* Replace ```<ami_image_id>``` below for a [suitable version of CoreOS image for AWS](https://coreos.com/docs/running-coreos/cloud-providers/ec2/#choosing-a-channel).
|
||||||
|
|
||||||
```
|
```
|
||||||
aws ec2 run-instances --count 1 --image-id ami-e18dc5d1 --key-name <keypair> \
|
aws ec2 run-instances --count 1 --image-id <ami_image_id> --key-name <keypair> \
|
||||||
--region us-west-2 --security-groups kubernetes --instance-type m3.medium \
|
--region us-west-2 --security-groups kubernetes --instance-type m3.medium \
|
||||||
--user-data file://node.yaml
|
--user-data file://node.yaml
|
||||||
```
|
```
|
||||||
|
@ -1,26 +1,97 @@
|
|||||||
#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:
|
||||||
fleet:
|
|
||||||
etcd_servers: http://127.0.0.1:4001
|
|
||||||
metadata: role=master
|
|
||||||
etcd:
|
|
||||||
name: etcd
|
|
||||||
addr: $private_ipv4:4001
|
|
||||||
bind-addr: 0.0.0.0
|
|
||||||
peer-addr: $private_ipv4:7001
|
|
||||||
cluster-active-size: 1
|
|
||||||
http-read-timeout: 86400.0
|
|
||||||
snapshot: true
|
|
||||||
units:
|
units:
|
||||||
|
- name: setup-network-environment.service
|
||||||
|
command: start
|
||||||
|
content: |
|
||||||
|
[Unit]
|
||||||
|
Description=Setup Network Environment
|
||||||
|
Documentation=https://github.com/kelseyhightower/setup-network-environment
|
||||||
|
Requires=network-online.target
|
||||||
|
After=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStartPre=-/usr/bin/mkdir -p /opt/bin
|
||||||
|
ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/setup-network-environment
|
||||||
|
ExecStartPre=/usr/bin/chmod +x /opt/bin/setup-network-environment
|
||||||
|
ExecStart=/opt/bin/setup-network-environment
|
||||||
|
RemainAfterExit=yes
|
||||||
|
Type=oneshot
|
||||||
- name: etcd.service
|
- name: etcd.service
|
||||||
command: start
|
command: start
|
||||||
|
content: |
|
||||||
|
[Unit]
|
||||||
|
Description=etcd
|
||||||
|
Requires=setup-network-environment.service
|
||||||
|
After=setup-network-environment.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
EnvironmentFile=/etc/network-environment
|
||||||
|
User=etcd
|
||||||
|
PermissionsStartOnly=true
|
||||||
|
ExecStart=/usr/bin/etcd \
|
||||||
|
--name ${DEFAULT_IPV4} \
|
||||||
|
--addr ${DEFAULT_IPV4}:4001 \
|
||||||
|
--bind-addr 0.0.0.0 \
|
||||||
|
--cluster-active-size 1 \
|
||||||
|
--data-dir /var/lib/etcd \
|
||||||
|
--http-read-timeout 86400 \
|
||||||
|
--peer-addr ${DEFAULT_IPV4}:7001 \
|
||||||
|
--snapshot true
|
||||||
|
Restart=always
|
||||||
|
RestartSec=10s
|
||||||
|
- name: fleet.socket
|
||||||
|
command: start
|
||||||
|
content: |
|
||||||
|
[Socket]
|
||||||
|
ListenStream=/var/run/fleet.sock
|
||||||
- name: fleet.service
|
- name: fleet.service
|
||||||
command: start
|
command: start
|
||||||
|
content: |
|
||||||
|
[Unit]
|
||||||
|
Description=fleet daemon
|
||||||
|
Wants=etcd.service
|
||||||
|
After=etcd.service
|
||||||
|
Wants=fleet.socket
|
||||||
|
After=fleet.socket
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Environment="FLEET_ETCD_SERVERS=http://127.0.0.1:4001"
|
||||||
|
Environment="FLEET_METADATA=role=master"
|
||||||
|
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
|
- 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
|
||||||
@ -30,9 +101,9 @@ coreos:
|
|||||||
[Service]
|
[Service]
|
||||||
Type=notify
|
Type=notify
|
||||||
ExecStartPre=-/usr/bin/mkdir -p /opt/bin
|
ExecStartPre=-/usr/bin/mkdir -p /opt/bin
|
||||||
ExecStartPre=/usr/bin/wget -N -P /opt/bin http://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.0.0.0/16"}'
|
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
|
||||||
@ -45,12 +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.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
|
||||||
@ -64,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 \
|
||||||
@ -81,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
|
||||||
@ -94,12 +167,14 @@ coreos:
|
|||||||
Documentation=https://github.com/kelseyhightower/kube-register
|
Documentation=https://github.com/kelseyhightower/kube-register
|
||||||
Requires=kube-apiserver.service
|
Requires=kube-apiserver.service
|
||||||
After=kube-apiserver.service
|
After=kube-apiserver.service
|
||||||
|
Requires=fleet.service
|
||||||
|
After=fleet.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStartPre=/usr/bin/wget -N -P /opt/bin http://storage.googleapis.com/k8s/kube-register
|
ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/kube-register
|
||||||
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-register
|
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-register
|
||||||
ExecStart=/opt/bin/kube-register \
|
ExecStart=/opt/bin/kube-register \
|
||||||
--metadata=role=knode \
|
--metadata=role=node \
|
||||||
--fleet-endpoint=unix:///var/run/fleet.sock \
|
--fleet-endpoint=unix:///var/run/fleet.sock \
|
||||||
--api-endpoint=http://127.0.0.1:8080
|
--api-endpoint=http://127.0.0.1:8080
|
||||||
Restart=always
|
Restart=always
|
||||||
|
@ -1,14 +1,23 @@
|
|||||||
#cloud-config
|
#cloud-config
|
||||||
|
|
||||||
coreos:
|
coreos:
|
||||||
fleet:
|
|
||||||
etcd_servers: http://<master-private-ip>:4001
|
|
||||||
metadata: role=knode
|
|
||||||
units:
|
units:
|
||||||
- name: etcd.service
|
- name: etcd.service
|
||||||
mask: true
|
mask: true
|
||||||
- name: fleet.service
|
- name: fleet.service
|
||||||
command: start
|
command: start
|
||||||
|
content: |
|
||||||
|
[Unit]
|
||||||
|
Description=fleet daemon
|
||||||
|
Wants=fleet.socket
|
||||||
|
After=fleet.socket
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Environment="FLEET_ETCD_SERVERS=http://<master-private-ip>:4001"
|
||||||
|
Environment="FLEET_METADATA=role=node"
|
||||||
|
ExecStart=/usr/bin/fleetd
|
||||||
|
Restart=always
|
||||||
|
RestartSec=10s
|
||||||
- name: flannel.service
|
- name: flannel.service
|
||||||
command: start
|
command: start
|
||||||
content: |
|
content: |
|
||||||
@ -20,7 +29,7 @@ coreos:
|
|||||||
[Service]
|
[Service]
|
||||||
Type=notify
|
Type=notify
|
||||||
ExecStartPre=-/usr/bin/mkdir -p /opt/bin
|
ExecStartPre=-/usr/bin/mkdir -p /opt/bin
|
||||||
ExecStartPre=/usr/bin/wget -N -P /opt/bin http://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
|
||||||
ExecStart=/opt/bin/flanneld -etcd-endpoints http://<master-private-ip>:4001
|
ExecStart=/opt/bin/flanneld -etcd-endpoints http://<master-private-ip>:4001
|
||||||
- name: docker.service
|
- name: docker.service
|
||||||
@ -35,7 +44,7 @@ coreos:
|
|||||||
[Service]
|
[Service]
|
||||||
EnvironmentFile=/run/flannel/subnet.env
|
EnvironmentFile=/run/flannel/subnet.env
|
||||||
ExecStartPre=/bin/mount --make-rprivate /
|
ExecStartPre=/bin/mount --make-rprivate /
|
||||||
ExecStart=/usr/bin/docker -d --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU} -s=btrfs -H fd://
|
ExecStart=/usr/bin/docker -d --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU} -s=overlay -H fd://
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
@ -50,7 +59,7 @@ 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 http://storage.googleapis.com/k8s/setup-network-environment
|
ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/setup-network-environment
|
||||||
ExecStartPre=/usr/bin/chmod +x /opt/bin/setup-network-environment
|
ExecStartPre=/usr/bin/chmod +x /opt/bin/setup-network-environment
|
||||||
ExecStart=/opt/bin/setup-network-environment
|
ExecStart=/opt/bin/setup-network-environment
|
||||||
RemainAfterExit=yes
|
RemainAfterExit=yes
|
||||||
@ -65,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 \
|
||||||
@ -83,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,17 +1,17 @@
|
|||||||
{
|
{
|
||||||
"AWSTemplateFormatVersion": "2010-09-09",
|
"AWSTemplateFormatVersion": "2010-09-09",
|
||||||
"Description": "Kubernetes on EC2",
|
"Description": "Kubernetes 0.8.1 on EC2",
|
||||||
"Mappings": {
|
"Mappings": {
|
||||||
"RegionMap": {
|
"RegionMap": {
|
||||||
"eu-central-1": {"AMI": "ami-54ccfa49"},
|
"eu-central-1": {"AMI": "ami-488ebe55"},
|
||||||
"ap-northeast-1": {"AMI": "ami-f7b08ff6"},
|
"ap-northeast-1": {"AMI": "ami-14273415"},
|
||||||
"sa-east-1": {"AMI": "ami-1304b30e"},
|
"sa-east-1": {"AMI": "ami-e7b30efa"},
|
||||||
"ap-southeast-2": {"AMI": "ami-0f117e35"},
|
"ap-southeast-2": {"AMI": "ami-4d2b5e77"},
|
||||||
"ap-southeast-1": {"AMI": "ami-c04f6c92"},
|
"ap-southeast-1": {"AMI": "ami-8c032bde"},
|
||||||
"us-east-1": {"AMI": "ami-7ae66812"},
|
"us-east-1": {"AMI": "ami-4c651824"},
|
||||||
"us-west-2": {"AMI": "ami-e18dc5d1"},
|
"us-west-2": {"AMI": "ami-ff2679cf"},
|
||||||
"us-west-1": {"AMI": "ami-45fbec00"},
|
"us-west-1": {"AMI": "ami-5d4f5118"},
|
||||||
"eu-west-1": {"AMI": "ami-a27fd5d5"}
|
"eu-west-1": {"AMI": "ami-5d71f02a"}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Parameters": {
|
"Parameters": {
|
||||||
@ -113,27 +113,94 @@
|
|||||||
"SecurityGroups": [{"Ref": "KubernetesSecurityGroup"}],
|
"SecurityGroups": [{"Ref": "KubernetesSecurityGroup"}],
|
||||||
"UserData": { "Fn::Base64": {"Fn::Join" : ["", [
|
"UserData": { "Fn::Base64": {"Fn::Join" : ["", [
|
||||||
"#cloud-config\n\n",
|
"#cloud-config\n\n",
|
||||||
|
"---\n",
|
||||||
|
"write_files:\n",
|
||||||
|
"- path: /opt/bin/waiter.sh\n",
|
||||||
|
" owner: root\n",
|
||||||
|
" content: |\n",
|
||||||
|
" #! /usr/bin/bash\n",
|
||||||
|
" until curl http://127.0.0.1:4001/v2/machines; do sleep 2; done\n",
|
||||||
"coreos:\n",
|
"coreos:\n",
|
||||||
" fleet:\n",
|
|
||||||
" etcd_servers: http://127.0.0.1:4001\n",
|
|
||||||
" metadata: role=master\n",
|
|
||||||
" etcd:\n",
|
|
||||||
" name: etcd\n",
|
|
||||||
" addr: $private_ipv4:4001\n",
|
|
||||||
" bind-addr: 0.0.0.0\n",
|
|
||||||
" peer-addr: $private_ipv4:7001\n",
|
|
||||||
" cluster-active-size: 1\n",
|
|
||||||
" etcd-http-read-timeout: 86400\n",
|
|
||||||
" snapshot: true\n",
|
|
||||||
" units:\n",
|
" units:\n",
|
||||||
|
" - name: setup-network-environment.service\n",
|
||||||
|
" command: start\n",
|
||||||
|
" content: |\n",
|
||||||
|
" [Unit]\n",
|
||||||
|
" Description=Setup Network Environment\n",
|
||||||
|
" Documentation=https://github.com/kelseyhightower/setup-network-environment\n",
|
||||||
|
" Requires=network-online.target\n",
|
||||||
|
" After=network-online.target\n\n",
|
||||||
|
" [Service]\n",
|
||||||
|
" ExecStartPre=/usr/bin/mkdir -p /opt/bin\n",
|
||||||
|
" ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/setup-network-environment\n",
|
||||||
|
" ExecStartPre=/usr/bin/chmod +x /opt/bin/setup-network-environment\n",
|
||||||
|
" ExecStart=/opt/bin/setup-network-environment\n",
|
||||||
|
" RemainAfterExit=yes\n",
|
||||||
|
" Type=oneshot\n",
|
||||||
" - name: etcd.service\n",
|
" - name: etcd.service\n",
|
||||||
" command: start\n",
|
" command: start\n",
|
||||||
|
" content: |\n",
|
||||||
|
" [Unit]\n",
|
||||||
|
" Description=etcd\n",
|
||||||
|
" Requires=setup-network-environment.service\n",
|
||||||
|
" After=setup-network-environment.service\n\n",
|
||||||
|
" [Service]\n",
|
||||||
|
" EnvironmentFile=/etc/network-environment\n",
|
||||||
|
" User=etcd\n",
|
||||||
|
" PermissionsStartOnly=true\n",
|
||||||
|
" ExecStart=/usr/bin/etcd \\\n",
|
||||||
|
" --name $private_ipv4 \\\n",
|
||||||
|
" --addr $private_ipv4:4001 \\\n",
|
||||||
|
" --bind-addr 0.0.0.0 \\\n",
|
||||||
|
" --cluster-active-size 1 \\\n",
|
||||||
|
" --data-dir /var/lib/etcd \\\n",
|
||||||
|
" --http-read-timeout 86400 \\\n",
|
||||||
|
" --peer-addr $private_ipv4:7001 \\\n",
|
||||||
|
" --snapshot true\n",
|
||||||
|
" Restart=always\n",
|
||||||
|
" RestartSec=10s\n",
|
||||||
|
" - name: fleet.socket\n",
|
||||||
|
" command: start\n",
|
||||||
|
" content: |\n",
|
||||||
|
" [Socket]\n",
|
||||||
|
" ListenStream=/var/run/fleet.sock\n",
|
||||||
" - name: fleet.service\n",
|
" - name: fleet.service\n",
|
||||||
" command: start\n",
|
" command: start\n",
|
||||||
|
" content: |\n",
|
||||||
|
" [Unit]\n",
|
||||||
|
" Description=fleet daemon\n",
|
||||||
|
" Wants=etcd.service\n",
|
||||||
|
" After=etcd.service\n",
|
||||||
|
" Wants=fleet.socket\n",
|
||||||
|
" After=fleet.socket\n\n",
|
||||||
|
" [Service]\n",
|
||||||
|
" Environment=\"FLEET_ETCD_SERVERS=http://127.0.0.1:4001\"\n",
|
||||||
|
" Environment=\"FLEET_METADATA=role=master\"\n",
|
||||||
|
" ExecStart=/usr/bin/fleetd\n",
|
||||||
|
" Restart=always\n",
|
||||||
|
" RestartSec=10s\n",
|
||||||
|
" - name: etcd-waiter.service\n",
|
||||||
|
" command: start\n",
|
||||||
|
" content: |\n",
|
||||||
|
" [Unit]\n",
|
||||||
|
" Description=etcd waiter\n",
|
||||||
|
" Wants=network-online.target\n",
|
||||||
|
" Wants=etcd.service\n",
|
||||||
|
" After=etcd.service\n",
|
||||||
|
" After=network-online.target\n",
|
||||||
|
" Before=flannel.service\n",
|
||||||
|
" Before=setup-network-environment.service\n\n",
|
||||||
|
" [Service]\n",
|
||||||
|
" ExecStartPre=/usr/bin/chmod +x /opt/bin/waiter.sh\n",
|
||||||
|
" ExecStart=/usr/bin/bash /opt/bin/waiter.sh\n",
|
||||||
|
" RemainAfterExit=true\n",
|
||||||
|
" Type=oneshot\n",
|
||||||
" - name: flannel.service\n",
|
" - name: flannel.service\n",
|
||||||
" command: start\n",
|
" command: start\n",
|
||||||
" content: |\n",
|
" content: |\n",
|
||||||
" [Unit]\n",
|
" [Unit]\n",
|
||||||
|
" Requires=etcd-waiter.service\n",
|
||||||
|
" After=etcd-waiter.service\n",
|
||||||
" Requires=etcd.service\n",
|
" Requires=etcd.service\n",
|
||||||
" After=etcd.service\n",
|
" After=etcd.service\n",
|
||||||
" After=network-online.target\n",
|
" After=network-online.target\n",
|
||||||
@ -144,7 +211,7 @@
|
|||||||
" ExecStartPre=-/usr/bin/mkdir -p /opt/bin\n",
|
" ExecStartPre=-/usr/bin/mkdir -p /opt/bin\n",
|
||||||
" ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/flanneld\n",
|
" ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/flanneld\n",
|
||||||
" ExecStartPre=/usr/bin/chmod +x /opt/bin/flanneld\n",
|
" ExecStartPre=/usr/bin/chmod +x /opt/bin/flanneld\n",
|
||||||
" ExecStartPre=-/usr/bin/etcdctl mk /coreos.com/network/config '{\"Network\":\"10.0.0.0/16\"}'\n",
|
" ExecStartPre=-/usr/bin/etcdctl mk /coreos.com/network/config '{\"Network\":\"10.244.0.0/16\"}'\n",
|
||||||
" ExecStart=/opt/bin/flanneld\n",
|
" ExecStart=/opt/bin/flanneld\n",
|
||||||
" - name: kube-apiserver.service\n",
|
" - name: kube-apiserver.service\n",
|
||||||
" command: start\n",
|
" command: start\n",
|
||||||
@ -155,13 +222,14 @@
|
|||||||
" Requires=etcd.service\n",
|
" Requires=etcd.service\n",
|
||||||
" After=etcd.service\n\n",
|
" After=etcd.service\n\n",
|
||||||
" [Service]\n",
|
" [Service]\n",
|
||||||
" ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.5.4/bin/linux/amd64/kube-apiserver\n",
|
" ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.8.1/bin/linux/amd64/kube-apiserver\n",
|
||||||
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-apiserver\n",
|
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-apiserver\n",
|
||||||
" ExecStart=/opt/bin/kube-apiserver \\\n",
|
" ExecStart=/opt/bin/kube-apiserver \\\n",
|
||||||
" --address=0.0.0.0 \\\n",
|
" --address=0.0.0.0 \\\n",
|
||||||
" --port=8080 \\\n",
|
" --port=8080 \\\n",
|
||||||
" --portal_net 10.1.0.0/16 \\\n",
|
" --portal_net 10.244.0.0/16 \\\n",
|
||||||
" --etcd_servers=http://127.0.0.1:4001 \\\n",
|
" --etcd_servers=http://127.0.0.1:4001 \\\n",
|
||||||
|
" --public_address_override=$private_ipv4 \\\n",
|
||||||
" --logtostderr=true\n",
|
" --logtostderr=true\n",
|
||||||
" Restart=always\n",
|
" Restart=always\n",
|
||||||
" RestartSec=10\n",
|
" RestartSec=10\n",
|
||||||
@ -174,7 +242,7 @@
|
|||||||
" Requires=kube-apiserver.service\n",
|
" Requires=kube-apiserver.service\n",
|
||||||
" After=kube-apiserver.service\n\n",
|
" After=kube-apiserver.service\n\n",
|
||||||
" [Service]\n",
|
" [Service]\n",
|
||||||
" ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.5.4/bin/linux/amd64/kube-controller-manager\n",
|
" ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.8.1/bin/linux/amd64/kube-controller-manager\n",
|
||||||
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-controller-manager\n",
|
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-controller-manager\n",
|
||||||
" ExecStart=/opt/bin/kube-controller-manager \\\n",
|
" ExecStart=/opt/bin/kube-controller-manager \\\n",
|
||||||
" --master=127.0.0.1:8080 \\\n",
|
" --master=127.0.0.1:8080 \\\n",
|
||||||
@ -190,27 +258,11 @@
|
|||||||
" Requires=kube-apiserver.service\n",
|
" Requires=kube-apiserver.service\n",
|
||||||
" After=kube-apiserver.service\n\n",
|
" After=kube-apiserver.service\n\n",
|
||||||
" [Service]\n",
|
" [Service]\n",
|
||||||
" ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.5.4/bin/linux/amd64/kube-scheduler\n",
|
" ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.8.1/bin/linux/amd64/kube-scheduler\n",
|
||||||
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-scheduler\n",
|
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-scheduler\n",
|
||||||
" ExecStart=/opt/bin/kube-scheduler --master=127.0.0.1:8080\n",
|
" ExecStart=/opt/bin/kube-scheduler --master=127.0.0.1:8080\n",
|
||||||
" Restart=always\n",
|
" Restart=always\n",
|
||||||
" RestartSec=10\n",
|
" RestartSec=10\n",
|
||||||
" - name: kube-proxy.service\n",
|
|
||||||
" command: start\n",
|
|
||||||
" content: |\n",
|
|
||||||
" [Unit]\n",
|
|
||||||
" Description=Kubernetes Proxy\n",
|
|
||||||
" Documentation=https://github.com/GoogleCloudPlatform/kubernetes\n",
|
|
||||||
" Requires=etcd.service\n",
|
|
||||||
" After=etcd.service\n\n",
|
|
||||||
" [Service]\n",
|
|
||||||
" ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.5.4/bin/linux/amd64/kube-proxy\n",
|
|
||||||
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-proxy\n",
|
|
||||||
" ExecStart=/opt/bin/kube-proxy \\\n",
|
|
||||||
" --etcd_servers=http://127.0.0.1:4001 \\\n",
|
|
||||||
" --logtostderr=true\n",
|
|
||||||
" Restart=always\n",
|
|
||||||
" RestartSec=10\n",
|
|
||||||
" - name: kube-register.service\n",
|
" - name: kube-register.service\n",
|
||||||
" command: start\n",
|
" command: start\n",
|
||||||
" content: |\n",
|
" content: |\n",
|
||||||
@ -219,6 +271,8 @@
|
|||||||
" Documentation=https://github.com/kelseyhightower/kube-register\n",
|
" Documentation=https://github.com/kelseyhightower/kube-register\n",
|
||||||
" Requires=kube-apiserver.service\n",
|
" Requires=kube-apiserver.service\n",
|
||||||
" After=kube-apiserver.service\n\n",
|
" After=kube-apiserver.service\n\n",
|
||||||
|
" Requires=fleet.service\n",
|
||||||
|
" After=fleet.service\n\n",
|
||||||
" [Service]\n",
|
" [Service]\n",
|
||||||
" ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/kube-register\n",
|
" ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/kube-register\n",
|
||||||
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-register\n",
|
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-register\n",
|
||||||
@ -277,7 +331,7 @@
|
|||||||
" [Service]\n",
|
" [Service]\n",
|
||||||
" EnvironmentFile=/run/flannel/subnet.env\n",
|
" EnvironmentFile=/run/flannel/subnet.env\n",
|
||||||
" ExecStartPre=/bin/mount --make-rprivate /\n",
|
" ExecStartPre=/bin/mount --make-rprivate /\n",
|
||||||
" ExecStart=/usr/bin/docker -d --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU} -s=btrfs -H fd://\n\n",
|
" ExecStart=/usr/bin/docker -d --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU} -s=overlay -H fd://\n\n",
|
||||||
" [Install]\n",
|
" [Install]\n",
|
||||||
" WantedBy=multi-user.target\n",
|
" WantedBy=multi-user.target\n",
|
||||||
" - name: setup-network-environment.service\n",
|
" - name: setup-network-environment.service\n",
|
||||||
@ -305,7 +359,7 @@
|
|||||||
" After=setup-network-environment.service\n\n",
|
" After=setup-network-environment.service\n\n",
|
||||||
" [Service]\n",
|
" [Service]\n",
|
||||||
" EnvironmentFile=/etc/network-environment\n",
|
" EnvironmentFile=/etc/network-environment\n",
|
||||||
" ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.5.4/bin/linux/amd64/kubelet\n",
|
" ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.8.1/bin/linux/amd64/kubelet\n",
|
||||||
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kubelet\n",
|
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kubelet\n",
|
||||||
" ExecStart=/opt/bin/kubelet \\\n",
|
" ExecStart=/opt/bin/kubelet \\\n",
|
||||||
" --address=0.0.0.0 \\\n",
|
" --address=0.0.0.0 \\\n",
|
||||||
@ -324,7 +378,7 @@
|
|||||||
" Requires=setup-network-environment.service\n",
|
" Requires=setup-network-environment.service\n",
|
||||||
" After=setup-network-environment.service\n\n",
|
" After=setup-network-environment.service\n\n",
|
||||||
" [Service]\n",
|
" [Service]\n",
|
||||||
" ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.5.4/bin/linux/amd64/kube-proxy\n",
|
" ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.8.1/bin/linux/amd64/kube-proxy\n",
|
||||||
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-proxy\n",
|
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-proxy\n",
|
||||||
" ExecStart=/opt/bin/kube-proxy \\\n",
|
" ExecStart=/opt/bin/kube-proxy \\\n",
|
||||||
" --etcd_servers=http://", {"Fn::GetAtt" :["KubernetesMasterInstance" , "PrivateIp"]}, ":4001\\\n",
|
" --etcd_servers=http://", {"Fn::GetAtt" :["KubernetesMasterInstance" , "PrivateIp"]}, ":4001\\\n",
|
||||||
|
Loading…
Reference in New Issue
Block a user