Upgrade home lab to Kubernets based on oVirt
准备用家里的就设备搭建一个k8s 的 cluster 。 准备用ovirt虚拟化,这样就可以把新的旧设备随时加入cluster。
碰到几个坑
1. 一台笔记本装ubuntu 20.10,一从usb启动就是 "symbol 'grub_calloc' not found,试了几个办法也不行,不过改装20.04LTS就没事。
装oVirt,只能装在RH系列下面
1. CentOS8,如果安装的时候就用LAN接网络,启动以后找不到LAN,
2. oVirt Host有最低CPU要求,家里有台Core microarchitect的笔记本就没法接入cluster了
3. 如果在local设置data storage domain,一定要注意把local path放在那个目录下面
df -h
看一下partition的大小,在我的320G硬盘下面, CentOS默认root分区50G,home会比较大, 250G,如果把storage domain放在root下面的文件夹,那么storage domain最大只有50G,所以要放在大的分区下面,而且需要把owner改成, vsdm:kmv
chown -R 36:36
4. Kubectl要求最少2个CPU。
5. Install kubernets following https://phoenixnap.com/kb/install-kubernetes-on-ubuntu
6. Can't initialize the cluster using
kubeadm init --pod-network-cidr=10.244.0.0/16
The error is exactly same as the description in https://github.com/kubernetes/kubernetes/issues/83225
To fix: look for the answer from and
basically /etc/systemd/system/docker.service.d was missing ,
Create the folder, reload docker service, and restart. Rerun kubectl init, works fine now
Kubernets suggest to use systemd as docker cgroup driver
https://kubernetes.io/docs/setup/production-environment/container-runtimes/
Here is a way to override the default docker cgroup driver
https://github.com/kubernetes/kubeadm/issues/1394
oVirt 默认不支持 nested virtualization, 所以vm里面的cpu是不支持 virtualization。
cat /proc/cpuinfo | grep vmx
需要在host里面安装
vdsm-hook-nestedvt
重启host才行
安装minikube,很多用virtualbox的攻略都不行,最后这个用docker的还凑合
https://www.server-world.info/en/note?os=Ubuntu_20.04&p=minikube&f=2
不过,不能用root,来执行 --driver=none, 必须用非root,然后 --driver=docker
minikube start --memory 2GB --cpus 2 --v=5 --alsologtostderr --extra-config=apiserver.authorization-mode=Node,RBAC --driver=docker
Comments
Post a Comment