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

raspberry pi common : kubeadm で csgroups の memory を有効にする必要がある #6

Open
sugardon opened this issue Jan 3, 2021 · 0 comments

Comments

@sugardon
Copy link
Owner

sugardon commented Jan 3, 2021

エラー

$ sudo kubeadm init --v=5
I0103 15:23:21.651337   32040 initconfiguration.go:103] detected and using CRI socket: /var/run/dockershim.sock
I0103 15:23:21.651872   32040 interface.go:400] Looking for default routes with IPv4 addresses
I0103 15:23:21.651904   32040 interface.go:405] Default route transits interface "eth0"
I0103 15:23:21.653072   32040 interface.go:208] Interface eth0 is up
I0103 15:23:21.653582   32040 interface.go:256] Interface "eth0" has 2 addresses :[192.168.21.12/24 fe80::dea6:32ff:fedb:83d6/64].
I0103 15:23:21.653694   32040 interface.go:223] Checking addr  192.168.21.12/24.
I0103 15:23:21.653730   32040 interface.go:230] IP found 192.168.21.12
I0103 15:23:21.653766   32040 interface.go:262] Found valid IPv4 address 192.168.21.12 for interface "eth0".
I0103 15:23:21.653816   32040 interface.go:411] Found active IP 192.168.21.12 
I0103 15:23:21.654224   32040 version.go:183] fetching Kubernetes version from URL: https://dl.k8s.io/release/stable-1.txt
I0103 15:23:22.185790   32040 version.go:252] remote version is much newer: v1.20.1; falling back to: stable-1.18
I0103 15:23:22.185967   32040 version.go:183] fetching Kubernetes version from URL: https://dl.k8s.io/release/stable-1.18.txt
W0103 15:23:22.539079   32040 configset.go:202] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
[init] Using Kubernetes version: v1.18.14
[preflight] Running pre-flight checks
I0103 15:23:22.541107   32040 checks.go:577] validating Kubernetes and kubeadm version
I0103 15:23:22.541241   32040 checks.go:166] validating if the firewall is enabled and active
I0103 15:23:22.577641   32040 checks.go:201] validating availability of port 6443
I0103 15:23:22.578368   32040 checks.go:201] validating availability of port 10259
I0103 15:23:22.578553   32040 checks.go:201] validating availability of port 10257
I0103 15:23:22.578732   32040 checks.go:286] validating the existence of file /etc/kubernetes/manifests/kube-apiserver.yaml
I0103 15:23:22.578887   32040 checks.go:286] validating the existence of file /etc/kubernetes/manifests/kube-controller-manager.yaml
I0103 15:23:22.579006   32040 checks.go:286] validating the existence of file /etc/kubernetes/manifests/kube-scheduler.yaml
I0103 15:23:22.579092   32040 checks.go:286] validating the existence of file /etc/kubernetes/manifests/etcd.yaml
I0103 15:23:22.579149   32040 checks.go:432] validating if the connectivity type is via proxy or direct
I0103 15:23:22.579234   32040 checks.go:471] validating http connectivity to first IP address in the CIDR
I0103 15:23:22.579311   32040 checks.go:471] validating http connectivity to first IP address in the CIDR
I0103 15:23:22.579348   32040 checks.go:102] validating the container runtime
I0103 15:23:22.833881   32040 checks.go:128] validating if the service is enabled and active
I0103 15:23:23.158665   32040 checks.go:335] validating the contents of file /proc/sys/net/bridge/bridge-nf-call-iptables
I0103 15:23:23.158873   32040 checks.go:335] validating the contents of file /proc/sys/net/ipv4/ip_forward
I0103 15:23:23.159004   32040 checks.go:649] validating whether swap is enabled or not
I0103 15:23:23.159127   32040 checks.go:376] validating the presence of executable conntrack
I0103 15:23:23.159218   32040 checks.go:376] validating the presence of executable ip
I0103 15:23:23.159293   32040 checks.go:376] validating the presence of executable iptables
I0103 15:23:23.159371   32040 checks.go:376] validating the presence of executable mount
I0103 15:23:23.159444   32040 checks.go:376] validating the presence of executable nsenter
I0103 15:23:23.159540   32040 checks.go:376] validating the presence of executable ebtables
I0103 15:23:23.159624   32040 checks.go:376] validating the presence of executable ethtool
I0103 15:23:23.159692   32040 checks.go:376] validating the presence of executable socat
I0103 15:23:23.159765   32040 checks.go:376] validating the presence of executable tc
I0103 15:23:23.159818   32040 checks.go:376] validating the presence of executable touch
I0103 15:23:23.159879   32040 checks.go:520] running all checks
[preflight] The system verification failed. Printing the output from the verification:
KERNEL_VERSION: 5.4.0-1025-raspi
CONFIG_NAMESPACES: enabled
CONFIG_NET_NS: enabled
CONFIG_PID_NS: enabled
CONFIG_IPC_NS: enabled
CONFIG_UTS_NS: enabled
CONFIG_CGROUPS: enabled
CONFIG_CGROUP_CPUACCT: enabled
CONFIG_CGROUP_DEVICE: enabled
CONFIG_CGROUP_FREEZER: enabled
CONFIG_CGROUP_SCHED: enabled
CONFIG_CPUSETS: enabled
CONFIG_MEMCG: enabled
CONFIG_INET: enabled
CONFIG_EXT4_FS: enabled
CONFIG_PROC_FS: enabled
CONFIG_NETFILTER_XT_TARGET_REDIRECT: enabled (as module)
CONFIG_NETFILTER_XT_MATCH_COMMENT: enabled (as module)
CONFIG_OVERLAY_FS: enabled (as module)
CONFIG_AUFS_FS: enabled (as module)
CONFIG_BLK_DEV_DM: enabled
DOCKER_VERSION: 19.03.14
DOCKER_GRAPH_DRIVER: overlay2
OS: Linux
CGROUPS_CPU: enabled
CGROUPS_CPUACCT: enabled
CGROUPS_CPUSET: enabled
CGROUPS_DEVICES: enabled
CGROUPS_FREEZER: enabled
CGROUPS_MEMORY: missing
I0103 15:23:23.606685   32040 checks.go:406] checking whether the given node name is reachable using net.LookupHost
I0103 15:23:23.606742   32040 checks.go:618] validating kubelet version
I0103 15:23:23.771803   32040 checks.go:128] validating if the service is enabled and active
I0103 15:23:23.810045   32040 checks.go:201] validating availability of port 10250
I0103 15:23:23.810574   32040 checks.go:201] validating availability of port 2379
I0103 15:23:23.810914   32040 checks.go:201] validating availability of port 2380
I0103 15:23:23.811191   32040 checks.go:249] validating the existence and emptiness of directory /var/lib/etcd
[preflight] Some fatal errors occurred:
        [ERROR FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml]: /etc/kubernetes/manifests/kube-apiserver.yaml already exists
        [ERROR FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml]: /etc/kubernetes/manifests/kube-controller-manager.yaml already exists
        [ERROR FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml]: /etc/kubernetes/manifests/kube-scheduler.yaml already exists
        [ERROR SystemVerification]: missing cgroups: memory

暫定回避

$ cat /proc/cgroups
#subsys_name    hierarchy       num_cgroups     enabled
cpuset  6       5       1
cpu     9       103     1
cpuacct 9       103     1
blkio   3       103     1
memory  0       112     0
devices 7       103     1
freezer 5       6       1
net_cls 2       5       1
perf_event      10      5       1
net_prio        2       5       1
pids    8       111     1
rdma    4       1       1

0 で無効だったので、手で追加

$ sudo vim /boot/firmware/cmdline.txt
$ cat /boot/firmware/cmdline.txt 
net.ifnames=0 dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=LABEL=writable rootfstype=ext4 elevator=deadline rootwait fixrtc cgroup_enable=memory

再起動

$ cat /proc/cgroups
#subsys_name    hierarchy       num_cgroups     enabled
cpuset  4       17      1
cpu     7       60      1
cpuacct 7       60      1
blkio   6       60      1
memory  8       106     1
devices 10      60      1
freezer 5       18      1
net_cls 11      17      1
perf_event      3       17      1
net_prio        11      17      1
pids    2       65      1
rdma    9       1       1

有効になっていそうだった

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant