所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

FusionCloud 6.3.1 故障处理 06

评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
单个ETCD pod状态异常

单个ETCD pod状态异常

异常现象

现象说明

查询etcd pod,检查pod状态,出现异常。

异常确认
  • 运维管理域etcd pod异常状态确认
    1. 使用PuTTY,登录om_core1_ip节点。

      默认帐号:paas,默认密码:QAZ2wsx@123!

    2. 执行如下命令查询etcd pod状态。

      kubectl get pod -nom -owide|grep etcd|grep -v cse

      etcd-backup-server-paas-10-118-16-189        1/1       Running    0          3d        10.118.16.189   paas-10-118-16-189
      etcd-backup-server-paas-10-118-16-231        1/1       Running    0          37m       10.118.16.231   paas-10-118-16-231
      etcd-backup-server-paas-10-118-16-53         1/1       Running    0          2h        10.118.16.53    paas-10-118-16-53
      etcd-event-server-paas-10-118-16-189         1/1       Running    0          3d        10.118.16.189   paas-10-118-16-189
      etcd-event-server-paas-10-118-16-231         1/1       Running    0          37m       10.118.16.231   paas-10-118-16-231
      etcd-event-server-paas-10-118-16-53          1/1       Running    0          2h        10.118.16.53    paas-10-118-16-53
      etcd-network-server-paas-10-118-16-189       1/1       Running    0          3d        10.118.16.189   paas-10-118-16-189
      etcd-network-server-paas-10-118-16-231       1/1       Running    0          37m       10.118.16.231   paas-10-118-16-231
      etcd-network-server-paas-10-118-16-53        1/1       Running    0          2h        10.118.16.53    paas-10-118-16-53
      etcd-server-paas-10-118-16-189               1/1       Running    0          3d        10.118.16.189   paas-10-118-16-189
      etcd-server-paas-10-118-16-231               1/1       Running    3          37m       10.118.16.231   paas-10-118-16-231
      etcd-server-paas-10-118-16-53                1/1       Running    0          2h        10.118.16.53    paas-10-118-16-53
  • 租户管理域etcd pod异常状态确认
    1. 使用PuTTY,登录om_core1_ip节点。

      默认帐号:paas,默认密码:QAZ2wsx@123!

    2. 执行如下命令查询etcd pod状态。

      kubectl get pod -n manage -owide|grep etcd|grep -v cse |grep -v elb

      etcd-0             1/1       Running   2          31m       10.184.42.123    paas-manage-core5-7d03ba8e-823f-gklq7
      etcd-1             1/1       Running   2          31m       10.184.41.116    paas-manage-core4-7d03ba8e-823f-cp30f
      etcd-2             1/1       Running   2          31m       10.177.119.50    paas-manage-core3-7d03ba8e-823f-f3j5m
      etcd-event-0       1/1       Err      2          31m       172.16.9.165     paas-manage-core5-7d03ba8e-823f-gklq7
      etcd-event-1       1/1       Running   2          31m       172.16.23.120    paas-manage-core3-7d03ba8e-823f-f3j5m
      etcd-event-2       1/1       Running   2          31m       172.16.24.176    paas-manage-core4-7d03ba8e-823f-cp30f
      etcd-network-0     1/1       Running   2          31m       172.16.23.119    paas-manage-core3-7d03ba8e-823f-f3j5m
      etcd-network-1     1/1       Running   2          31m       172.16.9.166     paas-manage-core5-7d03ba8e-823f-gklq7
      etcd-network-2      1/1       Running   2          31m       172.16.24.175    paas-manage-core4-7d03ba8e-823f-cp30f        
      说明:

      pod的异常状态表现为:err, CrashBackOff...

异常处理

前提条件

已将paas用户加入白名单,请参考如何解决sudo命令不能使用的问题

定位环境问题
  1. 使用PuTTY,登录om_core1_ip节点。

    默认帐号:paas,默认密码:QAZ2wsx@123!

  2. 执行如下命令查询出etcd-0所在节点IP。

    kubectl get pod etcd-0 -nmanage -oyaml | grep hostIP

     hostIP:10.154.248.63
    说明:

    etcd-0为异常现象中查询的异常pod名。

  3. 使用PuTTY,以paas用户登录到etcd-0所在节点。
  4. 根据以下步骤逐一定位etcd故障的原因,并进行解决。

    • 容器网络原因导致etcd故障。
      1. 执行如下命令登录至etcd-0容器。

        sudo docker ps |grep etcd-0

        0a1c9946060f        10.184.42.33:20202/root/cfe-etcd:2.2.4                   "/bin/sh -c 'umask 06"   3 minutes ago       Up 3 minutes                            k8s_etcd.902abe6d_etcd-0_manage_4072c181-888c-11e7-9423-286ed489be96_29e8d83b
        08131be7509a        10.184.42.33:20202/root/default/cfe-pause:2.8.7          "/pause"                 2 hours ago         Up 2 hours                              k8s_POD.2cdee072_etcd-0_manage_4072c181-888c-11e7-9423-286ed489be96_f5970a1f

        记录回显的容器ID,本例中容器ID为0a1c9946060f

        sudo docker exec -it 0a1c9946060f sh

      2. 执行如下命令进行检测网络,检测etcd-0、etcd-1、etcd-2之间的网络连接是否通畅。

        ping etcd-1.etcd.manage

        4.2$ ping etcd-1.etcd.manage
        PING etcd-1.etcd.manage.svc.cluster.local (10.184.41.116) 56(84) bytes of data.
        64 bytes from etcd-network-0.etcd-network.manage.svc.cluster.local (10.184.41.116): icmp_seq=1 ttl=63 time=1.53 ms
        64 bytes from etcd-network-0.etcd-network.manage.svc.cluster.local (10.184.41.116): icmp_seq=2 ttl=63 time=1.97 ms

        若未出现上述回显信息,则联系华为技术支持工程师解决容器网络问题。

    • 磁盘空间导致的etcd异常。

      执行如下命令进行磁盘空间检测。

      cd /var/paas/run

      df -h . | grep 100%

      若有回显信息,则表示磁盘空间已满,请清理磁盘空间。

    • 磁盘io导致etcd集群异常。

      执行如下命令查询系统io状态。

      iostat -x 1

      Linux 3.12.49-11-default (SZV1000269249) ?04/23/17 ?_x86_64_?(16 CPU) 
        
      avg-cpu:  %user   %nice %system %iowait  %steal   %idle 
                  8.37    0.04   13.11    4.63    0.00   73.85 
        
      Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util 
      xvda              0.27    83.42    1.12   28.17    22.88   551.59    39.22     0.26    8.99    5.95    9.11   0.52   100 
      xvde              0.75   219.17   12.87  355.79   276.25  8284.19    46.44     1.04    2.83    4.69    2.76   0.35  99 
      dm-0              0.00     0.00    0.07    0.77     0.27     3.08     8.00     0.00    4.06    1.45    4.29   0.94   0.08 
      dm-1              0.00     0.00   11.79   15.72   265.92   251.92    37.64     0.25    8.91    5.05   11.80   0.46   1.25 
      dm-2              0.00     0.00   11.79   15.72   265.92   251.92    37.64     0.25    8.91    5.05   11.81   0.46   100 
      xvdf              0.00   240.41    4.03  610.73   169.29  4264.36    14.42     1.71    2.78    4.61    2.76   0.97 100

      若%util列出现大量的100和99的数据,说明系统io被占满。请联系IaaS层面的技术支持进行系统层面的优化。

    • 若未出现以上问题,则执行运维管理域etcd异常处理租户管理域etcd异常处理

运维管理域etcd异常处理

以故障etcd所在OM-Core03节点为例,进行异常处理。

  1. 使用PuTTY,登录om_core3_ip节点。

    默认帐号:paas,默认密码:QAZ2wsx@123!

  2. 将manifest文件移除。

    说明:

    恢复etcd和etcd-network时,命令中对应的变量参数分别为:etcd、etcd-network。

    cd /var/paas/kubernetes/manifests/

    mv etcd-event.manifest ..

  3. 清除相关目录。

    创建tmp临时目录来保存数据文件,本例中为etcd-event/目录,etcd/和etcd-network/ 也有对应目录。

    cd /var/paas/run

    mkdir ../tmp

    mv etcd-event/ ../tmp

  4. 使用PuTTY,登录om_core1_ip节点。

    默认帐号:paas,默认密码:QAZ2wsx@123!

  5. 运行etcd-event容器。

    sudo docker ps | grep etcd-event

    回显信息如下:

    6d774ac2ac2e      cfe-etcd:2.8.7                                            "/bin/sh -c 'umask 06"   2 days ago          Up 2 days                               k8s_etcd-container.d6f90091_etcd-event-server-10.184.42.132_om_9f4b2d62d846556015bb495930f7fa4f_6a546c2e
    b577e0f5e45a      paas-cfe-pause-bootstrap                                  "/pause"                 2 days ago          Up 2 days                               k8s_POD.6d5cdc5e_etcd-event-server-10.184.42.132_om_9f4b2d62d846556015bb495930f7fa4f_561795ae

    记录回显的容器ID,本例中etcd-event对应的容器ID为6d774ac2ac2e

    sudo docker exec -it 6d774ac2ac2e bash

  6. 查询etcd集群各节点的IP和端口。

    说明:

    默认情况下,4001为etcd集群的client port,4002为etcd-event的client port,4003为etcd-network的client port。

    ETCDCTL_API=3 /start-etcd --cacert /srv/kubernetes/ca.cer --cert /srv/kubernetes/server.cer --key /srv/kubernetes/server_key.pem --endpoints https://127.0.0.1:4002 member list

    回显信息如下:

    1f4397f9956e1e8b, started, infra1, https://10.184.43.79:2381, https://10.184.43.79:4002
    9a3dd24ebfc5c212, started, infra2, https://10.177.119.155:2381, https://10.177.119.155:4002
    fc4a4cd2cf50cbf1, started, infra0, https://10.184.42.132:2381, https://10.184.42.132:4002

    记录集群各节点ip和对应的端口,本例中为https://10.184.43.79:4002、https://10.177.119.155:4002、https://10.184.42.132:4002

  7. 查询etcd集群的状态。

    说明:

    默认情况下,4001为etcd集群的client port,4002为etcd-event的client port,4003为etcd-network的client port。

    ETCDCTL_API=3 /start-etcd --cacert /srv/kubernetes/ca.cer --cert /srv/kubernetes/server.cer --key /srv/kubernetes/server_key.pem --endpoints https://10.184.43.79:4002,https://10.177.119.155:4002,https://10.184.42.132:4002 endpoint status

    2017-08-18 20:14:32.663688 I | warning: ignoring ServerName for user-provided CA for backwards compatibility is deprecated
    Failed to get the status of endpoint https://10.177.119.155:4002 (context deadline exceeded)
    https://10.184.42.132:4002, fc4a4cd2cf50cbf1, 3.1.9, 8.2 MB, false, 17, 2617441
    https://10.184.43.79:4002, 1f4397f9956e1e8b, 3.1.9, 8.4 MB, true, 17, 2617441

    其中,https://10.177.119.155:4002状态异常,记录步骤 6中显示的节点ID,本例中为9a3dd24ebfc5c212

  8. 将无法查询到状态的节点删除。

    说明:

    默认情况下,4001为etcd集群的client port,4002为etcd-event的client port,4003为etcd-network的client port。

    删除的节点ID通过步骤 7查询得到。

    ETCDCTL_API=3 /start-etcd --cacert /srv/kubernetes/ca.cer --cert /srv/kubernetes/server.cer --key /srv/kubernetes/server_key.pem --endpoints https://10.184.42.132:4002,https://10.184.43.79:4002,https://10.177.119.155:4002 member remove 9a3dd24ebfc5c212

    回显信息如下:

    2017-08-18 20:20:08.659346 I | warning: ignoring ServerName for user-provided CA for backwards compatibility is deprecated
    Member 9a3dd24ebfc5c212 removed from cluster b2d484e5f23f7a6e

  9. 使用PuTTY,登录om_core3_ip节点。

    默认帐号:paas,默认密码:QAZ2wsx@123!

  10. 将etcd-event.manifest文件移入。

    cd /var/paas/kubernetes/manifests/

    mv ../etcd-event.manifest .

  11. 执行1确认pod是否被修复,若pod状态为Running,表示异常已处理。
  12. 执行以下命令,删除tmp临时目录。

    /var/paas

    rm -rf tmp/

租户管理域etcd异常处理

以etcd-0节点出现一个异常pod为例,进行异常处理。

  1. 使用PuTTY,登录om_core1_ip节点。

    默认帐号:paas,默认密码:QAZ2wsx@123!

  2. 执行如下命令查询出etcd-0所在节点IP。

    kubectl get pod etcd-0 -nmanage -oyaml | grep hostIP

     hostIP:10.154.248.63

    etcd-0为异常pod名。

  3. paas用户登录到etcd-0所在节点。
  4. 杀掉异常的etcd-0容器。

    说明:

    恢复etcd-event和etcd-network时,命令中对应的变量参数分别为:etcd-event、etcd-network-server。

    sudo docker ps | grep etcd-0 | awk '{print $1}' | xargs sudo docker kill

  5. 清除掉相关目录。

    创建tmp临时目录来保存数据文件,本例中为etcd/目录,etcd-event和etcd-network也有对应目录。

    cd /var/paas/run

    mkdir ../tmp

    mv etcd/ ../tmp

  6. 执行1确认pod是否被修复,若pod状态为Running,表示异常已处理。
  7. 执行以下命令,删除tmp临时目录。

    /var/paas

    rm -rf tmp/

翻译
下载文档
更新时间:2019-08-19

文档编号:EDOC1100043088

浏览量:18192

下载量:438

平均得分:
本文档适用于这些产品
相关版本
相关文档
Share
上一页 下一页