Skip to content
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

k3s doesn't work on Chrome OS Crostini #1116

Closed
wpwoodjr opened this issue Nov 22, 2019 · 10 comments
Closed

k3s doesn't work on Chrome OS Crostini #1116

wpwoodjr opened this issue Nov 22, 2019 · 10 comments
Labels
kind/enhancement An improvement to existing functionality os/other
Milestone

Comments

@wpwoodjr
Copy link

Describe the bug
k3s fails on Crostini

To Reproduce
Install k3s and attempt to start Kubernetes cluster

Expected behavior
Kubernetes cluster starts

Actual behavior
Cluster fails to start

Additional context
Speaking with Darren Sheperd at Kubecon, he said that k3s would need some changes to work in Crostini, if it was even possible. I'm opening this issue as a reminder to please look into it.

@davidnuzik davidnuzik added [zube]: To Triage kind/enhancement An improvement to existing functionality labels Nov 22, 2019
@davidnuzik davidnuzik added this to the Backlog milestone Nov 22, 2019
@staticfrost
Copy link

Really want this to work on my Pixelbook please.

@floriankoch
Copy link

floriankoch commented Apr 12, 2020

It seems like the vxlan moduke is missing in the Crostini kernel

@localredhead
Copy link

Another pixelbook user here that needs this.

@kkarthik23
Copy link

Doen't work on my chromebook as well

k3s service starts but i get no node would be great if someone can add chromebook support when possible

Thanks

@keyonjie
Copy link

keyonjie commented Jun 9, 2022

I am seeing the same issue. The logs show that we are lack of OVERLAY_FS and BRIDGE_NETFILTER support. Similar issue for minikube here: kubernetes/minikube#6411

@e-minguez
Copy link

e-minguez commented Sep 20, 2022

Based on https://twitter.com/ibuildthecloud/status/1571718481133064193 & https://twitter.com/ibuildthecloud/status/1571736993725566976

I just tried as:

apt install -y fuse3
curl -sfL https://get.k3s.io | sh -s - --snapshotter fuse-overlayfs --kubelet-arg 'feature-gates=KubeletInUserNamespace=true' --kube-proxy-arg 'proxy-mode=ipvs' --write-kubeconfig-mode 0644

And it seems to work just fine:

eminguez@k3s:~$ k get po -A
NAMESPACE              NAME                                        READY   STATUS      RESTARTS      AGE
kube-system            helm-install-traefik-crd-w949j              0/1     Completed   0             111m
kube-system            helm-install-traefik-tqxt9                  0/1     Completed   2             111m
kube-system            metrics-server-668d979685-x9lc4             1/1     Running     0             111m
kubernetes-dashboard   dashboard-metrics-scraper-8c47d4b5d-h9n4d   1/1     Running     0             106m
kube-system            local-path-provisioner-7b7dc8d6f5-h48x4     1/1     Running     0             111m
kube-system            coredns-b96499967-bz897                     1/1     Running     0             111m
kube-system            traefik-7cd4fcff68-s5x8b                    1/1     Running     0             109m
kube-system            svclb-traefik-1b183594-vwsw8                2/2     Running     0             109m
kubernetes-dashboard   kubernetes-dashboard-67bd8fc546-6w5s4       1/1     Running     1 (13m ago)   106m
default                hello-world-nginx-66c656756f-rxx6r          1/1     Running     0             5m58s
default                hello-world-nginx-66c656756f-s9xrq          1/1     Running     0             5m58s
default                hello-world-nginx-66c656756f-222dw          1/1     Running     0             5m58s
eminguez@k3s:~$ k get ingress
NAME          CLASS    HOSTS   ADDRESS          PORTS   AGE
hello-world   <none>   *       100.115.92.198   80      6m
eminguez@k3s:~$ curl http://100.115.92.198
<html>
<head>
  <title>Hello World!</title>
</head>
<body>Hello World!</body>
</html>

@ibuildthecloud
Copy link
Contributor

It doesn't fully work because iptables bridge filtering is not supported by the kernel. This will manifest itself easily by the fact that DNS is broken inside pods. Inside a pod just run "ping www.google.com" and you'll see the DNS fails to resolve. This is because the request going to 10.43.0.10 (for coredns) is not getting processed by the kube proxy iptables rules.

@ibuildthecloud
Copy link
Contributor

Possibly there is an approach to use nftables instead of iptables. I haven't investigated that.

@brandond
Copy link
Member

Not planning on adding ChromeOS support at this time.

@github-project-automation github-project-automation bot moved this from Backlog to Done Issue in K3s Development Feb 28, 2023
@github-project-automation github-project-automation bot moved this from New OS/ARM to Closed in K3s Backlog Feb 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement An improvement to existing functionality os/other
Projects
Status: Closed
Archived in project
Development

No branches or pull requests