94 lines
3.4 KiB
YAML
94 lines
3.4 KiB
YAML
#cloud-config
|
|
write-files:
|
|
- path: /opt/bin/wupiao
|
|
permissions: '0755'
|
|
content: |
|
|
#!/bin/bash
|
|
# [w]ait [u]ntil [p]ort [i]s [a]ctually [o]pen
|
|
[ -n "$1" ] && [ -n "$2" ] && while ! curl --output /dev/null \
|
|
--silent --head --fail \
|
|
http://${1}:${2}; do sleep 1 && echo -n .; done;
|
|
exit $?
|
|
coreos:
|
|
etcd2:
|
|
listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001
|
|
advertise-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001
|
|
initial-cluster: master=http://<master-private-ip>:2380
|
|
proxy: on
|
|
fleet:
|
|
metadata: "role=node"
|
|
units:
|
|
- name: etcd2.service
|
|
command: start
|
|
- name: fleet.service
|
|
command: start
|
|
- name: flanneld.service
|
|
command: start
|
|
- name: docker.service
|
|
command: start
|
|
- 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/curl -L -o /opt/bin/setup-network-environment -z /opt/bin/setup-network-environment https://github.com/kelseyhightower/setup-network-environment/releases/download/v1.0.0/setup-network-environment
|
|
ExecStartPre=/usr/bin/chmod +x /opt/bin/setup-network-environment
|
|
ExecStart=/opt/bin/setup-network-environment
|
|
RemainAfterExit=yes
|
|
Type=oneshot
|
|
- name: kube-proxy.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
Description=Kubernetes Proxy
|
|
Documentation=https://github.com/kubernetes/kubernetes
|
|
Requires=setup-network-environment.service
|
|
After=setup-network-environment.service
|
|
|
|
[Service]
|
|
ExecStartPre=/usr/bin/curl -L -o /opt/bin/kube-proxy -z /opt/bin/kube-proxy https://storage.googleapis.com/kubernetes-release/release/v1.1.2/bin/linux/amd64/kube-proxy
|
|
ExecStartPre=/usr/bin/chmod +x /opt/bin/kube-proxy
|
|
# wait for kubernetes master to be up and ready
|
|
ExecStartPre=/opt/bin/wupiao <master-private-ip> 8080
|
|
ExecStart=/opt/bin/kube-proxy \
|
|
--master=<master-private-ip>:8080 \
|
|
--logtostderr=true
|
|
Restart=always
|
|
RestartSec=10
|
|
- name: kube-kubelet.service
|
|
command: start
|
|
content: |
|
|
[Unit]
|
|
Description=Kubernetes Kubelet
|
|
Documentation=https://github.com/kubernetes/kubernetes
|
|
Requires=setup-network-environment.service
|
|
After=setup-network-environment.service
|
|
|
|
[Service]
|
|
EnvironmentFile=/etc/network-environment
|
|
ExecStartPre=/usr/bin/curl -L -o /opt/bin/kubelet -z /opt/bin/kubelet https://storage.googleapis.com/kubernetes-release/release/v1.1.2/bin/linux/amd64/kubelet
|
|
ExecStartPre=/usr/bin/chmod +x /opt/bin/kubelet
|
|
# wait for kubernetes master to be up and ready
|
|
ExecStartPre=/opt/bin/wupiao <master-private-ip> 8080
|
|
ExecStart=/opt/bin/kubelet \
|
|
--address=0.0.0.0 \
|
|
--port=10250 \
|
|
--hostname-override=${DEFAULT_IPV4} \
|
|
--api-servers=<master-private-ip>:8080 \
|
|
--allow-privileged=true \
|
|
--logtostderr=true \
|
|
--cadvisor-port=4194 \
|
|
--healthz-bind-address=0.0.0.0 \
|
|
--healthz-port=10248
|
|
Restart=always
|
|
RestartSec=10
|
|
update:
|
|
group: alpha
|
|
reboot-strategy: off
|