• 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   实在不行就重启系统

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

  • 相关阅读:
    Hibrenate load 和 get
    用 JMX 检测应用程序
    java.lang.Class类
    JAVA方法传递参数:传值?传引用?
    Spring Task Schedule 及多线程
    Spring 3.0 注解
    Spring Batch 文档(中文)
    C#中combobox 控件属性、事件、方法
    LINQ to SQL快速上手 step by step
    C#操作字符串方法总结<转>
  • 原文地址:https://www.cnblogs.com/zhugq02/p/15890783.html
Copyright © 2020-2023  润新知