Last active
March 5, 2017 13:21
-
-
Save rochacon/7b1acc5b3e9dc20594bc to your computer and use it in GitHub Desktop.
Kubernetes single node cloud-config for CoreOS.
This file contains hidden or 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 | |
--- | |
hostname: master | |
coreos: | |
units: | |
- name: docker.service | |
command: start | |
enable: true | |
drop-ins: | |
- name: 51-docker-mirror.conf | |
content: | | |
[Unit] | |
Requires=docker-registry.service | |
After=docker-registry.service | |
[Service] | |
Environment=DOCKER_OPTS='--registry-mirror=http://$private_ipv4:5000' | |
- name: docker-registry.service | |
command: start | |
enable: true | |
content: | | |
[Unit] | |
Description=Docker registry proxy | |
Requires=early-docker.service | |
After=early-docker.service | |
Before=early-docker.target | |
[Service] | |
Restart=always | |
TimeoutStartSec=0 | |
RestartSec=5 | |
Environment="TMPDIR=/var/tmp/" | |
Environment="DOCKER_HOST=unix:///var/run/early-docker.sock" | |
ExecStartPre=-/usr/bin/docker kill docker-registry | |
ExecStartPre=-/usr/bin/docker rm docker-registry | |
ExecStartPre=/usr/bin/docker pull registry:2 | |
ExecStart=/usr/bin/docker run --rm --net host --name docker-registry \ | |
-e MIRROR_SOURCE=https://registry-1.docker.io \ | |
-e MIRROR_SOURCE_INDEX=https://index.docker.io \ | |
-e MIRROR_TAGS_CACHE_TTL=1800 \ | |
registry:2 | |
ExecStop=/usr/bin/docker stop docker-registry | |
- name: kube-etcd2.service | |
command: start | |
enable: true | |
content: | | |
[Unit] | |
Description=Kubernetes etcd2 | |
Documentation=https://github.com/coreos/etcd | |
Requires=docker.service | |
After=docker.service | |
[Service] | |
ExecStartPre=-/usr/bin/docker kill k8s-etcd2 | |
ExecStartPre=-/usr/bin/docker rm k8s-etcd2 | |
ExecStartPre=/usr/bin/docker pull gcr.io/google_containers/etcd:2.0.12 | |
ExecStart=/usr/bin/docker run --name k8s-etcd2 --net=host gcr.io/google_containers/etcd:2.0.12 /usr/local/bin/etcd --addr=127.0.0.1:4001 --bind-addr=0.0.0.0:4001 --data-dir=/var/etcd/data | |
ExecStop=/usr/bin/docker stop k8s-etcd2 | |
Restart=always | |
RestartSec=10 | |
- name: kube-apiserver.service | |
command: start | |
enable: true | |
content: | | |
[Unit] | |
Description=Kubernetes API Server | |
Documentation=https://github.com/GoogleCloudPlatform/kubernetes | |
Requires=docker.service kube-etcd2.service | |
After=docker.service kube-etcd2.service | |
[Service] | |
ExecStartPre=-/usr/bin/docker kill k8s-master | |
ExecStartPre=-/usr/bin/docker rm k8s-master | |
ExecStartPre=/usr/bin/docker pull gcr.io/google_containers/hyperkube:v1.0.1 | |
ExecStart=/usr/bin/docker run --name k8s-master --net=host -v /var/run/docker.sock:/var/run/docker.sock gcr.io/google_containers/hyperkube:v1.0.1 /hyperkube kubelet --api_servers=http://localhost:8080 --v=2 --address=0.0.0.0 --enable_server --hostname_override=127.0.0.1 --config=/etc/kubernetes/manifests | |
ExecStop=/usr/bin/docker stop k8s-master | |
Restart=always | |
RestartSec=10 | |
- name: kube-proxy.service | |
command: start | |
enable: true | |
content: | | |
[Unit] | |
Description=Kubernetes Proxy | |
Documentation=https://github.com/GoogleCloudPlatform/kubernetes | |
Requires=docker.service kube-apiserver.service | |
After=docker.service kube-apiserver.service | |
[Service] | |
ExecStartPre=-/usr/bin/docker kill k8s-proxy | |
ExecStartPre=-/usr/bin/docker rm k8s-proxy | |
ExecStartPre=/usr/bin/docker pull gcr.io/google_containers/hyperkube:v1.0.1 | |
ExecStart=/usr/bin/docker run --name k8s-proxy --net=host --privileged gcr.io/google_containers/hyperkube:v1.0.1 /hyperkube proxy --master=http://127.0.0.1:8080 --v=2 | |
ExecStop=/usr/bin/docker stop k8s-proxy | |
- name: kubectl-download.service | |
command: start | |
content: | | |
[Unit] | |
Description=Download Kubernetes kubectl | |
Documentation=https://github.com/GoogleCloudPlatform/kubernetes | |
ConditionPathExists=!/opt/bin/kubectl | |
[Service] | |
Type=oneshot | |
ExecStart=/usr/bin/wget -N -P /opt/bin https://storage.googleapis.com/kubernetes-release/release/v1.0.1/bin/linux/amd64/kubectl | |
ExecStartPost=/usr/bin/chmod +x /opt/bin/kubectl |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment