-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Working with Hypriot 1.0 and kubernetes-on-arm 0.7.x #118
Comments
Thanks for this, am having issues running a Pi2/3 mixed cluster - OS OK - but Hypercube the only container running - issue connecting to the Apimanager Can you please explain how to implement 2. ? |
@pakeha-kiwi You have to set |
How do i fix the "docker-flannel overlay was not installed by default" problem? It looks like they are install systemd-delta --type=extended
[EXTENDED] /lib/systemd/system/docker.service <E2><86><92> /etc/systemd/system/docker.service.d/overlay.conf
[EXTENDED] /lib/systemd/system/docker.service <E2><86><92> /usr/lib/systemd/system/docker.service.d/docker-flannel.conf But I can't see any trace when the process is running. And the network layer don't route right. ps waux |grep fd
root 18232 1.3 4.1 1001548 36484 ? Ssl 23:03 0:04 /usr/bin/dockerd --storage-driver overlay -H fd:// |
Looks like the dropin fails when removing the interface. systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled)
Drop-In: /usr/lib/systemd/system/docker.service.d
└─docker-flannel.conf
/etc/systemd/system/docker.service.d
└─overlay.conf
Active: active (running) since Wed 2016-08-31 23:47:48 EEST; 2min 33s ago
Docs: https://docs.docker.com
Process: 3091 ExecStartPre=/bin/sh -c ifconfig docker0 down; brctl delbr docker0 (code=exited, status=1/FAILURE) |
Is brctl installed? |
yes $ brctl
Usage: brctl [commands]
commands:
addbr <bridge> add bridge
delbr <bridge> delete bridge
addif <bridge> <device> add interface to bridge
delif <bridge> <device> delete interface from bridge
hairpin <bridge> <port> {on|off} turn hairpin on/off
setageing <bridge> <time> set ageing time
setbridgeprio <bridge> <prio> set bridge priority
setfd <bridge> <time> set bridge forward delay
sethello <bridge> <time> set hello time
setmaxage <bridge> <time> set max message age
setpathcost <bridge> <port> <cost> set path cost
setportprio <bridge> <port> <prio> set port priority
show [ <bridge> ] show a list of bridges
showmacs <bridge> show a list of mac addrs
showstp <bridge> show bridge stp info
stp <bridge> {on|off} turn stp on/off |
I'm new to kubernetes and flannel but what I can see from ifconfig it looks like the usal docker0 interface. ifconfig
docker0 Link encap:Ethernet HWaddr 02:42:62:14:64:0f
inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) but the containers looks like they are live and kicking docker -H unix:///var/run/system-docker.sock ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d33d6ae229b3 kubernetesonarm/etcd "/usr/local/bin/etcd " 55 minutes ago Up 55 minutes k8s-etcd
fd596c1f48f9 kubernetesonarm/flannel "/flanneld --etcd-end" 55 minutes ago Up 55 minutes k8s-flannel |
thanks @luxas, that got etcd/flannel going so my cluster works now
|
The kubectl binary is downloadable from with
To use remote kubectl, just set For dashboard, visit |
I solved my problem with flannel by changing the start of [Unit]
After=flannel.service
Requires=flannel.service Don't know why it did not work before but now it works... |
After doing it on the rest of the cluster I realized I was wrong. sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled)
Drop-In: /usr/lib/systemd/system/docker.service.d
└─docker-flannel.conf
/etc/systemd/system/docker.service.d
└─overlay.conf
Active: active (running) since Wed 2016-08-31 17:39:56 EEST; 17h ago
Docs: https://docs.docker.com
Process: 455 ExecStartPre=/bin/sh -c ifconfig docker0 down; brctl delbr docker0 (code=exited, status=1/FAILURE)
Main PID: 471 (dockerd)
....
HypriotOS/armv7: pirate@cluster-node02 in ~
$ sudo rm /etc/systemd/system/docker.service.d/overlay.conf
HypriotOS/armv7: pirate@cluster-node02 in ~
$ sudo systemctl daemon-reload
suHypriotOS/armv7: pirate@cluster-node02 in ~
$ sudo ifconfig docker0
docker0 Link encap:Ethernet HWaddr 02:42:ff:18:2d:84
inet addr:172.17.0.1 Bcast:0.0.0.0 Mask:255.255.0.0
inet6 addr: fe80::42:ffff:fe18:2d84/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:31 errors:0 dropped:0 overruns:0 frame:0
TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2865 (2.7 KiB) TX bytes:5462 (5.3 KiB)
HypriotOS/armv7: pirate@cluster-node02 in ~
$ sudo systemctl restart docker
HypriotOS/armv7: pirate@cluster-node02 in ~
$ ifconfig docker0
docker0 Link encap:Ethernet HWaddr 02:42:93:2b:eb:d7
inet addr:10.1.86.1 Bcast:0.0.0.0 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Now the network is handed over between docker and flannel. |
Will the fixes from this issue be included in v0.8.0? |
@bialad v0.8.0 will use my "official" code docker-multinode You may test that also if you want to |
@luxas I've actually been running my RPI cluster using docker-multinode so far, but since that repo doesn't use a release schedule I've had some issues with bugs since I'm always pulling the latest commit when booting my RPIs. I'd figure that I'd use this repo for setting up my core RPI cluster, and docker-multinode as a way to create amd64 worker nodes as vms in a windows server. Don't know if that's even possible, but time will tell. ;) What do you mean by "my official" though? I've viewed this repo as a wrapper for kube-deploy, with stable releases. That's why I'm hopping for hypriot v1.0 stability to the v0.8.0 release. |
I didn't find brctl in .deb installation, should I install it manually? |
For me, after a reboot of a worker node, the routing is broken (all K8s containers, which have been running before the reboot, are up again -> fine). Of the list in the first post of this thread, Flannel seems to be the only thing that is important for me (I don't mount anything, cgroup_enable=cpuset, docker pull works fine etc.). How do I get 2. and 3. implemented? ping @saturnism @erikthorselius Where resides the Here some logs:
|
Ah, I think I know where some of the confusions w/ flannels are coming from. I was working w/ kubernetes on arm 0.7. Flannel configuration was here: I think it's changed since 0.8 |
A few things I found that needed to change when working w/ Hypriot 1.0:
/boot/device-init.yaml
flannel.service
needsAfter=system-docker.service
to survive restarts--containerized
in order to use with NFS PV, with docker volume mount-v /:/rootfs:ro
/boot/cmdline.txt
withcgroup_enable=cpuset
net.ipv4.tcp_mtu_probing=1
to/etc/sysctl.conf
(optionally swappiness? see http://a.frtzlr.com/kubernetes-on-raspberry-pi-3-the-missing-troubleshooting-guide/)The text was updated successfully, but these errors were encountered: