-
Notifications
You must be signed in to change notification settings - Fork 56
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
21 changed files
with
254 additions
and
45 deletions.
There are no files selected for viewing
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
- name: Start Docker daemons | ||
|
||
hosts: pis | ||
remote_user: pi | ||
become: true | ||
become_method: sudo | ||
|
||
tasks: | ||
- name: Enable Docker | ||
service: name=docker enabled=yes state=started |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -47,3 +47,4 @@ | |
with_items: | ||
- hdparm | ||
- iperf | ||
- mtr-tiny |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
# Binaries used for Kubernetes | ||
|
||
The following binaries are started directly in addition to docker | ||
to spane a Kubernetes cluster: | ||
|
||
* kubectl 1.2.0 | ||
* kubelet 1.2.0 | ||
* etcd 2.2.5 | ||
* flanneld 0.5.5 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
- name: Install etcd | ||
copy: src=binaries/etcd-{{ version.etcd }}/{{ item}} dest=/usr/bin/{{ item }} owner=root group=root mode=0755 | ||
with_items: | ||
- etcd | ||
- etcdctl | ||
|
||
- name: Create etcd data dir directory | ||
file: path=/var/lib/etcd state=directory recurse=false | ||
|
||
- name: Install etcd service definition | ||
template: src=master/etcd.service dest=/lib/systemd/system/etcd.service owner=root group=root mode=0644 | ||
|
||
- name: Enable and start etcd service | ||
service: name=etcd enabled=true state=started |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
- name: Install flanneld | ||
copy: src=binaries/flannel-{{ version.flannel }}/flanneld dest=/usr/bin/flanneld owner=root group=root mode=0755 | ||
|
||
- name: Create flannel env directory | ||
file: path=/var/lib/flannel state=directory recurse=false | ||
|
||
- name: Add flannel_init.sh for setting flannel network | ||
template: src={{ mode }}/flannel_init.sh dest=/etc/kubernetes/flannel_init.sh mode=0755 | ||
|
||
- name: Install flannel service definition | ||
template: src={{ mode }}/flannel.service dest=/lib/systemd/system/flannel.service owner=root group=root mode=0644 | ||
|
||
- name: Enable and start flannel service | ||
service: name=flannel enabled=true state=started |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,36 @@ | ||
- name: Install kubelet and kubectl | ||
copy: src=binaries/{{ version.kubernetes }}/{{ item}} dest=/usr/bin/{{ item }} owner=root group=root mode=0755 | ||
copy: src=binaries/kubernetes-{{ version.kubernetes }}/{{ item}} dest=/usr/bin/{{ item }} owner=root group=root mode=0755 | ||
with_items: | ||
- kubelet | ||
- kubectl | ||
|
||
- name: Create Kubernetes config directory | ||
file: path=/etc/kubernetes/manifests/ state=directory recurse=no owner=root group=root mode=0755 | ||
|
||
- name: Create etcd data directory | ||
file: path=/var/lib/etcd state=directory recurse=false | ||
- name: Add etcd | ||
include: etcd.yml | ||
when: mode == "master" | ||
|
||
- name: Add flanneld | ||
include: flanneld.yml | ||
|
||
- name: Add bridge-utils | ||
apt: name='bridge-utils' state=present force=yes | ||
|
||
- name: Install own docker service | ||
template: src=docker.service dest=/lib/systemd/system/docker.service owner=root group=root mode=0644 | ||
|
||
- name: Enable and restart docker service | ||
service: name=docker enabled=true state=started | ||
|
||
- name: Copy configuration | ||
template: src=kubernetes-{{ mode }}.yml dest=/etc/kubernetes/manifests/kubernetes.yaml | ||
template: src={{ mode }}/kubernetes.yml dest=/etc/kubernetes/manifests/kubernetes.yaml | ||
|
||
- name: Setup profile | ||
template: src=kubernetes_profile.sh dest=/etc/profile.d/kubernetes.sh mode=0644 | ||
|
||
- name: Install kubelet service definition | ||
template: src=kubelet.service dest=/etc/systemd/system/kubelet.service owner=root group=root mode=0644 | ||
template: src=kubelet.service dest=/lib/systemd/system/kubelet.service owner=root group=root mode=0644 | ||
|
||
- name: Enable and start kubelet service | ||
service: name=kubelet enabled=true state=restarted | ||
service: name=kubelet enabled=true state=started |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
[Unit] | ||
Description=Docker Application Container Engine | ||
Documentation=https://docs.docker.com | ||
After=network.target docker.socket flannel.service | ||
Requires=docker.socket flannel.service | ||
|
||
[Service] | ||
Type=notify | ||
# Flannel bridge to use by Docker: | ||
EnvironmentFile=/var/lib/flannel/subnet.env | ||
ExecStartPre=-/sbin/ifconfig docker0 down | ||
ExecStartPre=-/sbin/brctl delbr docker0 | ||
ExecStart=/usr/bin/docker daemon \ | ||
--bip=${FLANNEL_SUBNET} \ | ||
--mtu=${FLANNEL_MTU} \ | ||
-H tcp://{{ inventory_hostname }}:2375 \ | ||
-H unix:///var/run/docker.sock \ | ||
--storage-driver=overlay \ | ||
--exec-opt native.cgroupdriver=cgroupfs | ||
Restart=on-failure | ||
RestartSec=5 | ||
MountFlags=slave | ||
LimitNOFILE=1048576 | ||
LimitNPROC=1048576 | ||
LimitCORE=infinity | ||
|
||
[Install] | ||
WantedBy=multi-user.target |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
[Unit] | ||
Description=etcd Config Store | ||
Documentation=https://github.com/coreos/etcd | ||
After=network.target | ||
|
||
[Service] | ||
ExecStart=/usr/bin/etcd \ | ||
--data-dir=/var/lib/etcd \ | ||
--advertise-client-urls=http://{{ master }}:{{ etcd.port }} \ | ||
--listen-client-urls=http://{{ master }}:{{ etcd.port }} \ | ||
--listen-peer-urls=http://{{ master }}:{{ etcd.peer_port }} \ | ||
--name=etcd | ||
Restart=on-failure | ||
RestartSec=5 | ||
|
||
[Install] | ||
WantedBy=multi-user.target |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
[Unit] | ||
Description=Flannel Overlay Network for Kubernetes | ||
After=network.target etcd.service | ||
Requires=etcd.service | ||
|
||
[Service] | ||
ExecStartPre=/etc/kubernetes/flannel_init.sh | ||
ExecStart=/usr/bin/flanneld \ | ||
--etcd-endpoints=http://{{ master }}:{{ etcd.port }} \ | ||
--subnet-file=/var/lib/flannel/subnet.env | ||
Restart=on-failure | ||
RestartSec=5 | ||
|
||
[Install] | ||
WantedBy=multi-user.target |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
#!/bin/sh | ||
etcd_url="http://{{ master }}:{{ etcd.port}}" | ||
pod_subnet="{{ network.pod_subnet }}" | ||
while [ $(curl -fs "${etcd_url}/v2/machines" 2>&1 1>/dev/null; echo $?) != 0 ] | ||
do | ||
sleep 1 | ||
done | ||
|
||
network_config=$(cat <<EOT | ||
{ | ||
"Network": "${pod_subnet}", | ||
"Backend": { | ||
"Type": "host-gw" | ||
} | ||
} | ||
EOT | ||
) | ||
echo "Setting network config for flannel: " | ||
/usr/bin/etcdctl \ | ||
--endpoint ${etcd_url} \ | ||
set /coreos.com/network/config "$network_config" |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
[Unit] | ||
Description=Flannel Overlay Network for Kubernetes | ||
After=network.target | ||
|
||
[Service] | ||
ExecStartPre=/etc/kubernetes/flannel_init.sh | ||
ExecStart=/usr/bin/flanneld \ | ||
--etcd-endpoints=http://{{ master }}:{{ etcd.port }} \ | ||
--subnet-file=/var/lib/flannel/subnet.env | ||
Restart=on-failure | ||
RestartSec=5 | ||
|
||
[Install] | ||
WantedBy=multi-user.target |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
#!/bin/sh | ||
etcd_url="http://{{ master }}:{{ etcd.port}}" | ||
pod_subnet="{{ network.pod_subnet }}" | ||
while [ $(curl -fs "${etcd_url}/v2/machines" 2>&1 1>/dev/null; echo $?) != 0 ] | ||
do | ||
sleep 1 | ||
done |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,16 @@ | ||
version: | ||
kubernetes: v1.2.0 | ||
flannel: 0.5.5 | ||
etcd: 2.2.5 | ||
images: | ||
hyperkube: gcr.io/google-containers/hyperkube-arm:{{ version.kubernetes }} | ||
etcd: gcr.io/google-containers/etcd-arm:2.2.1 | ||
pause: gcr.io/google-containers/pause-arm:2.0 | ||
flannel: | ||
backend: host-gw | ||
etcd: | ||
port: 2379 | ||
peer_port: 2380 | ||
network: | ||
service_subnet: 10.200.100.0/24 | ||
pod_subnet: 10.1.0.0/16 | ||
debug_level: 2 |
Oops, something went wrong.