2015-02-17 21:20:07 +00:00
|
|
|
#cloud-config
|
|
|
|
|
|
|
|
coreos:
|
|
|
|
units:
|
|
|
|
- name: kube-apiserver.service
|
|
|
|
command: start
|
|
|
|
content: |
|
|
|
|
[Unit]
|
2015-04-23 16:22:00 +00:00
|
|
|
After=opt-kubernetes.mount etcd2.service
|
2015-02-17 21:20:07 +00:00
|
|
|
ConditionFileIsExecutable=/opt/kubernetes/bin/kube-apiserver
|
|
|
|
Description=Kubernetes API Server
|
2015-12-11 20:27:24 +00:00
|
|
|
Documentation=https://github.com/kubernetes/kubernetes
|
2015-04-23 16:22:00 +00:00
|
|
|
Requires=opt-kubernetes.mount etcd2.service
|
2015-02-17 21:20:07 +00:00
|
|
|
|
|
|
|
[Service]
|
|
|
|
ExecStart=/opt/kubernetes/bin/kube-apiserver \
|
2015-11-26 21:16:07 +00:00
|
|
|
--service-account-key-file=/opt/kubernetes/certs/kube-serviceaccount.key \
|
|
|
|
--service-account-lookup=${SERVICE_ACCOUNT_LOOKUP} \
|
|
|
|
--admission-control=${ADMISSION_CONTROL} \
|
2015-09-24 09:00:22 +00:00
|
|
|
--insecure-bind-address=0.0.0.0 \
|
|
|
|
--insecure-port=8080 \
|
2015-04-23 16:22:00 +00:00
|
|
|
--etcd-servers=http://127.0.0.1:2379 \
|
2015-07-04 23:19:37 +00:00
|
|
|
--kubelet-port=10250 \
|
2015-05-24 05:17:55 +00:00
|
|
|
--service-cluster-ip-range=${SERVICE_CLUSTER_IP_RANGE}
|
2015-02-17 21:20:07 +00:00
|
|
|
Restart=always
|
|
|
|
RestartSec=2
|
|
|
|
|
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|
|
|
|
- name: kube-controller-manager.service
|
|
|
|
command: start
|
|
|
|
content: |
|
|
|
|
[Unit]
|
|
|
|
After=opt-kubernetes.mount kube-apiserver.service
|
|
|
|
ConditionFileIsExecutable=/opt/kubernetes/bin/kube-controller-manager
|
|
|
|
Description=Kubernetes Controller Manager
|
2015-12-11 20:27:24 +00:00
|
|
|
Documentation=https://github.com/kubernetes/kubernetes
|
2015-02-17 21:20:07 +00:00
|
|
|
Requires=opt-kubernetes.mount kube-apiserver.service
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
ExecStart=/opt/kubernetes/bin/kube-controller-manager \
|
2015-11-26 21:16:07 +00:00
|
|
|
--master=127.0.0.1:8080 \
|
|
|
|
--service-account-private-key-file=/opt/kubernetes/certs/kube-serviceaccount.key \
|
2015-02-17 21:20:07 +00:00
|
|
|
Restart=always
|
|
|
|
RestartSec=2
|
|
|
|
|
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|
|
|
|
- name: kube-scheduler.service
|
|
|
|
command: start
|
|
|
|
content: |
|
|
|
|
[Unit]
|
|
|
|
After=opt-kubernetes.mount kube-apiserver.service
|
|
|
|
ConditionFileIsExecutable=/opt/kubernetes/bin/kube-scheduler
|
|
|
|
Description=Kubernetes Scheduler
|
2015-12-11 20:27:24 +00:00
|
|
|
Documentation=https://github.com/kubernetes/kubernetes
|
2015-02-17 21:20:07 +00:00
|
|
|
Requires=opt-kubernetes.mount kube-apiserver.service
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
ExecStart=/opt/kubernetes/bin/kube-scheduler \
|
|
|
|
--master=127.0.0.1:8080
|
|
|
|
Restart=always
|
|
|
|
RestartSec=2
|
|
|
|
|
2015-02-28 06:55:44 +00:00
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|
|
|
|
- name: kube-addons.service
|
|
|
|
command: start
|
|
|
|
content: |
|
|
|
|
[Unit]
|
|
|
|
After=opt-kubernetes.mount kube-apiserver.service
|
|
|
|
ConditionPathIsDirectory=/opt/kubernetes/addons
|
|
|
|
Description=Kubernetes addons
|
2015-12-11 20:27:24 +00:00
|
|
|
Documentation=https://github.com/kubernetes/kubernetes
|
2015-03-18 14:31:11 +00:00
|
|
|
Requires=opt-kubernetes.mount
|
|
|
|
Wants=kube-apiserver.service
|
2015-02-28 06:55:44 +00:00
|
|
|
|
|
|
|
[Service]
|
|
|
|
Type=oneshot
|
|
|
|
ExecStartPre=/bin/bash -c 'while [[ \"\$(curl -s http://127.0.0.1:8080/healthz)\" != \"ok\" ]]; do sleep 1; done'
|
|
|
|
ExecStartPre=/bin/sleep 10
|
|
|
|
ExecStart=/opt/kubernetes/bin/kubectl create -f /opt/kubernetes/addons
|
2015-10-30 06:12:20 +00:00
|
|
|
ExecStop=/opt/kubernetes/bin/kubectl delete -f /opt/kubernetes/addons
|
2015-02-28 06:55:44 +00:00
|
|
|
RemainAfterExit=yes
|
|
|
|
|
2015-02-17 21:20:07 +00:00
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|