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

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

提示

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

升级

FusionCloud 6.3.0 安全管理指南 09

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

如何解决NTP Server时钟调整后导致FusionStage工作异常的问题?

问题描述

手动调整NTP时钟源后,配置了NTP Server的节点(包括运维面、管理面和纳管节点)都会渐变式同步NTP时钟源的时间。

  • 若NTP时钟源时间跳变在300s内,FusionStage工作正常,节点应用等业务不受影响;
  • 若NTP时钟源时间跳变在300s-1000s内,FusionStage工作异常,根据下述步奏进行恢复;
  • 若NTP时钟源时间跳变在1000s以上,FusionStage各节点的时钟同步进程会自动退出;此时若想强制同步NTP时钟源的时间,先在各个节点重启ntp服务(例如,在欧拉操作系统执行service ntpd restart、在SUSE Linux操作系统执行service ntp restart),再根据下述步奏进行恢复。

解决方法

  1. NTP时钟源调整后,以paas用户登录所有节点。
  2. 执行以下命令查看节点时间是否同步为NTP时钟源的时间。

    date -u

    若已同步则进入后续步骤,若未同步则执行:

    ntpq -np

    获取NTP Server IP值后执行如下命令:

    ntpdate -u NTP Server IP

    说明:

    所有节点均需执行上述命令。

  3. paas用户登录运维管理面各个Core节点所在的虚拟机。
  4. 重启Core节点的kubelet组件。

    monit restart kubelet

  5. 重启kube-proxy组件。

    monit restart kube-proxy

  6. 将manifests文件夹下的manifest文件移到“/tmp/backup”目录下,之后再移回manifests目录,以此来重启Core节点的所有组件。

    cd /var/paas/kubernetes/manifests

    mkdir /tmp/backup

    mv *.manifest /tmp/backup

    mv /tmp/backup/*.manifest /var/paas/kubernetes/manifests

  7. paas用户分别登录除运维管理面Core节点外的其他运维管理面节点、租户管理面节点和纳管节点。

    说明:

    请在每个节点上执行如下操作。

    1. 重启kubelet组件。

      monit restart kubelet

    2. 重启kube-proxy组件。

      monit restart kube-proxy

  8. root用户登录运维管理面各个Core节点所在的虚拟机。
  9. 设置环境变量。

    • 运维面管理面使用kubectl之前请先在OM-Core01上执行:

      export PAAS_CRYPTO_PATH=/var/paas/srv/kubernetes

      alias kubectl="/var/paas/kubernetes/kubectl --client-certificate=${PAAS_CRYPTO_PATH}/server.cer --client-key=${PAAS_CRYPTO_PATH}/server_key.pem --certificate-authority=${PAAS_CRYPTO_PATH}/ca.cer -s https://{om_core1_ip}:5443"

      其中,om_core1_ip为OM-Core01节点eth0的IP。

    • 私有集群使用kubectl之前请先在master节点执行:

      export PAAS_CRYPTO_PATH=/var/paas/srv/kubernetes

      alias kubectl="/var/paas/kubernetes/kubectl --client-certificate=/var/paas/srv/kubernetes/server.cer --client-key=/var/paas/srv/kubernetes/server_key.pem --certificate-authority=/var/paas/srv/kubernetes/ca.cer -s https://127.0.0.1:6443"

  10. 查看各个面的Pod状态。

    • 查看租户管理面的Pod状态。

      kubectl -n manage get pod -owide

    • 查看运维管理面的Pod状态。

      kubectl -n om get pod -owide

    • 查看kube-system面的Pod状态。

      kubectl -n kube-system get pod -owide

    若该面的Pod为非running状态,可以执行以下操作进行恢复,这里以租户管理面为例。
    1. 执行以下命令查看Pod列表。

      kubectl -n manage get pod

      回显如下:

      NAME                              READY     STATUS           RESTARTS   AGE
      cse-config-center-1910989907-08xg5         1/1       Running              0          2d
      cse-config-center-1910989907-md6th         1/1       Running              0          2d
      cse-etcd-0                               1/1       Running              0          2d
      cse-etcd-1                               1/1       Running              0          1d
      cse-etcd-2                               1/1       Running              0          2d
      cse-service-center-2859533834-9cld2         1/1       ERROR              1          2d
      cse-service-center-2859533834-p57lt          1/1      Running              5          2d
      dbagent-kc20g                            1/1      Running              0          9d
      dbagent-m4pfq                            1/1      Running              0          9d
      dbproxyservice-4j264                       1/1      Running              0          9d
      dbproxyservice-6z05b                       1/1      Running              0          9d
    2. 执行以下命令删除非running状态的Pod。
      kubectl -n manage delete pod dfx-backup-server-paas-100-109-173-244
      说明:
      • dfx-backup-server-paas-100-109-173-244为10.a中查到的非running状态的NAME列的值。
      • 删除该Pod后,系统将重新创建一个Pod。
    3. 执行10.a查看重新创建的Pod的状态是否为running。
      • 是,表明环境恢复成功。
      • 否,执行10.d
    4. 重启非running状态的Pod所在虚拟机的kubelet。
      1. 执行以下命令获取Pod所在虚拟机IP地址。

        kubectl -n manage get pod dfx-backup-server-paas-100-109-173-244 -o yaml|grep hostIP

        回显如下:

        hostIP: 192.168.173.244
      2. paas用户登录Pod所在虚拟机。

        ssh paas@hostIP

        说明:

        hostIP为10.d.i中查到的虚拟机IP地址。

      3. 执行以下命令重启kubelet。

        monit restart kubelet

    5. 执行10.a查看重新创建的Pod的状态是否为running。
      • 是,表明环境恢复成功。
      • 否,且状态为UpdatePodAnnotationFailed,执行10.f
      • 否,且状态不为UpdatePodAnnotationFailed,请联系华为工程师。
    6. 若Pod为UpdatePodAnnotationFailed状态,可能是时间跳变导致nginx工作异常,需要重建nginx的Pod。重建成功后,再将UpdatePodAnnotationFailed状态的Pod删除。
      1. 执行以下命令获取nginx服务的Pod。

        kubectl -n kube-system get pod |grep nginx

        回显如下:

        NAME                            READY      STATUS    RESTARTS   AGE     
         nginx-paas-192-168-173-244      1/1        Running     1          13m     
         nginx-paas-192-168-173-62       1/1        Running     1          23h
      2. 删除10.f.i中获取的Pod。

        kubectl -n kube-system delete pod nginx-paas-100-109-173-244

      3. 获取状态为UpdatePodAnnotationFailed的Pod。

        kubectl -n manage get pod |grep UpdatePodAnnotationFailed

        回显如下:

        NAME                    READY        STATUS                 RESTARTS    AGE
           icagent-vbtmg                 1/1       UpdatePodAnnotationFailed        0          5d
           icagent-w4kzp                 1/1       UpdatePodAnnotationFailed        0          20h
           icagent-xgnml                 1/1       UpdatePodAnnotationFailed         0          20h
      4. 删除10.f.iii中所有状态为UpdatePodAnnotationFailed的Pod。

        kubectl -n manage delete pod icagent-vbtmg

        kubectl -n manage delete pod icagent-w4kzp

        kubectl -n manage delete pod icagent-xgnml

    7. 执行10.a查看重新创建的Pod的状态是否为running。
      • 是,表明环境恢复成功。
      • 否,请联系华为工程师。

翻译
下载文档
更新时间:2019-01-25

文档编号:EDOC1100015665

浏览量:29493

下载量:793

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