$ ls ~yifei/notes/

K3s

Posted on:

Last modified:

k3s 是 rancher 出品的一个 kubernetes 的衍生版,特点是单二进制文件,非常小巧,甚至可以在 树莓派上部署。虽然他对好多组件做了替换,比如把 etcd 替换成了 sqlite3,但是依然是一个 通过了官方认证的 Kubernetes 发行版。

除了 k3s 以外,还有一些其他的精简的 k8s 发行版,比如 microk8s, kind, minikube 等等,但是 都远远没有 k3s 轻量。

安装

可以手工安装 k3s,但是没有必要,建议使用 k3sup 或者 autok3s 工具自动部署。k3sup 主要面向 国外主流云厂商,autok3s 主要面向国内云厂商。

存储

k3s 默认带了自己的 local-path provider,所以直接就能使用。

网络

内置的 traefik 竟然会劫持掉 nginx 的 80 端口并且不报错,真是牛逼惨了。好像是利用到了 SO_REUSEPORT 这个选项。使用了 iptables 属性拦截了 nginx 的流量

禁用 traefik,切换到 nginx

kubectl delete svc/traefik -n kube-system
kubectl delete deploy/traefik -n kube-system

k3s 好像无论如何弄都在监听 0.0.0.0,只好用安全组禁用掉端口了。

参考资料

  1. k3s 官方文档
  2. https://www.reddit.com/r/kubernetes/comments/be0415/k3s_minikube_or_microk8s/
  3. https://brennerm.github.io/posts/minikube-vs-kind-vs-k3s.html
  4. 非常全的一份文档
  5. https://github.com/k3s-io/k3s/issues/2403
  6. https://blog.oddbit.com/post/2018-02-27-listening-for-connections-on-a/
  7. k3s with external etcd

© 2016-2022 Yifei Kong. Powered by ynotes

All contents are under the CC-BY-NC-SA license, if not otherwise specified.

Opinions expressed here are solely my own and do not express the views or opinions of my employer.