zoukankan      html  css  js  c++  java
  • 二进制k8s使用的一些问题报错---持续补充中

    二进制k8s部署后的一些问题解决

     

    问题一:虚拟机挂起之后重开,发现etcd集群其中一个节点起不来(k8s-1)

    用这个命令在k8s-1启动,怎么样都起不来:supervisorctl start etcd-server-7-128

    用一个正常起了etcd的服务器(k8s-2)运行命令:

    ETCDCTL_API=3 /opt/apps/etcd/etcdctl --cacert=/opt/apps/etcd/certs/ca.pem --cert=/opt/apps/etcd/certs/etcd-peer.pem --key=/opt/apps/etcd/certs/etcd-peer-key.pem --endpoints="https://10.4.7.128:2379,https://10.4.7.129:2379,https://10.4.7.130:2379" endpoint health

     说的128连接不了

    查看128报错信息:

    etcd起不来,apiserver都起不了了

    W1201 13:41:22.278707 8011 clientconn.go:1251] grpc: addrConn.createTransport failed to connect to {10.4.7.130:2379 0 <nil>}. Err :connection error: desc = "transport: Error while dialing dial tcp 10.4.7.130:2379: connect: net
    work is unreachable". Reconnecting...

    问题解决:检查回环接口是否正常监听127.0.0.1

    etcd启动文件有个监听127.0.0.1的配置: /opt/apps/etcd/etcd-server-startup.sh 

    查看该机器的回环网口,确实没有监听127.0.0.1

    检查下 ifcfg-lo,ip地址有设置成127.0.0.1 。 重启网络就可以了:systemctl restart network

    问题二: kubectl get nodes 返回 No resources found.

    查看报错日志:/data/logs/kubernetes/kube-kubelet/kubelet.stdout.log

    说这个k8s-node 用户没有权限

    问题解决:想起部署文章有个这样的用户授权

    重新运行下就好了:

    kubectl create -f k8s-node.yaml 

    kubectl get clusterrolebinding k8s-node 

     至于为啥没有了这些信息。因为我后来把etcd节点从两个增加到三个了,其中增加第3个节点的时候报错,网上说要删除这个data-dir目录才能添加上,etcd是利用data-dir来进行数据的持久化保存的。之后要搞个etcd备份脚本才行,不然东西一多,数据坏了啥都没有

    别人给的etcd持久化备份脚本(先留着)

     1 cat bk_etcd.sh 
     2 #!/bin/bash
     3 set -e
     4 exec >> /opt/backup_week/backup_etcd.log
     5 
     6 Date=`date +%Y-%m-%d-%H-%M`
     7 EtcdEndpoints="localhost:2379"
     8 EtcdCmd="/opt/etcd/etcdctl"
     9 BackupDir="/opt/backup_week"
    10 BackupFile="etcd.db.$Date"
    11 
    12 echo "`date` backup etcd..."
    13 
    14 export ETCDCTL_API=3
    15 $EtcdCmd --endpoints $EtcdEndpoints snapshot save  $BackupDir/$BackupFile
    16 
    17 echo  "`date` backup done!"
    View Code

     问题三:kubectl get pods -o wide 返回pod状态为:ImagePullBackOff 

     查看pod的日志:kubectl describe pod nginx-ds-68x2r

     问题排查及解决:

    1、首先检查下docker的配置文件 /etc/docker/daemon.json是否有把私有仓库地址添加进来 ——》 没问题

    2、curl 和 telnet harbor仓库地址是否可以  ——》 没问题

    3、看看docker 是否有nginx这个镜像  ——》 发现没有

    docker images

     4、尝试重新拉取nginx镜像  ——》报错

     docker pull harbor.odljy.com/public/nginx:latest (前面应该要先运行下docker login 看看是否有登录权限)

    5、最后重启docker和harbor服务就解决了,估计网络有问题(之前有交代过虚拟机有关过机,还有挂起操作重起,估计影响到吧。。。)

    然后跑pod的node要是能成功的话,本地应该是有nginx镜像的

     get pod 也有返回了,不再是ImagePullBackOff 状态

    参考文档:

    http://dockone.io/article/10055

    http://dockone.io/article/2247

     

  • 相关阅读:
    Shader编程学习笔记(七)—— Surface Shader 1
    Shader编程学习笔记(六)—— Fixed Function Shader 2
    Shader编程学习笔记(五)—— Fixed Function Shader 1
    Shader编程学习笔记(四)—— Unity Shader的组织形式(ShaderLab)
    Shader编程学习笔记(三)—— 三大主流编程语言 HLSL/GLSL/Cg
    Shader编程学习笔记(二)—— Shader和渲染管线
    Shader编程学习笔记(一)—— 图形硬件简史与可编程管线
    响应式布局简明示例
    sass笔记一(安装)
    bootstrap常用
  • 原文地址:https://www.cnblogs.com/windysai/p/14069018.html
Copyright © 2011-2022 走看看