163 lines
5.5 KiB
YAML
163 lines
5.5 KiB
YAML
#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:
|
|
- name: etcd.service
|
|
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
|
|
|
|
[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
|
|
Wants=network-online.target
|
|
Description=flannel is an etcd backed overlay network for containers
|
|
|
|
[Service]
|
|
Type=notify
|
|
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"}}'
|
|
ExecStart=/opt/bin/flanneld
|
|
- name: docker.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
After=flannel.service
|
|
Wants=flannel.service
|
|
Description=Docker Application Container Engine
|
|
Documentation=http://docs.docker.io
|
|
|
|
[Service]
|
|
EnvironmentFile=/run/flannel/subnet.env
|
|
ExecStartPre=/bin/mount --make-rprivate /
|
|
ExecStart=/usr/bin/docker -d --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU} -s=overlay -H fd://
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
- name: kube-apiserver.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
Description=Kubernetes API Server
|
|
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
|
Requires=etcd.service
|
|
After=etcd.service
|
|
|
|
[Service]
|
|
ExecStartPre=-/usr/bin/mkdir -p /opt/bin
|
|
ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/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.100.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
|
|
- name: kube-controller-manager.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
Description=Kubernetes Controller Manager
|
|
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
|
Requires=kube-apiserver.service
|
|
After=kube-apiserver.service
|
|
|
|
[Service]
|
|
ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/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 \
|
|
--master=127.0.0.1:8080 \
|
|
--logtostderr=true
|
|
Restart=always
|
|
RestartSec=10
|
|
- name: kube-scheduler.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
Description=Kubernetes Scheduler
|
|
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
|
Requires=kube-apiserver.service
|
|
After=kube-apiserver.service
|
|
|
|
[Service]
|
|
ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/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
|
|
RestartSec=10
|
|
- name: kube-proxy.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
Description=Kubernetes Proxy
|
|
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
|
Requires=etcd.service
|
|
After=etcd.service
|
|
|
|
[Service]
|
|
ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/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 \
|
|
--logtostderr=true
|
|
Restart=always
|
|
RestartSec=10
|
|
- name: kube-kubelet.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
Description=Kubernetes Kubelet
|
|
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
|
|
Requires=etcd.service
|
|
After=etcd.service
|
|
|
|
[Service]
|
|
ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.11.0/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=127.0.0.1 \
|
|
--api_servers=127.0.0.1:8080 \
|
|
--logtostderr=true
|
|
Restart=always
|
|
RestartSec=10
|
|
update:
|
|
group: alpha
|
|
reboot-strategy: off
|