↓これ道理に進めようとしたけど kubectl get podsとか全然通らないので無茶苦茶あれこれしたので備忘録
https://phoenixnap.com/kb/install-kubernetes-on-ubuntu
openvswitch-switch.service: Job openvswitch-switch.service/start failed with result 'dependency'.
$sudo apt install qemu qemu-kvm libvirt-clients libvirt-daemon-system virtinst bridge-utils
OpenvSwitchがKubernetesの裏で働いてるみたいだけど、全然動かないからなんでかなーって思ったらこれら入ってないと動かないらしい。納得、ってかエラーメッセージわかりづらいわ!
https://askubuntu.com/questions/1225216/failed-to-connect-socket-to-var-run-libvirt-libvirt-sock
$ sudo /usr/share/openvswitch/scripts/ovs-ctl --no-ovsdb-server --no-monitor --system-id=random --no-record-hostname start
modprobe: FATAL: Module openvswitch not found in directory /lib/modules/5.15.0-1011-raspi
* Inserting openvswitch module
* not removing bridge module because bridges exist (docker0 lxdbr0)
$sudo apt install linux-modules-extra-raspi
マシンがラズパイだからか↑のようなエラーメッセージ発生
https://bugs.launchpad.net/ubuntu/+source/linux-raspi/+bug/1979846
sudo /usr/share/openvswitch/scripts/ovs-ctl --no-ovsdb-server --no-monitor --system-id=random --no-record-hostname start
* Inserting openvswitch module
* Starting ovs-vswitchd
ovs-appctl: cannot read pidfile "/usr/local/var/run/openvswitch/ovsdb-server.pid" (No such process)
* Enabling remote OVSDB managers
$ sudo pstree -p |grep ovs
|-ovs-testcontrol(248047)
|-ovs-vswitchd(291520)
|-ovsdb-server(269488)
ようやくOpenvSwitchの主要コンポネント動いた。
[ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables does not exist
[ERROR FileContent--proc-sys-net-ipv4-ip_forward]: /proc/sys/net/ipv4/ip_forward contents are not set to 1
[ERROR FileContent--proc-sys-net-ipv6-conf-default-forwarding]: /proc/sys/net/ipv6/conf/default/forwarding contents are not set to 1
dockerを入れるのを忘れていたようで、インストール。
後ipv6のフォワーディングが設定されてないと怒られたので設定。
#apt install docker.io
#echo 1 > /proc/sys/net/ipv6/conf/default/forwarding
--cgroup-driver=systemd をkubeletのサービスに追記
https://github.com/kubernetes/kubernetes/issues/82988#issuecomment-534626704
$sudo vim /usr/lib/systemd/system/kubelet.service
[Unit]
Description=kubelet: The Kubernetes Node Agent
Documentation=https://kubernetes.io/docs/home/
Wants=network-online.target
After=network-online.target
[Service]
ExecStart=/usr/bin/kubelet --cgroup-driver=systemd
Restart=always
StartLimitInterval=0
RestartSec=10
[Install]
WantedBy=multi-user.target
まだこれでもダメみたいだったので
$ sudo vim /var/lib/kubelet/config.yaml
address: "192.168.0.12"
port: 6443
serializeImagePulls: false
evictionHard:
memory.available: "200Mi"
↓なお、これを元にしたけど、エントリーの末尾の','を入れるとエラーでkubeletが動かないのでコピペで入れないよう注意
https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/
/run/flannel/subnet.env が無いよって怒られたので、該当ファイルを以下内容で作成
FLANNEL_NETWORK=10.244.0.0/16
FLANNEL_SUBNET=10.244.0.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true
今度は証明書がなんか問題起こしました・・・
$ kubectl get pods
Unable to connect to the server: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")
↓やったらようやく通りました。。。長かった・・・
$sudo kubeadm reset
$sudo kubeadm init --pod-network-cidr=10.244.0.0/16
$mkdir $HOME/.kube
buntu@master-node:~$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
ubuntu@master-node:~$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
ubuntu@master-node:~$ export KUBECONFIG=$HOME/.kube/config
ubuntu@master-node:~$ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-6d4b75cb6d-5b7cg 0/1 Pending 0 80s
kube-system coredns-6d4b75cb6d-llz97 0/1 Pending 0 80s
kube-system etcd-master-node 1/1 Running 2 (59s ago) 2m35s
kube-system kube-apiserver-master-node 1/1 Running 1 (2m1s ago) 2m37s
kube-system kube-controller-manager-master-node 0/1 Running 29 (32s ago) 34s
kube-system kube-proxy-rbn7f 0/1 CrashLoopBackOff 1 (12s ago) 80s
kube-system kube-scheduler-master-node 0/1 CrashLoopBackOff 24 (11s ago) 2m33s
Worker NodeからMaster Nodeにつながる時のTokenとかどうすりゃいいんだよってわからなかったけど、以下コマンドで生成してくれる模様
$kubeadm token create --print-join-command
https://zaki-hmkc.hatenablog.com/entry/2020/04/05/103651
後は、下のはてぶの内容を途中まで実施。
https://none06.hatenadiary.org/entry/2022/05/28/025115