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

kubeadm init preflight check error - cannot unmarshal number into Go value of type bool #231

Closed
githubvick opened this issue Apr 9, 2017 · 7 comments

Comments

@githubvick
Copy link

githubvick commented Apr 9, 2017

Is this a BUG REPORT or FEATURE REQUEST?

BUG REPORT

Versions

kubeadm version (use kubeadm version): kubeadm version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.1", GitCommit:"b0b7a323cc5a4a2019b2e9520c21c7830b7f708e", GitTreeState:"clean", BuildDate:"2017-04-03T20:33:27Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}

Environment:

  • Kubernetes version (use kubectl version):Client Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.1", GitCommit:"b0b7a323cc5a4a2019b2e9520c21c7830b7f708e", GitTreeState:"clean", BuildDate:"2017-04-03T20:44:38Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}
  • Cloud provider or hardware configuration:VMWare virtual machine in Vcloud director
  • OS (e.g. from /etc/os-release): Red Hat Enterprise Linux Server release 7.3 (Maipo)
  • Kernel (e.g. uname -a): Linux jcia9362 4.1.12-61.1.24.el7uek.x86_64 kubeadm init starts paused containers on ubuntu 16.04 #2 SMP Wed Jan 4 14:05:13 PST 2017 x86_64 x86_64 x86_64 GNU/Linux
  • Others:

What happened?

Error encountered during kubeadm init and stops

Error message is

[preflight] The system verification failed. Printing the output from the verification:
OS: Linux
KERNEL_VERSION: 4.1.12-61.1.24.el7uek.x86_64
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 (as module)
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: not set - Required for aufs.
CONFIG_BLK_DEV_DM: enabled (as module)
CGROUPS_CPU: enabled
CGROUPS_CPUACCT: enabled
CGROUPS_CPUSET: enabled
CGROUPS_DEVICES: enabled
CGROUPS_FREEZER: enabled
CGROUPS_MEMORY: enabled
[preflight] Some fatal errors occurred:
        failed to get docker info: Error reading remote info: json: cannot unmarshal number into Go value of type bool
[preflight] If you know what you are doing, you can skip pre-flight checks with `--skip-preflight-checks`

What you expected to happen?

kubeadm init should proceed without issues

How to reproduce it (as minimally and precisely as possible)?

Followed these steps to install and configure kubeadm

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=http://yum.kubernetes.io/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
EOF

setenforce 0

yum install docker kubelet kubeadm kubectl kubernetes-cni

systemctl enable docker

systemctl start docker
systemctl enable kubelet

systemctl start kubelet
kubeadm init

Anything else we need to know?

added --cgroup-driver=systemd and commented network args and tried after systemctl daemon-reload

I'm able to initialize and setup kubeadm on another VMWare virtual machine with this OS specs

CentOS Linux release 7.3.1611 (Core)

Linux kubeadmmaster 3.10.0-514.10.2.el7.x86_64 #1 SMP Fri Mar 3 00:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

@chey
Copy link

chey commented Apr 10, 2017

If it helps. I can confirm this is happening. I have also confirmed your fix of adding --cgroup-driver=systemd to:
/etc/systemd/system/kubelet.service.d/10-kubeadm.conf

Update:
As a side note, I cannot register new nodes. Probably because I'm not able to do a full kubeadm init.

@githubvick
Copy link
Author

I was able to workaround this by installing the below docker version and running yum install kubelet kubeadm kubectl kubernetes-cni

Client:
 Version:      1.12.2
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   a8c3fe4
 Built:
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.2
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   a8c3fe4
 Built:
 OS/Arch:      linux/amd64

@jazemzer
Copy link

I'm facing the exact same issue

[kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters.
[init] Using Kubernetes version: v1.6.4
[init] Using Authorization mode: RBAC
[preflight] Running pre-flight checks
[preflight] The system verification failed. Printing the output from the verification:
OS: Linux
KERNEL_VERSION: 3.10.0-514.6.1.el7.x86_64
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 (as module)
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: not set - Required for aufs.
CONFIG_BLK_DEV_DM: enabled (as module)
CGROUPS_CPU: enabled
CGROUPS_CPUACCT: enabled
CGROUPS_CPUSET: enabled
CGROUPS_DEVICES: enabled
CGROUPS_FREEZER: enabled
CGROUPS_MEMORY: enabled
[preflight] Some fatal errors occurred:
failed to get docker info: Error reading remote info: json: cannot unmarshal number into Go value of type bool
/proc/sys/net/bridge/bridge-nf-call-iptables does not exist
[preflight] If you know what you are doing, you can skip pre-flight checks with --skip-preflight-checks

@timothysc
Copy link
Member

I do not see this running 1.6.4 on CentOS 7.3 with Docker 1.12.6

Can you repro on this stack ^ ?

@timothysc timothysc self-assigned this May 24, 2017
@luxas luxas changed the title Kubeadm init - Error kubeadm init preflight check error - cannot unmarshal number into Go value of type bool May 29, 2017
@jazemzer
Copy link

jazemzer commented May 29, 2017

I switched to Docker 1.12.6 as mentioned and got rid of preflight check

Client:
 Version:      1.12.6
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   78d1802
 Built:        Tue Jan 10 20:20:01 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.6
 API version:  1.24
 Go version:   go1.6.4
 Git commit:   78d1802
 Built:        Tue Jan 10 20:20:01 2017
 OS/Arch:      linux/amd64

and I'm running the following kubelet and Linux version

# kubelet --version
Kubernetes v1.6.4

# uname -r
3.10.0-514.16.1.el7.x86_64

But now its stuck at 'control plane to become ready.

# kubeadm init
[kubeadm] WARNING: kubeadm is in beta, please do not use it for production clusters.
[init] Using Kubernetes version: v1.6.4
[init] Using Authorization mode: RBAC
[preflight] Running pre-flight checks
[preflight] WARNING: Connection to "https://10.189.12.47:6443" uses proxy "http://webproxy:3128/". If that is not intended, adjust your proxy settings
[preflight] Starting the kubelet service
[certificates] Generated CA certificate and key.
[certificates] Generated API server certificate and key.
[certificates] API Server serving cert is signed for DNS names [xxxkubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] and IPs [10.96.0.1 10.189.12.47]
[certificates] Generated API server kubelet client certificate and key.
[certificates] Generated service account token signing key and public key.
[certificates] Generated front-proxy CA certificate and key.
[certificates] Generated front-proxy client certificate and key.
[certificates] Valid certificates and keys now exist in "/etc/kubernetes/pki"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/admin.conf"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/kubelet.conf"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/controller-manager.conf"
[kubeconfig] Wrote KubeConfig file to disk: "/etc/kubernetes/scheduler.conf"
[apiclient] Created API client, waiting for the control plane to become ready

and I'm certain that I've disabled selinux

@luxas
Copy link
Member

luxas commented May 30, 2017

@jazemzer That seems like a (separate) proxy issue. Please open a new issue and give more details.
I think your proxy is somehow mis-configured so that kubelet can't pull the right images or something.

I think this is a docker issue, maybe specific to v1.12.2?

@githubvick
Copy link
Author

Yes, this issue is specific to Docker version < v1.12.2. It actually works on 1.12.2. I can close the issue if you want.

@luxas luxas closed this as completed Jul 14, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants