kubernetes各种问题汇总 (一)

1、
Jul 18 02:25:58 lab3 etcd[5649]: the server is already initialized as member before, starting as etcd member...
https://www.cnblogs.com/ericnie/p/6886016.html

[root@lab3 k8s]# systemctl start etcd
Job for etcd.service failed because the control process exited with error code. See "systemctl status etcd.service" and "journalctl -xe" for details

[root@lab3 k8s]# journalctl -xe

Jul 18 02:25:58 lab3 etcd[5649]: the server is already initialized as member before, starting as etcd member...


核心语句

raft save state and entries error: open /var/lib/etcd/default.etcd/member/wal/0.tmp: is a directory

解决:

进入相关目录,删除0.tmp,然后就可以启动啦!

删除后,把node3  上的配置的目录全部删除,然后再重新配置。

2、
WARNING: all flags other than --config, --write-config-to, and --cleanup are deprecated. Please begin using a config file ASAP.

[root@lab1 ~]# systemctl status kube-scheduler -l
● kube-scheduler.service - Kubernetes Scheduler Plugin
   Loaded: loaded (/etc/systemd/system/kube-scheduler.service; enabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since Thu 2018-07-19 01:49:06 EDT; 13min ago
     Docs: https://github.com/kubernetes/kubernetes
  Process: 13107 ExecStart=/usr/local/kubernetes/bin/kube-scheduler $KUBE_LOGTOSTDERR $KUBE_LOG_LEVEL $KUBECONFIG $KUBE_SCHEDULER_ARGS (code=exited, status=1/FAILURE)
 Main PID: 13107 (code=exited, status=1/FAILURE)

Jul 19 01:49:06 lab1 systemd[1]: kube-scheduler.service: main process exited, code=exited, status=1/FAILURE
Jul 19 01:49:06 lab1 kube-scheduler[13107]: W0719 01:49:06.562968   13107 options.go:148] WARNING: all flags other than --config, --write-config-to, and --cleanup are deprecated. Please begin using a config file ASAP.


原因:没有仔细按照文档操作,文档配置这一步:生成kubeconfig,我是全部复制进去了,其实分开了好多小步骤,

解决:重新安装,每一步都要做,不要省事,

3、
[root@lab1 ~]# systemctl status kubelet
● kubelet.service - Kubernetes Kubelet Server
   Loaded: loaded (/etc/systemd/system/kubelet.service; enabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since Thu 2018-07-19 21:38:57 EDT; 3s ago
     Docs: https://github.com/kubernetes/kubernetes
  Process: 3243 ExecStart=/usr/local/kubernetes/bin/kubelet $KUBE_LOGTOSTDERR $KUBE_LOG_LEVEL $KUBELET_CONFIG $KUBELET_HOSTNAME $KUBELET_POD_INFRA_CONTAINER $KUBELET_ARGS (code=exited, status=255)
 Main PID: 3243 (code=exited, status=255)


解决:node节点也安装k8s文件,文档在node加点没有安装k8s ,所以报错


4、

[root@lab2 k8s]# kubectl version
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:17:28Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}
The connection to the server localhost:8080 was refused - did you specify the right host or port?

解决:

方法一:

[root@lab2 kubernetes]# export KUBECONFIG=/etc/kubernetes/admin.conf        # 这句话是加授权的意思,


方法二:

把master节点的配置文件admin.conf  复制到 node节点的 /etc/kubernetes/

然后执行:

rm -rf $HOME/.kube
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get no

5、

[root@lab1 flannel]# kubectl get pods -n kube-system
NAME                    READY     STATUS         RESTARTS   AGE
kube-flannel-ds-4hdsh   0/1       ErrImagePull   0          1m
kube-flannel-ds-7gmwt   0/1       ErrImagePull   0          1m
kube-flannel-ds-cbk5z   0/1       ErrImagePull   0          1m
[root@lab1 flannel]# 


解决:等一会,这个启动比较慢,上次启动没起来,吓一跳,过了几分钟就running起来,

[root@lab1 flannel]# kubectl get pods -n kube-system
NAME                    READY     STATUS    RESTARTS   AGE
kube-flannel-ds-4hdsh   1/1       Running   0          6m
kube-flannel-ds-7gmwt   1/1       Running   0          6m
kube-flannel-ds-cbk5z   1/1       Running   0          6m

6、
coredns  无法启动,


[root@lab1 coredns]# kubectl get pods -n kube-system
NAME                       READY     STATUS              RESTARTS   AGE
coredns-6975654877-d6q9z   0/1       ContainerCreating   0          21s
coredns-6975654877-k48wq   0/1       ContainerCreating   0          21s
kube-flannel-ds-d2tff      1/1       Running             0          3m

解决:
配置使用flannel网络kube-flannel.yml,这步要修改网卡,把kube-flannel.yml  里面的- --iface=eth1 修改成自己本机的网卡

7、
[root@lab1 ~]# systemctl status etcd
Aug 16 17:01:07 lab1 etcd[9526]: failed to dial d35b4e3738b04cd7 on stream MsgApp v2 (dial tcp 10.1.1.111:2380: getsockopt:...efused)

解决: master的防火墙没有关, 关掉就可以

8、
[root@lab1 ~]# kubectl get no
Unable to connect to the server: Forbidden

解决:

先把k8s相关组件服务状态排查下,实在找不到原因,重启这三台 就好

9、
问题: 创建flnal 后一会runing  一会挂掉

解决:

安装kube-kube-proxy ,不要选择ipvs模式,centos7环境,ipvs模式在1.11.0不行, 在1.11.1之后就ok了

10、

下面报错,与此同时,测试的数据库也出现了mysql连接问题。

[root@lab2 ~]# kubectl get no
E0828 11:06:56.233812    2504 round_trippers.go:169] CancelRequest not implemented

解决:

[root@lab1 ~]# 什么都不管用, 第一种情况是云主机之间不畅通,  第二种情况是被黑了,  第一种情况占的大

11、

pod一直处理ContainerCreating 状态

[root@node2 coredns]# kubectl get po -n kube-system
NAME                       READY     STATUS              RESTARTS   AGE
coredns-55f86bf584-4rzwj   0/1       ContainerCreating   0          8s
coredns-55f86bf584-dp8gp   0/1       ContainerCreating   0          8s


解决:

http://www.mamicode.com/info-detail-2310522.html

查看/etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt (该链接就是上图中的说明) 是一个软链接,但是链接过去后并没有真实的/etc/rhsm,所以需要使用yum安装:
yum install *rhsm* -y

wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm
rpm2cpio python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm | cpio -iv --to-stdout ./etc/rhsm/ca/redhat-uep.pem | tee /etc/rhsm/ca/redhat-uep.pem

这两个命令会生成/etc/rhsm/ca/redhat-uep.pem文件.

重启docker
systemctl restart docker


[root@node2 coredns]# docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest
latest: Pulling from rhel7/pod-infrastructure
26e5ed6899db: Pull complete 
66dbe984a319: Pull complete 
9138e7863e08: Pull complete 
Digest: sha256:92d43c37297da3ab187fc2b9e9ebfb243c1110d446c783ae1b989088495db931
Status: Image is up to date for registry.access.redhat.com/rhel7/pod-infrastructure:latest

[root@node2 coredns]# kubectl delete -f .
[root@node2 coredns]# kubectl create -f .
[root@node2 coredns]# kubectl get po -n kube-system
NAME                       READY     STATUS    RESTARTS   AGE
coredns-55f86bf584-4rzwj   1/1       Running   0          5m
coredns-55f86bf584-dp8gp   1/1       Running   0          5m

12、

pod一直处理terminating 状态

使用命令

kubectl delete pods --all --grace-period=0 –force

强制删除


重启 kube-apiserver

重启 kubelet  docker   实在不行就重启系统

重启后如果发现还在就再强制删除

posted @ 2022-02-13 22:58  zhuguoqing  阅读(778)  评论(0编辑  收藏  举报