Updated master section in AWS Cloudformation template. Refs #3543

This commit is contained in:
Paulo Pires 2015-01-16 11:29:21 +00:00
parent 20eb0b2bf3
commit 1571dd69f2

View File

@ -113,121 +113,177 @@
"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", " fleet:\n",
" etcd_servers: http://127.0.0.1:4001\n", " public-ip: $public_ipv4\n",
" metadata: role=master\n", units:\n",
" etcd:\n", - name: setup-network-environment.service\n",
" name: etcd\n", command: start\n",
" addr: $private_ipv4:4001\n", content: |\n",
" bind-addr: 0.0.0.0\n", [Unit]\n",
" peer-addr: $private_ipv4:7001\n", Description=Setup Network Environment\n",
" cluster-active-size: 1\n", Documentation=https://github.com/kelseyhightower/setup-network-environment\n",
" etcd-http-read-timeout: 86400\n", Requires=network-online.target\n",
" snapshot: true\n", After=network-online.target\n\n,
" units:\n", [Service]\n,
" - name: etcd.service\n", ExecStartPre=/usr/bin/mkdir -p /opt/bin\n,
" command: start\n", ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/setup-network-environment\n,
" - name: fleet.service\n", ExecStartPre=/usr/bin/chmod +x /opt/bin/setup-network-environment\n,
" command: start\n", ExecStart=/opt/bin/setup-network-environment\n,
" - name: flannel.service\n", RemainAfterExit=yes\n,
" command: start\n", Type=oneshot\n,
" content: |\n", " - name: etcd.service\n",
" [Unit]\n", " command: start\n",
" Requires=etcd.service\n", content: |\n",
" After=etcd.service\n", [Unit]\n",
" After=network-online.target\n", Description=etcd\n",
" Wants=network-online.target\n", Requires=setup-network-environment.service\n",
" Description=flannel is an etcd backed overlay network for containers\n\n", After=setup-network-environment.service\n\n,
" [Service]\n", [Service]
" Type=notify\n", EnvironmentFile=/etc/network-environment\n",
" ExecStartPre=-/usr/bin/mkdir -p /opt/bin\n", User=etcd\n",
" ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/flanneld\n", PermissionsStartOnly=true\n",
" ExecStartPre=/usr/bin/chmod +x /opt/bin/flanneld\n", ExecStart=/usr/bin/etcd \\\n,
" ExecStartPre=-/usr/bin/etcdctl mk /coreos.com/network/config '{\"Network\":\"10.0.0.0/16\"}'\n", --name $public_ipv4 \\\n",
" ExecStart=/opt/bin/flanneld\n", --addr $public_ipv4:4001 \\\n",
" - name: kube-apiserver.service\n", --bind-addr 0.0.0.0 \\\n",
" command: start\n", --cluster-active-size 1 \\\n",
" content: |\n", --data-dir /var/lib/etcd \\\n",
" [Unit]\n", --http-read-timeout 86400 \\\n",
" Description=Kubernetes API Server\n", --peer-addr $public_ipv4:7001 \\\n,
" Documentation=https://github.com/GoogleCloudPlatform/kubernetes\n", --snapshot true\n",
" Requires=etcd.service\n", Restart=always\n",
" After=etcd.service\n\n", RestartSec=10s\n",
" [Service]\n", - name: fleet.socket\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", command: start\n",
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-apiserver\n", content: |\n",
" ExecStart=/opt/bin/kube-apiserver \\\n", [Socket]\n",
" --address=0.0.0.0 \\\n", ListenStream=/var/run/fleet.sock\n",
" --port=8080 \\\n", " - name: fleet.service\n",
" --portal_net 10.1.0.0/16 \\\n", " command: start\n",
" --etcd_servers=http://127.0.0.1:4001 \\\n", content: |\n",
" --logtostderr=true\n", [Unit]\n",
" Restart=always\n", Description=fleet daemon\n",
" RestartSec=10\n", Wants=etcd.service\n",
" - name: kube-controller-manager.service\n", After=etcd.service\n",
" command: start\n", Wants=fleet.socket\n",
" content: |\n", After=fleet.socket\n\n,
" [Unit]\n", [Service]\n,
" Description=Kubernetes Controller Manager\n", Environment=\FLEET_ETCD_SERVERS=http://127.0.0.1:4001\\n,
" Documentation=https://github.com/GoogleCloudPlatform/kubernetes\n", Environment=\FLEET_METADATA=role=master\\n,
" Requires=kube-apiserver.service\n", ExecStart=/usr/bin/fleetd\n,
" After=kube-apiserver.service\n\n", Restart=always\n,
" [Service]\n", RestartSec=10s\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", - name: etcd-waiter.service\n,
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-controller-manager\n", command: start\n,
" ExecStart=/opt/bin/kube-controller-manager \\\n", content: |\n,
" --master=127.0.0.1:8080 \\\n", [Unit]\n,
" --logtostderr=true\n", Description=etcd waiter\n,
" Restart=always\n", Wants=network-online.target\n,
" RestartSec=10\n", Wants=etcd.service\n,
" - name: kube-scheduler.service\n", After=etcd.service\n,
" command: start\n", After=network-online.target\n,
" content: |\n", Before=flannel.service\n,
" [Unit]\n", Before=setup-network-environment.service\n\n,
" Description=Kubernetes Scheduler\n", [Service]\n,
" Documentation=https://github.com/GoogleCloudPlatform/kubernetes\n", ExecStartPre=/usr/bin/chmod +x /opt/bin/waiter.sh\n,
" Requires=kube-apiserver.service\n", ExecStart=/usr/bin/bash /opt/bin/waiter.sh\n,
" After=kube-apiserver.service\n\n", RemainAfterExit=true\n,
" [Service]\n", Type=oneshot\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", " - name: flannel.service\n",
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-scheduler\n", " command: start\n",
" ExecStart=/opt/bin/kube-scheduler --master=127.0.0.1:8080\n", " content: |\n",
" Restart=always\n", " [Unit]\n",
" RestartSec=10\n", " Requires=etcd-waiter.service\n",
" - name: kube-proxy.service\n", " After=etcd-waiter.service\n",
" command: start\n", " Requires=etcd.service\n",
" content: |\n", " After=etcd.service\n",
" [Unit]\n", " After=network-online.target\n",
" Description=Kubernetes Proxy\n", " Wants=network-online.target\n",
" Documentation=https://github.com/GoogleCloudPlatform/kubernetes\n", " Description=flannel is an etcd backed overlay network for containers\n\n",
" Requires=etcd.service\n", " [Service]\n",
" After=etcd.service\n\n", " Type=notify\n",
" [Service]\n", " ExecStartPre=-/usr/bin/mkdir -p /opt/bin\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/k8s/flanneld\n",
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-proxy\n", " ExecStartPre=/usr/bin/chmod +x /opt/bin/flanneld\n",
" ExecStart=/opt/bin/kube-proxy \\\n", " ExecStartPre=-/usr/bin/etcdctl mk /coreos.com/network/config '{\"Network\":\"10.244.0.0/16\"}'\n",
" --etcd_servers=http://127.0.0.1:4001 \\\n", " ExecStart=/opt/bin/flanneld\n",
" --logtostderr=true\n", " - name: kube-apiserver.service\n",
" Restart=always\n", " command: start\n",
" RestartSec=10\n", " content: |\n",
" - name: kube-register.service\n", " [Unit]\n",
" command: start\n", " Description=Kubernetes API Server\n",
" content: |\n", " Documentation=https://github.com/GoogleCloudPlatform/kubernetes\n",
" [Unit]\n", " Requires=etcd.service\n",
" Description=Kubernetes Registration Service\n", " After=etcd.service\n\n",
" Documentation=https://github.com/kelseyhightower/kube-register\n", " [Service]\n",
" Requires=kube-apiserver.service\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",
" After=kube-apiserver.service\n\n", " ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-apiserver\n",
" [Service]\n", " ExecStart=/opt/bin/kube-apiserver \\\n",
" ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/kube-register\n", " --address=0.0.0.0 \\\n",
" ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-register\n", " --port=8080 \\\n",
" ExecStart=/opt/bin/kube-register \\\n", " --portal_net 10.244.0.0/16 \\\n",
" --metadata=role=knode \\\n", " --etcd_servers=http://127.0.0.1:4001 \\\n",
" --fleet-endpoint=unix:///var/run/fleet.sock \\\n", --public_address_override=$private_ipv4 \\\n",
" --api-endpoint=http://127.0.0.1:8080\n", " --logtostderr=true\n",
" Restart=always\n", " Restart=always\n",
" RestartSec=10\n", " RestartSec=10\n",
" - name: kube-controller-manager.service\n",
" command: start\n",
" content: |\n",
" [Unit]\n",
" Description=Kubernetes Controller Manager\n",
" Documentation=https://github.com/GoogleCloudPlatform/kubernetes\n",
" Requires=kube-apiserver.service\n",
" After=kube-apiserver.service\n\n",
" [Service]\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",
" ExecStart=/opt/bin/kube-controller-manager \\\n",
" --master=127.0.0.1:8080 \\\n",
" --logtostderr=true\n",
" Restart=always\n",
" RestartSec=10\n",
" - name: kube-scheduler.service\n",
" command: start\n",
" content: |\n",
" [Unit]\n",
" Description=Kubernetes Scheduler\n",
" Documentation=https://github.com/GoogleCloudPlatform/kubernetes\n",
" Requires=kube-apiserver.service\n",
" After=kube-apiserver.service\n\n",
" [Service]\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",
" ExecStart=/opt/bin/kube-scheduler --master=127.0.0.1:8080\n",
" Restart=always\n",
" RestartSec=10\n",
" - name: kube-register.service\n",
" command: start\n",
" content: |\n",
" [Unit]\n",
" Description=Kubernetes Registration Service\n",
" Documentation=https://github.com/kelseyhightower/kube-register\n",
" Requires=kube-apiserver.service\n",
" After=kube-apiserver.service\n\n",
" Requires=fleet.service\n",
" After=fleet.service\n\n",
" [Service]\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",
" ExecStart=/opt/bin/kube-register \\\n",
" --metadata=role=knode \\\n",
" --fleet-endpoint=unix:///var/run/fleet.sock \\\n",
" --api-endpoint=http://127.0.0.1:8080\n",
" Restart=always\n",
" RestartSec=10\n",
" update:\n", " update:\n",
" group: alpha\n", " group: alpha\n",
" reboot-strategy: off\n" " reboot-strategy: off\n"