ubuntu - 重启系统后 Kubernetes 不启动(Ubuntu)

标签 ubuntu kubernetes

我在 VirtualBox 中的两个 Ubuntu(Master 和 Node01)上安装了 K8s。安装后(我根据 K8s 文档站点进行)我输入 kubectl get nodes 并让 bot 服务器处于 Ready 状态。但是在重启系统后我得到了这个:

# kubectl get nodes 
The connection to the server localhost:8080 was refused - did you specify the 
right host or port? 

我检查了 kubelet 服务,它正在运行:

# systemctl status kubelet
kubelet.service - kubelet: The Kubernetes Node Agent 
   Loaded: loaded (/lib/systemd/system/kubelet.service; enabled; vendor preset: enabled) 
  Drop-In: /etc/systemd/system/kubelet.service.d 
           └─10-kubeadm.conf 
   Active: active (running) since Mon 2017-04-24 10:01:51 CEST; 15min ago 
     Docs: http://kubernetes.io/docs/ 
Main PID: 13128 (kubelet) 
    Tasks: 21 
   Memory: 48.2M 
      CPU: 58.014s 
   CGroup: /system.slice/kubelet.service 
           ├─13128 /usr/bin/kubelet --kubeconfig=/etc/kubernetes/kubelet.conf --require-kubeconfig=true --pod-manifest-path=/etc/kubernetes/manifests --allow-privileged=true --cluster-dns=10.96.0.10 --cluster-domain=cluster.local 
           └─13164 journalctl -k -f 

Apr 24 10:16:40 master kubelet[13128]: I0424 10:16:40.204156   13128 kuberuntime_manager.go:752] Back-off 5m0s restarting failed container=weave pod=weave-net-5qgvz_kube-system(4b7bb2f0-2691-11e7-bfb6-080027229776) 
Apr 24 10:16:40 master kubelet[13128]: E0424 10:16:40.204694   13128 pod_workers.go:182] Error syncing pod 4b7bb2f0-2691-11e7-bfb6-080027229776 ("weave-net-5qgvz_kube-system(4b7bb2f0-2691-11e7-bfb6-080027229776)"), skipping: fail 
Apr 24 10:16:42 master kubelet[13128]: I0424 10:16:42.972302   13128 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/2b59d0d9-2692-11e7-bfb6-080027229776-default-token-h3v7c" (spec.Name: " 
Apr 24 10:16:48 master kubelet[13128]: I0424 10:16:48.949731   13128 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/2bb42bc1-2692-11e7-bfb6-080027229776-default-token-h3v7c" (spec.Name: " 
Apr 24 10:16:51 master kubelet[13128]: I0424 10:16:51.978663   13128 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/2b023c31-2692-11e7-bfb6-080027229776-default-token-h3v7c" (spec.Name: " 
Apr 24 10:16:52 master kubelet[13128]: I0424 10:16:52.909589   13128 operation_generator.go:597] MountVolume.SetUp succeeded for volume "kubernetes.io/secret/4b7bb2f0-2691-11e7-bfb6-080027229776-default-token-gslqd" (spec.Name: " 
Apr 24 10:16:53 master kubelet[13128]: I0424 10:16:53.186057   13128 kuberuntime_manager.go:458] Container {Name:weave Image:weaveworks/weave-kube:1.9.4 Command:[/home/weave/launch.sh] Args:[] WorkingDir: Ports:[] EnvFrom:[] Env: 
Apr 24 10:16:53 master kubelet[13128]: I0424 10:16:53.188091   13128 kuberuntime_manager.go:742] checking backoff for container "weave" in pod "weave-net-5qgvz_kube-system(4b7bb2f0-2691-11e7-bfb6-080027229776)" 
Apr 24 10:16:53 master kubelet[13128]: I0424 10:16:53.188717   13128 kuberuntime_manager.go:752] Back-off 5m0s restarting failed container=weave pod=weave-net-5qgvz_kube-system(4b7bb2f0-2691-11e7-bfb6-080027229776) 
Apr 24 10:16:53 master kubelet[13128]: E0424 10:16:53.189136   13128 pod_workers.go:182] Error syncing pod 4b7bb2f0-2691-11e7-bfb6-080027229776 ("weave-net-5qgvz_kube-system(4b7bb2f0-2691-11e7-bfb6-080027229776)"), skipping: fail 

这是重启 kubelet 后的 systemd 日志文件:Google Drive .

...我不确定我在文档中遗漏了什么或 kubelet 发生了什么。我可以请你帮忙吗? :]

• Ubuntu 版本

cat /etc/os-release 
NAME="Ubuntu" 
VERSION="16.04.2 LTS (Xenial Xerus)" 
ID=ubuntu 
ID_LIKE=debian 
PRETTY_NAME="Ubuntu 16.04.2 LTS" 
VERSION_ID="16.04" 
HOME_URL="http://www.ubuntu.com/" 
SUPPORT_URL="http://help.ubuntu.com/" 
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/" 
VERSION_CODENAME=xenial 
UBUNTU_CODENAME=xenial 

• 内核

# uname -a 
Linux ubuntu 4.4.0-72-generic #93-Ubuntu SMP Fri Mar 31 14:07:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 

• Kubectl 版本

# 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"} 
Server Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.0", GitCommit:"fff5156092b56e6bd60fff75aad4dc9de6b6ef37", GitTreeState:"clean", BuildDate:"2017-03-28T16:24:30Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"} 

• Kubeadm 版本

# 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"} 

• Kubelet 版本

# kubelet --version 
Kubernetes v1.6.1 

• Docker 版本

# docker version 
Client: 
Version:      1.11.2 
API version:  1.23 
Go version:   go1.5.4 
Git commit:   b9f10c9 
Built:        Wed Jun  1 22:00:43 2016 
OS/Arch:      linux/amd64 

Server: 
Version:      1.11.2 
API version:  1.23 
Go version:   go1.5.4 
Git commit:   b9f10c9 
Built:        Wed Jun  1 22:00:43 2016 
OS/Arch:      linux/amd64 

最佳答案

我在 kubernetes 1.12.3 和 ubuntu 16.04.05 上遇到了同样的问题。然后我通过运行命令查看了 kubernetes 日志

$ journalctl -u kubelet

然后在日志中我看到 k8s 正在提示(以状态 255 退出)交换正在打开。

然后我通过运行关闭交换

$ swapoff -a

然后我编辑了 fstab 并注释掉了 swap 的条目

$ vi /etc/fstab
#comment out line with swap

然后重启系统。 系统恢复后,我通过运行验证交换已被禁用

$ free -m

并检查交换行是否为 0。确实如此。

然后我通过执行验证kubeapi服务已经成功启动

$ systemctl status kubelet

已成功启动。我还通过重新检查 journalctl 日志进行了验证。这次没有看到交换错误。

我通过运行验证了 k8s 节点状态

$ kubectl 获取节点

现在正在运行并显示预期的输出。

注意:我之前也在我的 .bash_profile 文件中设置了 KUBECONFIG。

root@k8s-master:~# cat .bash_profile
export KUBECONFIG="/etc/kubernetes/admin.conf"

关于ubuntu - 重启系统后 Kubernetes 不启动(Ubuntu),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43603545/

相关文章:

ubuntu - 在 debian/ubuntu odoo 9 上的 Werkzeug 版本 View /更改

kubernetes - 是否可以在 cron 作业 pod 上使用 Kubernetes 自动缩放

Kubernetes CPU 节流,CPU 使用率远低于请求/限制

kubernetes - 错误 : You must be logged in to the server - the server has asked for the client to provide credentials - "kubectl logs" command gives error

kubernetes - 如何通过 Kubernetes 探针测试文件是否存在?

linux - glibc-2.14 当 'make install' 失败并出现 2 个错误

为 winegcc 找到 Ubuntu 13.04 : No windows. h?

python - 服务器 python 安装 - 本地或系统范围

ubuntu - 是否可以将 Github 发布链接添加到 Ubuntu sources.list?

redis - 如何从 Kubernetes 集群中的应用程序连接 Redis 集群?