Created
April 10, 2015 00:35
-
-
Save wkharold/a41a910a513e7bb263e0 to your computer and use it in GitHub Desktop.
GCE/CoreOS cloud-configs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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: | |
fleet: | |
public-ip: $public_ipv4 | |
etcd_servers: http://localhost:4001 | |
metadata: "role=master" | |
flannel: | |
interface: ens4v1 | |
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 | |
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 $private_ipv4\ | |
--addr $private_ipv4:4001 \ | |
--bind-addr 0.0.0.0 \ | |
--cluster-active-size 1 \ | |
--data-dir /var/lib/etcd \ | |
--http-read-timeout 86400 \ | |
--peer-addr $private_ipv4:7001 \ | |
--snapshot true | |
Restart=always | |
RestartSec=10s | |
- name: fleet.socket | |
command: start | |
content: | | |
[Socket] | |
ListenStream=/var/run/fleet.sock | |
- name: fleet.service | |
command: start | |
content: | | |
[Unit] | |
Description=fleet daemon | |
Wants=etcd.service | |
After=etcd.service | |
Wants=fleet.socket | |
After=fleet.socket | |
[Service] | |
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 | |
[Service] | |
ExecStartPre=/usr/bin/chmod +x /opt/bin/waiter.sh | |
ExecStart=/usr/bin/bash /opt/bin/waiter.sh | |
RemainAfterExit=true | |
Type=oneshot | |
- name: docker-cache.service | |
command: start | |
content: | | |
[Unit] | |
Description=Docker cache proxy | |
Wants=network-online.target | |
Wants=docker.service | |
After=docker.service | |
After=docker-online.target | |
[Service] | |
ExecStartPre=-/usr/bin/docker kill docker-registry | |
ExecStartPre=-/usr/bin/docker rm docker-registry | |
# GUNICORN_OPTS is an workaround for | |
# https://github.com/docker/docker-registry/issues/892 | |
ExecStart=/usr/bin/docker run -d --restart always --net host --name docker-registry \ | |
-e STANDALONE=false \ | |
-e GUNICORN_OPTS=[--preload] \ | |
-e MIRROR_SOURCE=https://registry-1.docker.io \ | |
-e MIRROR_SOURCE_INDEX=https://index.docker.io \ | |
-e MIRROR_TAGS_CACHE_TTL=1800 \ | |
quay.io/devops/docker-registry:latest | |
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 --iface=ens4v1 | |
- 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 | |
Requires=fleet.service | |
After=fleet.service | |
After=docker.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.14.1/bin/linux/amd64/kube-apiserver | |
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-apiserver | |
ExecStart=/opt/bin/kube-apiserver \ | |
--allow_privileged=true \ | |
--address=0.0.0.0 \ | |
--port=8080 \ | |
--portal_net=10.100.0.0/16 \ | |
--etcd_servers=http://127.0.0.1:4001 \ | |
--public_address_override=$private_ipv4 \ | |
--logtostderr=true \ | |
--runtime_config=api/v1beta3 | |
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 | |
--etcd_servers=http://127.0.0.1:4001 \ | |
--public_address_override=$private_ipv4 \ | |
--logtostderr=true \ | |
--runtime_config=api/v1beta3 | |
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.14.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 \ | |
--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.14.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 | |
RestartSec=10 | |
- name: kube-register.service | |
command: start | |
content: | | |
[Unit] | |
Description=Kubernetes Registration Service | |
Documentation=https://github.com/kelseyhightower/kube-register | |
Requires=kube-apiserver.service | |
After=kube-apiserver.service | |
[Service] | |
ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/k8s/kube-register | |
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-register | |
ExecStart=/opt/bin/kube-register \ | |
--metadata=role=minion \ | |
--fleet-endpoint=unix:///var/run/fleet.sock \ | |
--api-endpoint=http://127.0.0.1:8080 | |
Restart=always | |
RestartSec=10 | |
- name: rpc-statd.service | |
command: start | |
enable: true | |
update: | |
group: alpha | |
reboot-strategy: off |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#cloud-config | |
--- | |
write-files: | |
- path: /etc/conf.d/nfs | |
permissions: '0644' | |
content: | | |
OPTS_RPC_MOUNTD="" | |
- path: /opt/bin/etcd-waiter.sh | |
owner: root | |
content: | | |
#! /usr/bin/bash | |
until curl http://10.240.251.135:4001/v2/machines; do sleep 2; done | |
- path: /opt/bin/docker-cache-waiter.sh | |
owner: root | |
content: | | |
#! /usr/bin/bash | |
until curl http://10.240.251.135:5000; do sleep 2; done | |
- path: /opt/bin/kube-apiserver-waiter.sh | |
owner: root | |
content: | | |
#! /usr/bin/bash | |
until curl http://10.240.251.135:8080; do sleep 2; done | |
- path: /etc/profile.d/etcdctl.sh | |
permissions: 0644 | |
owner: core | |
content: | | |
# configure etcdctl to work with our etcd servers set above | |
export ETCDCTL_PEERS="http://10.240.251.135:4001" | |
- path: /etc/profile.d/fleetctl.sh | |
permissions: 0644 | |
owner: core | |
content: | | |
# configure fleetctl to work with our etcd servers set above | |
export FLEETCTL_ENDPOINT=unix:///var/run/fleet.sock | |
export FLEETCTL_EXPERIMENTAL_API=true | |
coreos: | |
fleet: | |
public-ip: $private_ipv4 | |
etcd_servers: http://10.240.251.135:4001 | |
metadata: "role=minion" | |
flannel: | |
interface: ens4v1 | |
units: | |
- name: etcd.service | |
mask: true | |
- name: etcd-waiter.service | |
command: start | |
content: | | |
[Unit] | |
Description=etcd waiter | |
Wants=network-online.target | |
After=network-online.target | |
[Service] | |
ExecStartPre=/usr/bin/chmod +x /opt/bin/etcd-waiter.sh | |
ExecStart=/usr/bin/bash /opt/bin/etcd-waiter.sh | |
RemainAfterExit=true | |
Type=oneshot | |
- name: docker-cache-waiter.service | |
command: start | |
content: | | |
[Unit] | |
Description=docker cache waiter | |
Wants=network-online.target | |
After=network-online.target | |
[Service] | |
ExecStartPre=/usr/bin/chmod +x /opt/bin/docker-cache-waiter.sh | |
ExecStart=/usr/bin/bash /opt/bin/docker-cache-waiter.sh | |
RemainAfterExit=true | |
Type=oneshot | |
- name: kube-apiserver-waiter.service | |
command: start | |
content: | | |
[Unit] | |
Description=Kubernetes API Server waiter | |
Wants=network-online.target | |
After=network-online.target | |
[Service] | |
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-apiserver-waiter.sh | |
ExecStart=/usr/bin/bash /opt/bin/kube-apiserver-waiter.sh | |
RemainAfterExit=true | |
Type=oneshot | |
- name: fleet.service | |
command: start | |
content: | | |
[Unit] | |
Description=fleet daemon | |
Wants=fleet.socket | |
After=fleet.socket | |
Wants=etcd-waiter.service | |
After=etcd-waiter.service | |
[Service] | |
ExecStart=/usr/bin/fleetd | |
Restart=always | |
RestartSec=10s | |
- 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: flannel.service | |
command: start | |
content: | | |
[Unit] | |
Requires=setup-network-environment.service | |
After=setup-network-environment.service | |
Wants=etcd-waiter.service | |
After=etcd-waiter.service | |
[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 | |
ExecStart=/opt/bin/flanneld --iface=ens4v1 --etcd-endpoints http://10.240.251.135:4001 | |
- name: docker.service | |
command: start | |
content: | | |
[Unit] | |
After=flannel.service | |
Wants=flannel.service | |
Requires=docker-cache-waiter.service | |
After=docker-cache-waiter.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 --registry-mirror=http://10.240.251.135:5000 -d --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU} -s=overlay -H fd:// | |
[Install] | |
WantedBy=multi-user.target | |
- name: kube-proxy.service | |
command: start | |
content: | | |
[Unit] | |
Description=Kubernetes Proxy | |
Documentation=https://github.com/GoogleCloudPlatform/kubernetes | |
Requires=kube-apiserver-waiter.service | |
After=kube-apiserver-waiter.service | |
[Service] | |
ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.14.1/bin/linux/amd64/kube-proxy | |
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-proxy | |
ExecStart=/opt/bin/kube-proxy \ | |
--master=10.240.251.135:8080 \ | |
--logtostderr=true | |
Restart=always | |
RestartSec=10 | |
- name: kube-kubelet.service | |
command: start | |
content: | | |
[Unit] | |
Description=Kubernetes Kubelet | |
Documentation=https://github.com/GoogleCloudPlatform/kubernetes | |
Requires=kube-apiserver-waiter.service | |
After=kube-apiserver-waiter.service | |
[Service] | |
EnvironmentFile=/etc/network-environment | |
ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.14.1/bin/linux/amd64/kubelet | |
ExecStartPre=/usr/bin/chmod +x /opt/bin/kubelet | |
ExecStart=/opt/bin/kubelet \ | |
--address=0.0.0.0 \ | |
--port=10250 \ | |
--api_servers=10.240.251.135:8080 \ | |
--allow_privileged=true \ | |
--cadvisor_port=4194 \ | |
--logtostderr=true | |
--v=0 | |
content: | | |
[Unit] | |
After=flannel.service | |
Wants=flannel.service | |
Requires=docker-cache-waiter.service | |
After=docker-cache-waiter.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 --registry-mirror=http://10.240.251.135:5000 -d --bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU} -s=overlay -H fd:// | |
[Install] | |
WantedBy=multi-user.target | |
- name: kube-proxy.service | |
command: start | |
content: | | |
[Unit] | |
Description=Kubernetes Proxy | |
Documentation=https://github.com/GoogleCloudPlatform/kubernetes | |
Requires=kube-apiserver-waiter.service | |
After=kube-apiserver-waiter.service | |
[Service] | |
ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.14.1/bin/linux/amd64/kube-proxy | |
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-proxy | |
ExecStart=/opt/bin/kube-proxy \ | |
--master=10.240.251.135:8080 \ | |
--logtostderr=true | |
Restart=always | |
RestartSec=10 | |
- name: kube-kubelet.service | |
command: start | |
content: | | |
[Unit] | |
Description=Kubernetes Kubelet | |
Documentation=https://github.com/GoogleCloudPlatform/kubernetes | |
Requires=kube-apiserver-waiter.service | |
After=kube-apiserver-waiter.service | |
[Service] | |
EnvironmentFile=/etc/network-environment | |
ExecStartPre=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v0.14.1/bin/linux/amd64/kubelet | |
ExecStartPre=/usr/bin/chmod +x /opt/bin/kubelet | |
ExecStart=/opt/bin/kubelet \ | |
--address=0.0.0.0 \ | |
--port=10250 \ | |
--api_servers=10.240.251.135:8080 \ | |
--allow_privileged=true \ | |
--cadvisor_port=4194 \ | |
--logtostderr=true | |
--v=0 | |
Restart=always | |
RestartSec=10 | |
- name: rpc-statd.service | |
command: start | |
enable: true | |
update: | |
group: alpha | |
reboot-strategy: off | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment