我有kubeadm的安装群集,它的工作正常,并且6443端口已启动。但是重新启动后,我的系统群集无法启动。
我该怎么办?
请找到日志
node@node1:~$ sudo kubeadm init
[init] using Kubernetes version: v1.11.1
......
node@node1:~$
node@node1:~$ mkdir -p $HOME/.kube
node@node1:~$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
node@node1:~$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
node@node1:~$
node@node1:~$
node@node1:~$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
node1 NotReady master 4m v1.11.1
node@node1:~$ ps -ef | grep 6443
root 5542 5503 8 13:17 ? 00:00:17 kube-apiserver --authorization-mode=Node,RBAC --advertise-address=172.16.2.171 --allow-privileged=true --client-ca-file=/etc/kubernetes/pki/ca.crt --disable-admission-plugins=PersistentVolumeLabel --enable-admission-plugins=NodeRestriction --enable-bootstrap-token-auth=true --etcd-cafile=/etc/kubernetes/pki/etcd/ca.crt --etcd-certfile=/etc/kubernetes/pki/apiserver-etcd-client.crt --etcd-keyfile=/etc/kubernetes/pki/apiserver-etcd-client.key --etcd-servers=https://127.0.0.1:2379 --insecure-port=0 --kubelet-client-certificate=/etc/kubernetes/pki/apiserver-kubelet-client.crt --kubelet-client-key=/etc/kubernetes/pki/apiserver-kubelet-client.key --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname --proxy-client-cert-file=/etc/kubernetes/pki/front-proxy-client.crt --proxy-client-key-file=/etc/kubernetes/pki/front-proxy-client.key --requestheader-allowed-names=front-proxy-client --requestheader-client-ca-file=/etc/kubernetes/pki/front-proxy-ca.crt --requestheader-extra-headers-prefix=X-Remote-Extra- --requestheader-group-headers=X-Remote-Group --requestheader-username-headers=X-Remote-User --secure-port=6443 --service-account-key-file=/etc/kubernetes/pki/sa.pub --service-cluster-ip-range=10.96.0.0/12 --tls-cert-file=/etc/kubernetes/pki/apiserver.crt --tls-private-key-file=/etc/kubernetes/pki/apiserver.key
node 6792 4426 0 13:20 pts/1 00:00:00 grep --color=auto 6443
node@node1:~$
node@node1:~$
node@node1:~$
node@node1:~$ sudo reboot
Connection to node1 closed by remote host.
Connection to node1 closed.
abc@xyz:~$ ssh node@node1
node@node1's password:
node@node1:~$ kubectl get nodes
No resources found.
The connection to the server 172.16.2.171:6443 was refused - did you specify the right host or port?`enter code here`
node@node1:~$
node@node1:~$ ps -ef | grep 6443
node 7083 1920 0 13:36 pts/0 00:00:00 grep --color=auto 6443
答案 0 :(得分:0)
您的kubelet
服务未运行。尝试查看其日志:
$ journalctl -u kubelet
要启动该服务:
$ sudo systemctl start kubelet
如果要使kubelet
在引导期间运行,则需要对其进行禁止。首先检查kubelet
服务状态:
$ systemctl status kubelet
会有一行:
...
Loaded: loaded (/etc/systemd/system/kubelet.service; (enabled|disabled)
...
“已禁用”条目表示您应该启用它:
$ sudo systemctl enable kubelet
但是,很有可能已经启用了该功能,因为这是由“系统供应商预设”完成的,因此您必须调试kubelet
掉落的原因。您可以在此处发布日志输出,stackoverflow的社区将为您提供帮助。
答案 1 :(得分:0)
我认为您没有从交付给您的软件包中安装Kubernetes Linux发行版-据我所知,在Ubuntu上进行安装可以提供服务 取决于已安装的Kubernetes,以避免出现您所描述的情况。
您面临的问题是缺少对通过systemd或其他运行时脚本启动kubelet的支持。 Systemd是系统和服务管理器。 Kubernetes代表他们开始 在系统启动时。
您可以尝试通过复制/创建所需的systemd配置来修复安装
kubernetes.service
到安装/etc/systemd
目录。
[Unit]
Description=Kubernetes Kubelet
Documentation=https://github.com/kubernetes/kubernetes
[Service]
ExecStartPre=/usr/bin/mkdir -p /etc/kubernetes/manifests
ExecStart=/usr/bin/kubelet \
--api-servers=http://127.0.0.1:8080 \
--allow-privileged=true \
--config=/etc/kubernetes/manifests \
--v=2
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
并使用systemctl启用服务:
sudo systemctl enable kubelet
journalctl日志可能会提供有关Kubernetes问题的信息 服务,如果它们仍然存在。
sudo journalctl -xeu kubelet