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

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

提示

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

升级

FusionCloud 6.3.1 用户指南 (Region Type II) 10

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

常见问题

应用监控常见问题

如何搜索指标
问题

如何搜索指标?

回答
  1. 在主菜单中选择“应用运维 > 应用运维”。
  2. 在左侧导航栏中选择“视图管理 > 指标监控”。
  3. 在“指标监控”页面中单击需要搜索的指标所在的命名空间。
  4. 在该命名空间中选择需要搜索指标的类型。

    例如,“应用”命名空间下的“应用指标”、“容器指标”等指标类型。

  5. 在右上角的搜索框中输入关键字。

    说明:
    • “指标名称(metricName)”字段只支持搜索括号里的内容。例如,当指标名称为“CPU使用率(cpuUsage)”时,则需要输入“cpuUsage”里的内容进行搜索。
    • 支持“应用名称(appName)”、“指标名称(metricName)”等多个字段联合搜索,多个字段间用空格隔开。例如,当搜索应用名称为“cfe-addons”的应用的CPU使用率指标时,则需要输入:cfe-addons cpuUsage。
    • 支持模糊搜索。例如,当搜索应用名称中包含“cfe-”的应用的CPU使用率指标时,则需要输入:cfe- cpuUsage。

  6. 单击,或在键盘上按“Enter”键。
如何搜索阈值规则
问题

如何搜索阈值规则?

回答
  1. 在主菜单中选择“应用运维 > 应用运维”。
  2. 在左侧导航栏中选择“告警中心 > 阈值规则”。
  3. (可选)在“阈值规则”页面右上角的“状态”下拉列表框中选择需要搜索的阈值规则的状态。
  4. 在“阈值规则”页面右上角的搜索框中输入关键字。

    说明:
    • 支持“名称”、“指标名称”和“描述”等字段搜索,但不支持多个字段联合搜索。
    • “指标名称”字段只支持搜索括号里的内容。例如,当指标名称为“CPU使用率(cpuUsage)”时,则需要输入“cpuUsage”里的内容进行搜索。

  5. 单击,或在键盘上按“Enter”键。
  6. (可选)在页面右侧单击,可以自定义显示列。
如何修改阈值规则
问题

如何修改阈值规则?

回答
  1. 在主菜单中选择“应用运维 > 应用运维”。
  2. 在左侧导航栏中选择“告警中心 > 阈值规则”。
  3. 在“阈值规则”页面右上角的搜索框中输入关键字,搜索需要修改的阈值规则,详细操作请参见如何搜索阈值规则
  4. 单击需要修改的阈值规则右侧“操作”列的“修改”。
  5. 在“修改阈值”对话框中,根据需要修改阈值规则的相关参数。
  6. 单击“确定”。
如何删除阈值规则
问题

如何删除阈值规则?

回答
  1. 在主菜单中选择“应用运维 > 应用运维”。
  2. 在左侧导航栏中选择“告警中心 > 阈值规则”。
  3. 在“阈值规则”页面右上角的搜索框中输入关键字,搜索需要删除的阈值规则,详细操作请参见如何搜索阈值规则
  4. 选中一个或多个需要删除的阈值规则前的复选框,单击页面上方的“删除”。

    说明:
    • 在需要删除的阈值规则右侧“操作”列的“更多”中选择“删除”,可以删除该条阈值规则。
    • 默认阈值规则被删除后,系统将不会重新创建。

  5. 在“警告”对话框中单击“确定”。
如何删除监控视图
问题

如何删除监控视图?

回答
  1. 在主菜单中选择“应用运维 > 应用运维”。
  2. 在左侧导航栏中选择“视图管理 > 监控大盘”。
  3. 在“操作”下拉列表框的左侧选择需要删除的监控视图。
  4. 在该监控视图的“操作”下拉列表框中选择“删除监控视图”。

    说明:

    通过“操作”下拉列表框中的选项还可以对该监控视图进行另存为、重命名和导出监控报告等操作。

  5. 在“警告”对话框中单击“确定”。
如何在监控视图中编辑指标图表
问题

如何在监控视图中编辑指标图表?

回答
  1. 在主菜单中选择“应用运维 > 应用运维”。
  2. 在左侧导航栏中选择“视图管理 > 监控大盘”。
  3. 在“操作”下拉列表框的左侧选择需要编辑指标图表的监控视图。
  4. 在该监控视图中,单击需要编辑的指标图表右上角的下拉箭头,选择“编辑”,并根据需要编辑指标图表的相关参数。
  5. 单击“确定”。
  6. 在页面右侧单击“保存监控视图”,或在“操作”下拉列表框中选择“保存监控视图”。
如何在监控视图中添加指标图表
问题

如何在监控视图中添加指标图表?

回答

可以通过如下两种方式在监控视图中添加指标图表。

  • 方式一:通过添加指标图表功能将指标图表添加到监控视图中。
    1. 在主菜单中选择“应用运维 > 应用运维”。
    2. 在左侧导航栏中选择“视图管理 > 监控大盘”。
    3. 在“操作”下拉列表框的左侧选择需要添加指标图表的监控视图。
    4. 在该监控视图中,单击“添加指标图表”,或在“操作”下拉列表框中选择“添加指标图表”。
    5. 在“选择指标”页面中,根据界面提示添加指标图表。
    6. 在页面右侧单击“保存监控视图”,或在“操作”下拉列表框中选择“保存监控视图”。
  • 方式二:通过复制指标图表功能将指标图表添加到监控视图中。
    1. 在主菜单中选择“应用运维 > 应用运维”。
    2. 在左侧导航栏中选择“视图管理 > 监控大盘”。
    3. 在“操作”下拉列表框的左侧选择需要添加指标图表的监控视图。
    4. 在该监控视图中,单击需要复制的指标图表右上角的下拉箭头并选择“复制”。
    5. (可选)编辑已复制的指标图表,详细操作请参见如何在监控视图中编辑指标图表
    6. 在页面右侧单击“保存监控视图”,或在“操作”下拉列表框中选择“保存监控视图”。
如何在监控视图中删除指标图表
问题

如何在监控视图中删除指标图表?

回答
  1. 在主菜单中选择“应用运维 > 应用运维”。
  2. 在左侧导航栏中选择“视图管理 > 监控大盘”。
  3. 在“操作”下拉列表框的左侧选择需要删除指标图表的监控视图。
  4. 在该监控视图中,单击需要删除的指标图表右上角的下拉箭头并选择“删除”。
  5. 在页面右侧单击“保存监控视图”,或在“操作”下拉列表框中选择“保存监控视图”。
如何在监控视图中刷新指标图表
问题

如何在监控视图中刷新指标图表?

回答

指标图表的刷新周期为1分钟,如果用户需要实时查看指标图表的详细信息,可以通过如下操作刷新指标图表:

  1. 在主菜单中选择“应用运维 > 应用运维”。
  2. 在左侧导航栏中选择“视图管理 > 监控大盘”。
  3. 在“操作”下拉列表框的左侧选择需要刷新指标图表的监控视图。
  4. 在该监控视图中,单击需要刷新的指标图表右上角的下拉箭头并选择“刷新”。
如何在监控视图中放大或移动指标图表
问题

如何在监控视图中放大或移动指标图表?

回答
  1. 在主菜单中选择“应用运维 > 应用运维”。
  2. 在左侧导航栏中选择“视图管理 > 监控大盘”。
  3. 在“操作”下拉列表框的左侧选择需要放大或移动指标图表的监控视图。
  4. 在该监控视图中,将鼠标移动至指标图表右下角,当鼠标变为时单击鼠标左键并进行拖动,即可调整该指标图表的大小。

    说明:

    单击曲线图或饼图右上角的下拉箭头并选择“放大”,可以暂时放大该指标图表。

  5. 在指标图表的任意位置上按住鼠标左键拖动至目的位置,即可移动该指标图表。
  6. 在页面右侧单击“保存监控视图”,或在“操作”下拉列表框中选择“保存监控视图”。
监控界面中应用无数据
问题

监控界面中应用实例数是0,且无监控数据。

回答

fuxi安装完成后以脚本的形式存在于节点上被其他应用调用,无运行实例,所以在监控中查看这些应用的实例数都是0,且无监控数据。

添加密钥

添加节点时,使用私有仓库中的镜像或软件包来创建应用,需事先给项目添加密钥来保障安全。

说明:
  • 若创建的密钥丢失,可参照此章节重新创建密钥,不影响平台使用。
  • 如下三种角色可给项目添加密钥:租户、具有Security Administrator权限的用户或属于admin用户组的用户。本节以租户为例进行说明。
操作步骤
  1. 使用浏览器,以VDC管理员或VDC业务员帐号登录ManageOne运营面。

    • 登录地址如下:
      • 非B2B场景登录地址:https://控制台主页的访问地址。例如,https://console.type.com。
      • B2B场景登录地址:https://租户的访问地址。例如,https://console.type.com。
    • 登录用户VDC管理员或VDC业务员要求如下:
      • 默认预置租户“FusionStageResVDC”,需使用该预置租户下的VDC管理员或VDC业务员。默认一级VDC管理员FusionStageResUser
      • 如果不默认预置租户“FusionStageResVDC”,需使用安装时规划的租户下的VDC管理员或VDC业务员。规划的租户在安装时导出的参数信息汇总文件《xxx_export_all.xlsm》的“基本参数”页签搜索“FusionStageResVDC”,获取对应的规划值。

  2. 在导航栏左上角选择地域和Project。
  3. 获取登录认证文件。

    1. 单击右上方登录的帐号,选择“个人设置”。
    2. 选择“管理访问密钥”页签,可以查看已创建的访问密钥。
    3. 单击“新增访问密钥”,创建新的访问密钥。
      说明:
      • 每个项目最多可创建2个有效访问密钥(AK/SK),且一旦生成永久有效,为了帐户安全性,建议定期更换访问密钥。
      • Access key/Secret key是一组密钥对,用于API的身份认证和访问控制。
    4. 弹出“下载确认”对话框,单击“确”。
      保存新创建的密钥认证文件credentials.csv,记录文件中的“Access Key Id”和“Secret Access Key”值。
      说明:

      为防止访问密钥泄露,建议您将密钥认证文件credentials.csv保存到安全的位置。

  4. 在主菜单中选择“控制台 > 应用服务 > 容器应用平台”,跳转至ServiceStage界面。

    或以租户登录ServiceStage租户管理域。

  5. 在主菜单中选择“项目管理 > 项目管理 > 当前项目”。
  6. 在“认证文件”区域中,单击“添加”。

    图38-25 添加AK/SK密钥

  7. 步骤 3中获取的“Access Key Id”和“Secret Access Key”的值拷贝到此处。

    若需要使用“镜像获取”“负载均衡”,请勾选对应项,默认为勾选。若不勾选,将无法使用这两个功能。

    说明:

    LoadBalancer支持nginx和elb两种类型的负载均衡。若安装平台时,参数ingress_dataplane_loadbalancer_type配置为nginx,则界面不显示“负载均衡”。

  8. 配置完成后,单击“确定”。

    “认证文件”下方可查看到已添加的密钥,名称为“domainID-secret”。

后续处理

在认证文件下方单击密钥操作列的“更新”,在弹出的对话框中输入新的密钥信息,可以更新当前密钥。

有状态应用和无状态应用有什么区别?

本产品支持创建有状态容器应用和无状态容器应用。

什么是“有状态应用”和“无状态应用”
  • 有状态应用:

    有状态应用可以对数据进行随时备份,并且在创建一个新的有状态应用时,可以通过备份恢复这些数据,以达到数据持久化的目的。

    一般来说,“数据库服务”“需要在本地文件系统存储配置文件”适合创建有状态应用。

  • 无状态应用:

    这类应用对一个请求作出响应之后,不会再有任何相关操作。实现无状态应用的高可用,只需要同时运行该应用的多个实例,并保证这些实例的负载均衡即可。

    无状态应用运行的实例不会在本地存储需要持久化的数据。这类应用的实例可能会因为一些原因停止或者重新创建。这时,这些停止的实例里的所有信息(除日志和监控数据外)都将丢失。因此如果您的容器实例里需要保留重要的信息,并希望随时可以备份以便于以后可以恢复的话,那么建议您创建有状态应用。

“有状态应用”和“无状态应用”的区别

“有状态应用”“无状态应用”主要有以下几点区别:

  • 实例数量:无状态应用有一个或多个实例,且各实例之间互不依赖,因此支持容量的调节。有状态应用有多个实例,但每个实例间有依赖和前后启动顺序关系,因此不支持容量调节。
  • 存储卷:无状态应用可以没有存储卷,即使有存储卷也无法备份数据。有状态应用必须要有存储卷,并且在创建应用时,必须给存储卷分配磁盘空间。

如何手动升级有状态应用?

操作步骤
  1. 使用PuTTY,登录om_core1_ip节点。

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

  2. 设置环境变量。

    export PAAS_CRYPTO_PATH=/var/paas/srv/kubernetes

  3. 升级有状态应用。

    1. 打开需要升级的参数界面。

      /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.crt -s {om-paas-VIP}:6443 edit statefulset {statefulset-name}

      以上命令中:

      • {om-paas-VIP}为安装时导出的参数信息汇总文件《xxx_export_all.xlsm》的“FCD生成的LLD”页签中的“om_paas_vip”对应的参数值。其中,参数信息汇总文件《xxx_export_all.xlsm》为IaaS层安装后导出。
      • {statefulset-name}替换为有状态应用的应用名称。
    2. 编辑修改processes需要升级的字段。
      spec:
        ……
            processes:
            - env:
              - name: PAAS_CRYPTO_PATH
                value: /srv/kubernetes
              lifecycle:
                start:
                  exec:
                    command:
                    - /bin/sh
                    - -c
                    - echo "start" >> /tmp/test
              name: test
              package: http://10.162.197.193:8080/nginx.tar
              resources: {}
            restartPolicy: Always
            securityContext: {}
            terminationGracePeriodSeconds: 30
      status:
        replicas: 5
    3. 执行:wq保存退出。

  4. 升级有状态应用的实例。

    1. 查询有状态应用的实例。

      /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.crt -s {om-paasVIP}:6443 get pods | grep {statefulset-name}例如查询到的实例名称如下:

      test-0          1/1       Running   0          16m
      test-1          1/1       Running   0          15m
      test-2          1/1       Running   0          5m
      test-3          1/1       Running   0          15m
      test-4          1/1       Running   0          5m
    2. 根据业务场景要求的顺序,逐一删除对应实例。

      /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.crt -s {om-paas-VIP}:6443 delete pod {pod-name}

      实例删除后会自动重建,待所有实例变为Running状态后,表示升级完成。

      test-0          1/1       Running   0          19s
      test-1          1/1       Running   0          15s
      test-2          1/1       Running   0          13s
      test-3          1/1       Running   0          11s
      test-4          1/1       Running   0          7s

如何解决因nodeport端口冲突造成堆栈创建失败问题?

问题描述

堆栈创建后,状态一直处于“处理中”,按F5刷新后,显示为“异常”

解决方法
  1. 在堆栈详情页面,单击“执行日志”

    可查看到安装状态为“失败”

  2. 单击“查看”,查看安装日志。

    若出现如下回显,表示nodeport端口被其他应用占用,导致堆栈创建失败,请执行步骤 3

    Failed to create Service(frontend) for Service "frontend" is invalid: spec.ports[0].nodePort: Invalid value: 30010: provided port is already allocated

  3. 在堆栈详情页面,单击“更多 > 删除”,删除该堆栈。

    等待堆栈删除成功。

  4. 删除创建该堆栈的模板。

    1. 在主菜单中选择“应用上线 > 应用编排 > 模板”
    2. 单击待删除模板的,删除该模板。

  5. 修改设计包的文件,将nodeport端口号修改为其他未被占用的端口,端口范围由安装本产品的运维人员配置,一般情况下默认为30000-32767。

            service_spec:
              type: NodePort
              ports:
                - port: 80
                  nodePort: 30010
            package_type: container

  6. nodeport端口修改完成后,将设计包重新压缩成zip包。
  7. 参照通过模板创建堆栈中内容来重新创建堆栈。

如何将1.4版本的设计包升级至2.1版本?

问题描述

在本产品老版本中,使用的是Tosca模型为1.4的版本,升级到2.1版本后,会导致原有设计包的拓扑图无法展示。需要使用工具将1.4版本的设计包升级至2.1版本。

前提条件

已获取设计包升级工具tosca-upgrade。下载“FusionStage 2.2.1.SPC050_Tools.rar”并解压缩,获取tosca-upgrade工具。

获取方式:单击前往

在Linux环境下升级设计包
  1. 使用PuTTY,登录任意节点IP。
  2. 将解压后的tosca-upgrade工具拷贝到该节点的某个路径下。以/home/paas/路径为例。
  3. 执行以下命令,创建target和output文件夹。

    cd /home/paas/

    mkdir target

    mkdiroutput

  4. 将需转换的模板拷贝到target文件夹内。
  5. 执行以下命令,为tosca-upgrade文件增加可执行权限。

    cd tosca-upgrade/

    chmod +x tosca-upgrade

  6. 执行以下命令,升级设计包。

    ./tosca-upgrade -t /home/paas/target -o /home/paas/output

    output文件夹下即为升级为2.1的设计包。

    说明:
    • -t之后的“/home/paas/target”为变量,表示需要转换格式的原有设计包所在目录。
    • -o之后的“/home/paas/output”为变量,表示转换后的设计包目录且该目录必须为空。若不填,会自动创建。如果是不支持的版本和文件格式,会将原有文件拷贝到新目录中。设计包支持的文件格式有“yaml”、“zip”和“tar.gz”。
    • 此转换工具仅支持tosca1.4规范中的标准模板转换成tosca2.1标准模板。

如何解决服务页面图标不显示问题?

问题描述

首次登录服务页面(在主菜单中选择“云市场 > 服务 > 服务目录”)时,页面图标不显示。

解决方法
  1. 创建软件仓库。

    创建软件包仓库的操作方法请参见创建软件仓库

  2. 仓库创建成功后 ,单击仓库名进入仓库详情页面。

    此操作执行完成后,返回服务页面即可解决图标不显示问题。

如何解决无法切换项目问题

问题描述

登录ServiceStage页面时间过长后,无法切换项目。

解决方法:

在界面右上方,单击“用户名称”,选择“注销”,退出当前登录,返回登录界面重新登录后再尝试切换。

如何解决帮助文档打开后无法正常显示问题?

问题描述

在“云市场 > 服务 > 服务目录 > 服务详情”页面的“文档&工具包”页签下 ,将发布服务时上传的帮助文档下载到本地。打开帮助文档时内容无法正常显示。

解决方法
  • 方式一:在浏览器左下角打开下载的帮助文档时,将“打开文件-安全警告”页面中“打开此文件前总是询问(Y)”前的勾去掉。
  • 方式二:在下载的帮助文档上单击右键,选择“属性>常规”。在“常规”页签中单击“解除锁定”。

如何解决上传软件包或镜像失败的问题?

问题描述

在上传软件包或上传镜像时,在软件包和镜像满足系统要求的情况下,界面依然出现如下提示:

  • 上传软件包后,系统提示“无权限访问,请联系管理员”
  • 上传镜像后,状态显示为“上传失败”
解决方法
  1. 在谷歌浏览器中,单击“更多工具 > 清除浏览数据”

    图38-26 清除浏览数据

  2. 在弹出的清除浏览数据窗口中,保持默认勾选,单击“清除浏览数据”

如何解决堆栈无法删除的问题?

问题描述

删除堆栈时,堆栈状态一直显示为“删除中”,最后提示超时。堆栈状态显示“异常”,操作状态为“卸载失败”,再次删除依然失败。

查看堆栈执行日志,出现“time out”相关字段。

解决方法
  1. 在堆栈详情页面,单击“堆栈元素 > 应用”。
  2. 在“应用”中,单击 展开应用组。
  3. 单击应用名称,系统跳转到应用详情页面。
  4. 单击“更多 > 删除”,删除应用。

    说明:

    若堆栈包含多个应用,需将应用均删除成功,才能确保堆栈成功删除。

  5. 单击“应用上线 > 应用编排 > 堆栈”。
  6. 在待删除堆栈后,单击“更多 > 删除”,删除堆栈。
  7. 若仍无法删除堆栈,在堆栈列表中,单击“ > 强制删除”。

    系统提示确定强制删除该堆栈?

  8. 单击“确定”,删除堆栈。

如何解决节点异步IO文件句柄数不足,导致MySQL数据库创建失败的问题

问题描述

创建MySQL数据库应用时,需要保证节点异步IO文件句柄数充足,否则会导致MySQL数据库应用创建失败。

MySQL InnoDB存储引擎默认是会使用到Linux内核的异步IO特性,若在纳管节点上创建较多MySQL数据库应用,会占用大量的异步IO文件句柄数,建议用户修改操作系统的异步IO数目上限为1048576(系统默认为65536)。

解决方法
  1. 使用PuTTY,登录manage_db1_ip节点。

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

  2. 查看该节点的异步IO配置。

    /sbin/sysctl -a | grep "aio"

    返回异步IO配置值,例如如下数值:

    fs.aio-nr = 64837
    fs.aio-max-nr = 65536

    其中,fs.aio-max-nr是当前系统设置的异步IO数量上限,fs.aio-nr是当前系统中已使用的异步IO数量。

    当剩余异步IO不足以满足MySQL InnoDB的启动需求时,MySQL服务器进程就会启动失败。请参照步骤 3修改异步IO数量上限。

  3. 修改MySQL数据库所在的节点的异步IO数量上限。

    1. 打开异步IO所在文件。

      vi /etc/sysctl.conf

    2. 修改如下参数为1048576,若没有该参数,请直接添加。

      fs.aio-max-nr = 1048576

    3. 执行:wq保存退出。
    4. 使修改生效。

      /sbin/sysctl -p

    5. 执行如下命令,确认生效。

      /sbin/sysctl -a | grep "aio"

      若返回如下参数,表示已修改生效。

      fs.aio-max-nr = 1048576

  4. 分别在om-core02、manage-db01、manage-db02节点重复步骤 1~步骤 3

如何查看项目节点资源?

用户在使用本产品前,需确保节点资源充足,否则会造成功能使用失败。

操作步骤
  1. 在主菜单中选择项目管理 > 资源管理 > 节点
  2. 在节点列表中,查看状态为“可用”的节点数及节点资源额度。

如何解决日志文件过大导致存储空间不足的问题?

问题描述

生命周期脚本中定义的进程,若一直持续在后台运行,且不断输出大量的stdout及stderr,使{syncAction}.stdout、{syncAction}.stderr文件持续增大,导致存储空间不足。

说明:

执行生命周期脚本时,脚本自身会生成stdout、stderr,脚本中定义的进程也会生成stdout、stderr。脚本执行时间比较短,不会产生大量的stdout、stderr。只有后台应用进程在不断运行时,才会生成大量的stdout、stderr,导致日志文件过大。

解决方法

解决上述问题有三种方法:

  • 方法一:释放存储空间。
    1. 使用PuTTY,登录所在节点。

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

    2. 执行以下命令并输入root密码QAZ2wsx@123!,切换到root帐号。

      su - root

    3. 删除{syncAction}.stdout、{syncAction}.stderr文件。

      rm {syncAction}.stdout

      rm {syncAction}.stderr

      请根据实际场景,替换文件中的变量syncAction。例如,生命周期脚本为install,请执行如下命令:

      rm install.stdout

      rm install.stderr

    4. 将后台使用上述两个文件的进程kill掉。

      执行3不会立即释放磁盘空间,因为后台仍有进程使用文件的文件句柄。用户需要查找到后台使用该文件的进程,并kill掉进程。

      lsof | grep install.stdout

      lsof | grep install.stderr

      kill -9 进程名

      其中,“进程名”为执行前两条命令后,命令行终端显示的进程名称。

  • 方式二:将生命周期脚本中后台进程所生成的stdout、stderr重定向到用户自定义的目录中。

    例如,daemon 1>>/var/log/daemon.log 2>&1即在生命周期脚本中定义了一个daemon进程,将运行daemon进程生成的stdout、stderr重定向到/var/log/daemon.log文件中。

  • 方式三:不输出生命周期脚本中后台进程所生成的stdout、stderr。

    例如,daemon 1>/dev/null 2>&1即在生命周期脚本中定义了一个daemon进程,不输出daemon进程生成的stdout、stderr。

说明:

方式二和方式三是将进程所输出的stdout、stderr存放到指定目录或不输出,脚本中输出的stdout、stderr仍然存放在之前指定的目录中。

如何获取软件仓库IP地址?

操作步骤
  1. 在主菜单中选择“云市场 > 软件中心 > 软件仓库”
  2. “我的软件”页签中,单击任一仓库地址,进入仓库详情。
  3. 图38-27,获取并记录软件仓库IP地址。

    图38-27 软件仓库IP地址

如何配置静态路由?

为欧拉OS操作系统配置静态路由
  1. 使用PuTTY,以paas用户登录待纳管的节点。
  2. 执行以下命令切换到root帐号。

    su - root

  3. 打开路由配置项。

    说明:

    interface为pod-om网络平面对应的网卡。

    vi /etc/sysconfig/network-scripts/route-<interface>

  4. 配置静态路由。

    说明:
    • destination/Netmask:平台规划的ClusterIP CIDR,对应安装参数management_data_clusterip_network。在安装时导出的参数信息汇总文件《xxx_export_all.xlsm》的“基本参数”页签搜索“management_data_clusterip_network”参数获得。
    • gateway:需要配置为0.0.0.0。
    • interface:pod-om网络平面对应的网卡。

    <destination/Netmask> via <gateway> dev <interface>

    例如:10.15.150.0/24 via 0.0.0.0 dev eth0

  5. 执行:wq保存并退出。
  6. 重启网卡服务,使路由生效。

    systemctl restart network

为SuSE操作系统配置静态路由
  1. 使用PuTTY,以paas用户登录待纳管的节点。
  2. 执行以下命令切换到root帐号。

    su - root

  3. 打开路由配置项。

    说明:

    interface为pod-om网络平面对应的网卡。

    vi /etc/sysconfig/network/ifroute-<interface>

  4. 配置静态路由。

    说明:
    • destination:平台规划的ClusterIP CIDR,对应安装参数management_data_clusterip_network。在安装时导出的参数信息汇总文件《xxx_export_all.xlsm》的“基本参数”页签搜索“management_data_clusterip_network”参数获得。
    • gateway:需要配置为0.0.0.0。
    • interface:pod-om网络平面对应的网卡。
    • 如果gateway,netmask,interface如果不指定,使用"-"来替代。

    <destination> <gateway> <Netmask> <Interface>

    例如:192.168.0.0 0.0.0.0 255.255.0.0 eth1

  5. 执行:wq保存并退出。
  6. 重启网卡服务,使路由生效。

    systemctl restart network

如何解决虚拟机应用无法删除的问题?

若虚拟机应用删除失败,系统上报FailedDelete事件。您需要强制删除应用,请参照本章节操作。

操作步骤
  1. 复制该应用的实例名称。
  2. 在主菜单中选择“应用上线 > 配置中心 > Pod”
  3. 在右上角搜索框中输入步骤 1中的实例名称。

    搜索到应用对应的Pod资源。

  4. 单击该Pod后的“删除”

如何删除因out of disk引起的异常实例?

背景信息

应用实例状态显示为异常,查看事件时显示out of disk,代表磁盘空间不足,Pod无法运行。

当磁盘空间清理后,异常Pod未被删除,需要手动删除。

操作步骤
  1. 在应用详情页面中,选择“实例”页签,找到异常的实例名称。
  2. 复制该应用的实例名称。
  3. 在主菜单中选择“应用上线 > 配置中心 > Pod”
  4. 在右上角搜索框中输入步骤 2中的实例名称。

    搜索到应用对应的Pod资源。

  5. 单击该Pod后的“删除”

如何解决堆栈升级失败的问题?

问题描述

升级堆栈时,界面中提示升级成功,但后台检查发现没有升级成功。

可能是由于平台不支持通过界面升级daemonset参数造成实际升级失败。

解决方法

删除堆栈中的pod实例,删除后pod会自动重启升级。步骤如下:

  1. 查找需要删除的pod。

    1. 在主菜单中选择“应用上线 > 应用编排 > 堆栈”
    2. 单击待升级的堆栈名称,进入堆栈详情页面。
    3. “堆栈元素 > 应用”中,查看到对应的实例名称。
      图38-28 查看实例名称

  2. 以paas用户登录堆栈所在集群的管理节点。

    若是高可用场景,登录管理节点1。

  3. 执行如下命令,删除pod。删除成功后,pod会自动重启升级。

    kubectl delete pod {podname1 podname2} -n {命名空间,默认为default}

    说明:

    podname为步骤 1中查找到的名称。若堆栈包含多个实例,请写上多个实例名称,以空格相隔。

如何解决堆栈处于“部分停止”状态?

当堆栈处于“部分停止”状态,出现I层物理机掉电导致虚拟机OS异常,虚拟机不断重启,无法进入系统。

若虚拟机符合以下条件,则按下述操作步骤进行恢复。

  • 虚拟机系统盘使用云磁盘。
  • 虚拟机系统盘文件系统损坏,OS反复重启或无法启动。
  • 如果Webserver主备倒换开关、文件同步开关是打开状态,主备功能正常,损坏的是Webserver主机的情况下。
操作步骤

修复OS

  1. 首先获取虚拟机的ID,在I层找到异常的虚拟机。
  2. 使用VNC登录到虚拟机中。

    1. 执行如下命令获取虚拟机的VNC地址。

      nova get-vnc-console server-id novnc

    2. 替换结果中域名为CPS地址,使用浏览器打开。

  3. 进入minios系统。

    • 如果虚拟机可以进入系统中,执行如下命令重启系统,重启后会自动进入minios系统中。

      reboot

    • 如果虚拟机OS无法启动,则在VNC页面连续重启虚拟机,直到启动时出现以下界面,则表示进入minios。

  4. minios启动时出现以下提示时,按“y”进入手动模式。

  5. 使用fsck命令修复损坏的磁盘分区,以/var/log分区sda7为例。

    fsck -y /dev/sda7

  6. 执行如下命令,并重启OS,重启后检查系统,如果原有的问题已经修复,则OS修复完成,如果问题依旧,按照“替换系统换修复”中的步骤进行修复。

    /opt/minios/install/pre_inschk -c

    reboot

替换系统卷修复

卷替换方式适用于虚拟机系统盘文件系统损坏且无法修复的场景,当损坏的节点为webserver备机或者appserver时,直接使用下面的步骤修复,当损坏的是webserver主节点时,先做如下操作:

  1. 首先在I层找到异常的虚拟机,执行如下命令,停止虚拟机。

    nova stop server-id

  2. 执行如下命令,查询虚拟机状态为shutdown状态时,表示虚拟机停止成功。

    nova list | grep server-id

  3. 主备处理。

    • 如果损坏的服务器是webserver主机,需要等待备机升主后,检查新的webserver主机页面登录正常时,再继续执行步骤 4
    • 如果损坏的是其他服务器,直接执行步骤 4

  4. 创建一个卷。

    cinder create --name volume-name --image-id image-id 600

  5. 查询卷创建状态,当状态为available时,获取卷的id。

    cinder list | grep volume-name

    获取新卷ID,以下用new-volume-id表示。

  6. 解除虚拟机中损坏系统卷与虚拟机的绑定关系。

    1. 执行如下命令查询虚拟机中系统盘卷ID。

      nova show server-id | grep volumes_attached

    2. 执行如下命令进行解绑。

      nova colume-detach server-id volume-id

  7. 将新创建的卷绑定到虚拟机上。

    nova volume-attach server-id new-volume-id /dev/sda

  8. 生成证书。

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

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

    2. 创建存放目录。

      sudo mkdir -p /path

      cd /path

    3. 生成证书。

      kubectl get secret --namespace=manage tenant-management-cfe-controller -o yaml > cfe-controller.yaml

      echo $(cat cfe-controller.yaml | grep ca.crt | awk '{print $2}') | base64 -d > ca.crt

      echo $(cat cfe-controller.yaml | grep tls.crt | awk '{print $2}') | base64 -d > tls.crt

      echo $(cat cfe-controller.yaml | grep "tls.key:" | awk '{print $2}') | base64 -d > tls.key

      export PAAS_CRYPTO_PATH=/var/paas/srv/kubernetes

      获取apiserver ip地址。

      kubectl get svc -nmanage | grep kube-apiserver

      kubectl --client-certificate=tls.crt --client-key=tls.key --certificate-authority=ca.crt -s https:// 10.162.197.193:5443 get secrets --all-namespaces

  9. 获取当前故障服务器pod。

    kubectl --client-certificate=tls.crt --client-key=tls.key --certificate-authority=ca.crt -s https://kubey=ca.crt -s https://10.162.197.193:5443 get pods -nsep-dev1 -owide | grep 10.175.125.135

  10. 删除pod。

    kubectl --client-certificate=tls.crt --client-key=tls.key --certificate-authority=ca.crt -s https:// 10.162.197.193:5443 delete pods web2-app-e270864c-3f65-1-3481205939-8jl3r -nsep-dev

  11. 启动虚拟机。

    nova start c9ba9b1b-63d2-47f9-af07-963466a757fe

  12. 等待堆栈恢复正常。

    登录控制台,当前堆栈状态为“部分停止”。

    等待直到堆栈状态为“运行中”时,表示虚拟机上的软件已经安装完成。

  13. 主备处理。

    • 如果损坏的是webserver主机,新的websever安装完成后,检查环境,确保新的webserver已经切换为备。
    • 如果是其他服务器,忽略此步骤。

如何检查并修改网卡配置文件

SUSE操作系统
  1. 使用PuTTY,以paas用户登录待纳管节点,再执行如下命令切换至root用户

    su - root

  1. 查看网卡配置文件。

    cd /etc/sysconfig/network

    ls

  2. 修改网卡配置文件。

    说明:

    网卡对应的所有有效网卡配置文件均需修改。网卡配置文件的命名格式为ifcfg-*,此处以ifcfg-eth0为例进行说明。

    vi ifcfg-eth0

    执行上述命令后,查看命令行终端显示信息:

    • 显示信息中存在BOOTPRPTO='dhcp',则增加PEERDNS='no'
    • 显示信息中不存在BOOTPRPTO='dhcp',不做任何操作。

  3. 保存文件并退出。
欧拉操作系统
  1. 使用PuTTY,以paas用户登录待纳管节点,再执行如下命令切换至root用户

    su - root

  1. 查看网卡配置文件。

    cd /etc/sysconfig/network-scripts

    ls

  2. 修改网卡配置文件。

    说明:

    网卡对应的所有有效网卡配置文件均需修改。网卡配置文件的命名格式为ifcfg-*,此处以ifcfg-eth0为例进行说明。

    vi ifcfg-eth0

    执行上述命令后,查看命令行终端显示信息:

    • 显示信息中存在BOOTPRPTO='dhcp',则增加PEERDNS='no'
    • 显示信息中不存在BOOTPRPTO='dhcp',不做任何操作。

  3. 保存文件并退出。

如何重新对接IaaS层(节点)?

新建节点时,请勿随意修改IaaS层租户登录密码(OS_PASSWORD),否则会出现如下问题:

  • 新建节点前,若修改了租户登录密码,会导致新建节点失败。
  • 节点纳管成功后,若修改了IaaS层租户登录密码,会导致节点操作异常。

若出现上述两种情况,您需要参照以下步骤重新对接IaaS层。

操作步骤
  1. 修改CFE持有的IaaS密码。

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

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

    2. 获得IaaS密码的base64编码,其中password替换为新密码。注意:引号要确保为英文。

      echo -n 'password' | base64

    3. 编辑secret basic-auth-secret修改data.password字段为上一步骤获得的IaaS密码base64编码。

      x edit secret basic-auth-secret -n default

      按“Esc”键切换到命令模式,执行“:wq!”命令,保存并退出。

  2. 修改AOS持有的IaaS密码。

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

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

    2. 获得IaaS密码的base64编码,其中password替换为新密码

      echo -n 'password' | base64

    3. 编辑secret cloud-auth-secret修改data.password字段为上一步骤获得的IaaS密码base64编码。

      kubectl edit secret -nmanage cloud-auth-secret

      按“Esc”键切换到命令模式,执行“:wq!”命令,保存并退出。

  3. 修改CSMS持有的IaaS密码。

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

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

    2. 新建密码secret文件。

      vi sm-secret.yaml

      在文件中添加如下内容,userPass的值为步骤 11.b中获得的IaaS密码的base64编码。

      apiVersion: v1
      kind: Secret
      metadata:
        name: csms-userpass
      type: Opaque
      data:
        userPass: SHVhd2VpQDEyMw==
    3. 保存文件后,执行如下命令创建secret资源。

      kubectl create -f sm-secret.yaml

    4. 查找创建的secret。

      kubectl get secret csms-userpass -o yaml

      记录控制台secret中userPass的值。

    5. 将上一步记录的userPass值进行bese64解密。

      echo userPass的值|base64 -d

      解密后的数据即为配置文件中使用的密码数据。

    6. 查看deploy信息。

      kubectl get deploy -nmanage|grep csms

      命令行终端显示如下信息:

      csms-storagemgr     2     2     2     2       6d

      记录deploy文件名:csms-storagemgr。

    7. 编辑deploy文件。

      kubectl edit deploy csms-storagemgr -n manage

      在deployment中修改CINDER_USER_PASS或EVS_USER_PASS的值(IaaS层为FusionSphere修改CINDER_USER_PASS,DC2修改EVS_USER_PASS),该值为步骤 11.b获取的加密密码。

    8. 查看配置是否成功。

      查看csms-storagemgr实例是否自动重启,实例重启完成后即配置成功。

      kubectl get po -nmanage|grep csms

      命令行终端显示如下信息:

      csms-storagemgr-2138405708-g8jdv            1/1       Running   0          
      18h csms-storagemgr-2138405708-klnfd            1/1       Running   0          18h

      如果显示的运行时间在几分钟之内,说明已经自动重启。

      在主菜单中选择“项目管理 > 资源管理 > 存储”,然后在右侧页面中,单击“创建存储”。

      创建成功即表示修改密码成功。

  4. 重启租户管理域的kube-apiserver与kube-controller-manager。

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

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

    2. 重启kube-apiserver。

      kubectl -n manage delete pod `kubectl get pod -n manage | grep kube-apiserver | awk '{print $1}'`

    3. 重启kube-controller-manager。

      kubectl -n manage delete pod `kubectl get pod -n manage | grep kube-controller-manager | awk '{print $1}'`

如何修改调用IaaS层接口和新建节点超时时间?

调用IaaS层接口的默认超时时间为30秒;新建节点的默认超时时间均为30分钟。其中任一操作超时,都会导致新建节点失败。

说明:

请用户自行保证修改后参数的有效性、可靠性。调整参数后,造成的后果用户需自己承担。

操作步骤
  1. 使用PuTTY,登录om_core1_ip节点。

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

  2. 修改调用IaaS层接口超时时间。

    kubectl edit configmap k8s-ca-config --namespace=manage

    在data区域的cloud-provider.conf文件中,增加参数http_timeout=正整数(单位为秒)。

    配置示例如下:

    apiVersion: v1
    data:
       cloud-provider.conf:
        {
            "cloud_name": "fusioncompute",
            "auth_url": "https://10.185.217.233:7443",
            "region": "42FC084B",
            "http_timeout": "60" 
            "external_iam_mode": false,
            "hicloud_system_env": "pro",
            "hicloud_scope": "internal",
            "hicloud_appid": "default",
            "hicloud_app_userid": "default",
            "hicloud_app_env": "default",
            "hicloud_ec2_base_uri": "default",
            "hicloud_vpc_base_uri": "default",
            "hicloud_ebs_base_uri": "default",
            "hicloud_biz_type": "default"
        }

  3. 保存文件并退出。
  4. 修改新建节点默认超时时间。

    kubectl -n manage edit deployment kube-controller-manager

    在kube-controller-manager启动命令中追加参数--create-node-timeout=正整数(单位为分钟)。

    配置示例如下:

    /usr/local/bin/kube-controller-manager  --create-node-timeout=360

    每个/usr/local/bin/kube-controller-manager后都需增加上述参数,共计需要增加三处。

  5. 保存文件并退出。

如何修改主机规格?

前提条件

新建节点中,对接的IaaS类型为FusionCompute时,才支持如下操作。

背景信息

平台提供的默认规格不能满足要求时,您可以自定义新规格或修改已有规格。本节以新建规格custom-flavor(16核 | 16G)为例进行说明。

操作步骤
  1. 使用PuTTY,登录om_core1_ip节点。

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

  2. 执行以下命令并输入root密码QAZ2wsx@123!,切换到root帐号。

    su - root

  3. 获取运维管理域CFE服务上的tenant-management-cfe-controller secret资源。

    mkdir /path

    kubectl get secret --namespace=manage tenant-management-cfe-controller -o yaml > cfe-controller.yaml

    其中,path为创建的文件夹路径,用于保存a.crt证书、tls.crt证书以及tls.key私钥文件。

  4. 获取ca.crt证书、tls.crt证书以及tls.key私钥文件。

    echo $(cat cfe-controller.yaml | grep ca.crt | awk '{print $2}') | base64 -d > /path/ca.crt

    echo $(cat cfe-controller.yaml | grep tls.crt | awk '{print $2}') | base64 -d > /path/tls.crt

    echo $(cat cfe-controller.yaml | grep "tls.key:" | awk '{print $2}') | base64 -d > /path/tls.key

    其中,path步骤 3创建的文件夹路径。

  5. 使用WinSCP,将步骤 4中获取的ca.crt证书、tls.crt证书以及tls.key私钥文件拷贝到在Manage-LB01节点创建的“/path”目录下。
  6. paas用户登录Manage-LB01节点,并切换到root用户。
  7. 设置加解密库工作路径。

    export PAAS_CRYPTO_PATH=/var/paas/srv/kubernetes

  8. 使用WinSCP,将OM-Core01节点“/var/paas/kubernetes”目录下的kubectl文件拷贝到Manage-LB01节点所在虚拟机的“/usr/sbin”目录下。
  9. 增加cloud规格。

    1. 执行如下命令,查询对接FusionCompute名称

      kubectl --client-certificate=/path/tls.crt --client-key=/path/tls.key --certificate-authority=/path/ca.crt -s https://10.136.10.3:5443 get cloud

      其中,10.136.10.3为节点Manage-LB01、Manage-LB02所在虚拟机的管理平面VIP;pathpath步骤 5中文件夹路径。

    2. 在文件中增加如下规格,各参数说明请参见表38-140

      kubectl --client-certificate=/path/tls.crt --client-key=/path/tls.key --certificate-authority=/path/ca.crt --validate=false -s https://10.136.10.3:5443 edit cloud 对接的FusionCompute名称

      其中,10.136.10.3为节点Manage-LB01、Manage-LB02所在虚拟机的管理平面VIP;pathpath步骤 5中的文件夹路径对接的FusionCompute名称9.a中查询的名称。

      disk:1000
      id:"6"
      name:custome-flavor 
      ram:16384
      vcpus:16
      表38-140 新建规格参数说明

      参数

      参数说明

      disk

      磁盘大小,根据实际规划配置。

      单位:GB

      id

      新规格在新建节点页面“规格”中的位置。

      示例:6

      name

      新建规格名称。

      示例:custom-flavor

      ram

      新建规格的内存大小。

      单位:KB

      示例:16384

      vcpus

      新建规格的核数。

      示例:16

    3. 配置完成后,保存文件并退出。

  10. 在OM-Core01节点执行如下操作,使新增或修改的主机规格生效。

    1. 查询kube-controller-manager所创建服务的实例数。

      kubectl get deployment -n manage | grep kube-controller-manager

      命令行终端显示如下类似信息:
      kube-controller-manager   2      2     2      2      3d

      本例中查询的实例数为2,请记录该数值。

    2. 将kube-controller-manager服务所创建的实例数目修改为0

      kubectl -n manage scale deployment kube-controller-manager --replicas=0

      命令行终端显示如下类似信息:

      deployment *kube-controller-manager* scaled

      执行kubectl get deployment -n manage | grep kube-controller-manager命令,命令行终端显示如下信息:

      kube-controller-manager   0      0     0      0      3d
    3. 修改kube-controller-manager服务所创建的实例数。

      kubectl -n manage scale deployment kube-controller-manager --replicas=2

如何在共享集群中IaaS层密码修改后进行适配?

问题描述

IaaS层修改密码后,在页面单击“项目管理 > 资源管理 > 存储”页面时报错。

上述问题可通过修改容器存储的IaaS层配置信息,重启csms-storagemgr服务来解决。

前提条件
  • 已获取正确的IaaS层密码。
  • 已获取登录om_core1_ip节点IP地址。
解决方法
  1. 使用PuTTY,登录om_core1_ip节点。

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

  2. 获取加密后的密码。

    1. 将Iaas层新密码进行base64编码。

      echo -n "密码"|base64

      记录加密后的数据,假设加密后的值为“SHVhd2VpQDEyMw==”。

    2. 新建密码secret文件。

      vi sm-secret.yaml

      在文件中添加如下内容,userPass的值为2.a中记录的数据。

      apiVersion: v1
      kind: Secret
      metadata:
        name: csms-userpass
      type: Opaque
      data:
        userPass: SHVhd2VpQDEyMw==
    3. 保存文件后,执行如下命令创建secret资源。

      kubectl create -f sm-secret.yaml

    4. 查找创建的secret。

      kubectl get secret csms-userpass -oyaml

      记录控制台secret中userPass的值。

    5. 将上一步记录的userPass值进行bese64解密。

      echo userPass的值|base64 -d

      解密后的数据即为配置文件中使用的密码数据。

  3. 查看deploy信息。

    kubectl get deploy -nmanage|grep csms

    命令行终端显示如下信息:

    csms-storagemgr     2     2     2     2       6d

    记录deploy文件名:csms-storagemgr

  4. 编辑deploy文件

    kubectl edit deploy csms-storagemgr -nmanage

    在deployment中修改CINDER_USER_PASS或EVS_USER_PASS的值(IaaS层为FusionSphere修改CINDER_USER_PASS,DC2修改EVS_USER_PASS),该值为步骤 2中获取的加密密码。

  5. 查看配置是否成功

    1. 查看csms-storagemgr实例是否自动重启,实例重启完成后即配置成功

      ks get po -nmanage|grep csms

      命令行终端显示如下信息:

      csms-storagemgr-2138405708-g8jdv            1/1       Running   0          18h
      csms-storagemgr-2138405708-klnfd            1/1       Running   0          18h

      如果显示的运行时间在几分钟之内,说明已经自动重启。

    2. 在主菜单中选择“项目管理 > 资源管理 > 存储”,然后在右侧页面中,单击“创建存储”。

      创建成功即表示修改密码成功。

如何创建虚拟机规格(flavor)?

操作场景

ServiceStage在做动态纳管前,需要I层控制节点上创建虚拟机规格。若没有创建,在动态纳管界面中规格列表为空,无法进行动态纳管操作。

操作步骤
  1. 使用PuTTY,登录IaaS层控制节点。
  2. 执行如下命令,切换至root用户。

    su - root

  3. 执行以下命令,设置租户环境变量。

    source Dev01_env
    说明:

    以上环境变量文件"Dev01_env"仅为示例。环境变量文件中的内容,参考如下。

    export OS_AUTH_URL=https://identity.az1.paas.sdttest.com:443/identity-admin/v3.0
    export OS_REGION_NAME=az1.paas
    export OS_ENDPOINT_TYPE=internalURL
    export NOVA_ENDPOINT_TYPE=internalURL
    export  CINDER_ENDPOINT_TYPE=internalURL
    export OS_VOLUME_API_VERSION=2
    export OS_TENANT_NAME=Dev01
    export OS_USERNAME=Dev01er
    export OS_PASSWORD=huawei12#$

  4. 创建资源规格。

    nova flavor-create name id ram disk vcpus

    name:规格名称,请确保规格名称后缀为_ForPaaS,比如4U8G160G_ForPaaS、2U4G80G_ForPaaS,只有按照该命名规则命名的规格才会在租户侧动态纳管界面中显示。

    id:规格ID,唯一标识,不能重复,取值auto则会由系统自动生成一个UUID作为规格ID;

    ram:内存大小,单位MB;

    disk:磁盘大小,单位GB;

    vcpus:VCPU核数;

    说明:

    该命令只涵盖了一些基本的规格参数说明,如果需要指定更多参数,比如交换分区大小等,请通过nova help flavor-create查看该命令的参数说明。

  5. 设置资源规格的IOoptimized标签。

    nova flavor-key flavor set "IOoptimized"="cloud_disk"

    flavor:为规格名称或者规格ID。

    cloud_disk:表示磁盘类型,实际操作中需与ManageOne运营面发放的磁盘类型名称保持一致。

    或者在I层控制节点执行如下命令获取。

    cinder extra-specs-list

  6. 设置资源规格的fusionstage标签。

    nova flavor-key flavor set "fusionstage"="true"

    flavor:为规格名称或者规格ID。

    只有加了此标签的规格才会在租户侧动态纳管界面中显示。如果IaaS层是fusionsphere,也可以在fusionsphere前台页面的规格列表上找到对应规格,增加此标签。

如何获取创建虚机应用失败日志信息?

背景信息

以虚机应用生命周期“启动后处理”阶段为例,如果虚机应用失败是在“启动后处理”阶段出现问题,并且返回错误码为非0值,如图38-29所示,表示“启动后处理”脚本执行失败。可以通过查看日志了解创建失败的原因,以解决失败问题。

其余生命周期阶段可参考该方法处理。

图38-29 创建虚机应用
操作步骤
  1. 使用PuTTY,登录om_core1_ip节点。

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

  2. 执行以下命令并输入root密码QAZ2wsx@123!,切换到root帐号。

    su - root

  3. 导入环境变量。

    export PAAS_CRYPTO_PATH=/var/paas/srv/kubernetes;export KUBERNETES_MASTER=$(ps -ef |grep kubelet |grep :6443 |sed -e 's/^.*\(servers=[^ ]*\).*$/\1/' | cut -d "=" -f 2);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.crt";TMOUT=0;mkdir -p /tmp/key/;kubectl get secret --namespace=manage tenant-management-cfe-controller -o yaml > /tmp/key/cfe-controller.yaml;echo $(cat /tmp/key/cfe-controller.yaml | grep ca.crt | awk '{print $2}') | base64 -d > /tmp/key/ca.crt;echo $(cat /tmp/key/cfe-controller.yaml | grep tls.crt | awk '{print $2}') | base64 -d > /tmp/key/tls.crt;echo $(cat /tmp/key/cfe-controller.yaml | grep "tls.key:" | awk '{print $2}') | base64 -d > /tmp/key/tls.key ;export PAAS_CRYPTO_PATH=/var/paas/srv/kubernetes;alias x="kubectl --client-certificate=/tmp/key/tls.crt --client-key=/tmp/key/tls.key --certificate-authority=/tmp/key/ca.crt -s https://kube-apiserver.manage.svc.cluster.local:5443";x get namespace

    执行两次以上命令(第一次执行会报错,不用处理。)。

  4. 执行如下命令,在回显信息中获取虚机应用pod uid,及虚机应用对应的process name。

    x get pod -n slx Pod名称

    例如,x get pod -n slx tftl-1873134432-lr3kz -oyaml

    图38-30 获取pod uid

    图38-31 获取process name

  5. 登录租户管理域界面,在主菜单中选择“应用上线 > 应用管理”,进入对应应用详情界面,查看pod所在节点IP地址。

  6. 使用PuTTY,以paas用户登录pod所在节点,并切换到root用户下,执行如下命令,进入日志文件夹。

    cd /var/lib/kubelet/pods/uid/processes/process name/log

    其中,uid步骤 4中获取的pod uid;process name步骤 4中获取的process name。

  7. 执行如下命令,查看该文件夹里面的“PostStartProcess.stderr”“PostStartProcess.stdout”,获取日志文件名称。

    ls

    其中,“PostStartProcess.stderr”为标准错误日志文件名称;“PostStartProcess.stdout”为标准输出日志文件名称。

  8. 执行如下命令,回显详细的错误信息,根据错误信息分析原因,检查脚本内容。

    cat 日志文件名称

    例如,cat PostStartProcess.stderr

如何修改软件仓库配置支持TLS1.0?

问题描述

当纳管节点的操作系统为Windows时,软件仓库的配置文件中TLS默认为1.1。在纳管操作系统的节点前需要修改软件仓库的配置支持TLS1.0版本的SSL协议。

TLS1.0协议存在安全风险,推荐使用TLS1.1安全协议。

操作步骤
  1. 使用PuTTY,登录om_core1_ip节点。

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

  2. 修改软件仓库支持的版本。

    1. 执行如下命令,查看软件仓库支持的版本。

      kubectl edit cm -n manage swr-config

    2. “tls_version”“1.1”修改为“1.0”
    3. 执行:wq保存退出。

  3. 重启软件仓库Pod使新配置生效。

    1. 执行如下命令,查看软件仓库所有Pod。

      kubectl get pod -n manage |grep swr-api-server

      swr-api-server-3331625803-89tjt           1/1       Running   0          11d
      swr-api-server-3331625803-cd07p           1/1       Running   0          11d
      swr-api-server-3331625803-nxcbf           1/1       Running   0          11d
    1. 执行如下命令,删除软件仓库所有Pod。

      kubectl delete pod -n manage 软件仓库Pod名称

      软件仓库Pod名称3.a中查询的Pod名称,多个名称之间以空格隔开。

      例如,kubectl delete pod -n manage swr-api-server-3331625803-89tjt swr-api-server-3331625803-cd07p swr-api-server-3331625803-nxcbf

      pod "swr-api-server-3331625803-89tjt" deleted
      pod "swr-api-server-3331625803-cd07p" deleted
      pod "swr-api-server-3331625803-nxcbf" deleted
    1. 执行如下命令,查看SWR所有POD状态,等待所有POD状态变为running,表示修改完成。

      kubectl get pod -n manage |grep swr-api-server

      swr-api-server-3331625803-2n5tr           1/1       Running   0          2m
      swr-api-server-3331625803-ksc27           1/1       Running   0          2m
      swr-api-server-3331625803-sj224           1/1       Running   0          2m

如何解决模板上传后无法查看拓扑图及编辑或切换模板时提示“请求参数不合法”问题?

问题描述

当上传模板成功后,如果该模板的location.json和blueprint.yaml不匹配,出现以下两种情况。

  • 在模板详情页面预览模板拓扑图失败,单击“编辑”时出现“请求参数不合法”的错误提示。
  • 在设计器界面选择该模板,切换其他模板时也出现“请求参数不合法”的错误提示。

解决方法
  1. 在主菜单选择“应用上线 > 应用编排 > 设计器”。
  2. 在设计器界面选择该错误模板,单击删除模板。

如何手动删除应用迁移后未正常释放的存储绑定关系?

应用迁移到新节点后,如果只卸载了卷和新迁移节点的挂载关系,没有卸载和原节点的挂载关系,原节点的存储状态仍为“使用中”,无法删除。可以手动删除未正常释放的卷的绑定关系,删除后,原节点的存储为“可用”状态,可根据需要删除。

操作步骤
  1. 使用“PuTTY”登录FusionSphere控制节点。

    先用帐户“fsp”登录,然后使用su - root命令切换到帐户“root”。

    帐户“fsp”的默认密码:“Huawei@CLOUD8”;帐户“root”的默认密码:“Huawei@CLOUD8!”。

  2. 执行以下命令,防止系统超时退出。

    TMOUT=0

  3. 导入环境变量。
  4. 执行如下命令,获取未正常释放Volume对应的“volumeId”和绑定的“serverId”

    cinder list --all-t | grep <存储名称 >

    其中,<存储名称 >为未正常释放的卷配置的存储名称。

  5. 执行如下命令,删除未正常释放的卷绑定关系。卷的绑定关系删除成功需要等待约1分钟。

    nova volume-detach <serverId> <volumeId>

    其中,<serverId>、<volumeId>步骤 4中获取的“volumeId”和绑定的“serverId”

  6. 进入ServiceStage租户管理域。

    1. 使用浏览器,以VDC管理员或VDC业务员帐号登录ManageOne运营面。
      • 非B2B场景登录地址:https://控制台主页的访问地址。例如,https://console.type.com。
      • B2B场景登录地址:https://租户的访问地址。例如,https://console.type.com。
    2. 在导航栏左上角下拉框选择区域和Project。
    3. 在系统首页,选择应用服务 > 容器应用平台

      也可以在“控制台”下,选择应用服务 > 容器应用平台

  7. 在主菜单中选择“项目管理 > 资源管理 > 存储”
  8. 在存储列表中查看存储的状态为“可用”

如何解决从ManageOne运营面进入ServiceStage时,提示“Client IP is distorted”问题?

问题描述

从ManageOne运营面“首页”或者“控制台”进入ServiceStage时,页面提示“Client IP is distorted”。

操作步骤
  1. 使用PuTTY,登录om_core1_ip节点。

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

  2. 修改“ingressproxy-er daemonset”的环境变量“useXForwardedIPAddr”值为“true”

    • 修改运维面“ingressproxy-er daemonset”的环境变量
      1. 执行如下命令,进入ingressproxy-er文件。

        kubectl edit ds ingressproxy-er -n om

      2. 按“i”进入编辑模式,
        - name: useXForwardedIPAddr
          value: "true"
      3. 按“Esc”后,输入“:wq”,按“Enter”,保存设置并退出。
    • 修改管理面“ingressproxy-er daemonset”的环境变量
      1. 执行如下命令,进入ingressproxy-er文件。

        kubectl edit ds ingressproxy-er -n manage

      2. 按“i”进入编辑模式,
        - name: useXForwardedIPAddr
          value: "true"
      3. 按“Esc”后,输入“:wq”,按“Enter”,保存设置并退出。

  3. 查询ingressproxy-er Pod状态是否为Running

    • 执行如下命令,查询运维面ingressproxy-er Pod状态是否为Running

      kubectl get po -n om | grep ingressproxy-er

    • 执行如下命令,查询管理面ingressproxy-er Pod状态是否为Running

      kubectl get po -n manage | grep ingressproxy-er

  4. 删除Pod重启。

    • 删除运维面ingressproxy-er Pod名称。
      1. 执行如下命令,获取运维面ingressproxy-er Pod名称。

        kubectl get po -n om | grep ingressproxy-er

        回显如下类似信息,获取ingressproxy-er Pod名称。

        ingressproxy-er-0dv7c                       1/1       Running   1          20d
        ingressproxy-er-m9s16                       1/1       Running   2          20d
      2. 执行如下命令,删除Pod。

        kubectl delete po ingressproxy-er的Pod名称1 ingressproxy-er的Pod名称2 -n om

        其中,ingressproxy-er的Pod名称1 、ngressproxy-er的Pod名称2 4.a中查询的Pod名称。

        例如,ingressproxy-er的Pod名称1 、ngressproxy-er的Pod名称2 4.a回显信息中的名称,则执行命令如下:

        kubectl delete po ingressproxy-er-0dv7c ingressproxy-er-m9s16 -n om

        回显如下信息,表示Pod已删除。

        pod "ingressproxy-er-0dv7c" deleted
        pod "ingressproxy-er-m9s16" deleted
      3. 执行如下命令,查询Pod状态,等待直到Pod状态为Running

        kubectl get po -n om | grep ingressproxy-er

        回显信息如下:

        ingressproxy-er-3947f                       1/1       Running   0          1m
        ingressproxy-er-pfl1j                       1/1       Running   0          1m
    • 删除管理面ingressproxy-er pod。
      1. 执行如下命令,查询获取管理面ingressproxy-er Pod名称。

        kubectl get po -n manage | grep ingressproxy-er

        回显如下类似信息,获取ingressproxy-er Pod名称。

        ingressproxy-er-hcx15                      1/1       Running    1          20d
        ingressproxy-er-w96wt                      1/1       Running    1          20d
      2. 执行如下命令,删除Pod。

        kubectl delete po ingressproxy-er的Pod名称1 ingressproxy-er的Pod名称2 -n manage

        其中,ingressproxy-er的Pod名称1 、ngressproxy-er的Pod名称2 4.a中查询的Pod名称。

        例如,ingressproxy-er的Pod名称1 、ngressproxy-er的Pod名称2 4.a回显信息中的名称,则执行命令如下:

        kubectl delete po ingressproxy-er-hcx15 ingressproxy-er-w96wt -n manage

        回显如下信息,表示Pod已删除。

        pod "ingressproxy-er-hcx15" deleted
        pod "ingressproxy-er-w96wt" deleted
      3. 执行如下命令,查询Pod状态,等待直到Pod状态为Running

        kubectl get po -n manage | grep ingressproxy-er

        回显信息如下:

        ingressproxy-er-ds7mb                      1/1       Running    0          33s
        ingressproxy-er-j1czl                      1/1       Running    0          33s

如何解决在升级后的环境中伸缩堆栈失败?

场景描述

在FusionStage升级后的环境中,当堆栈实际应用实例数和“参数配置”中的应用实例数不相等且需要将当前堆栈应用实际实例数伸缩为“参数配置”中的应用实例数时,界面上出现“堆栈未改变,不支持升级,请检查模板和输入参数”,堆栈伸缩失败。

遇到这种情况,可以对该堆栈先执行不调整应用实例数的伸缩操作,待伸缩成功后,再执行调整为期望应用实例数的伸缩操作。

解决方法
  1. 在主菜单中选择“应用上线 > 应用编排 > 堆栈”。
  2. 在待伸缩的堆栈上,单击,选择“伸缩” 。
  3. 在“伸缩堆栈”页面,单击“展开高级设置”,设置安装任务的最大执行时间。

    超过时间后任务会失败,堆栈显示异常。

  4. 单击“确定”。
  5. 待伸缩成功后,在该堆栈上单击,选择“伸缩” 。
  6. 在“伸缩堆栈”页面,单击应用组前的
  7. 选择需要伸缩的应用组件,调整应用需要调整的实例数。
  8. 单击“展开高级设置”,设置安装任务的最大执行时间。
  9. 配置完成后,单击“确定”。

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

文档编号:EDOC1100043091

浏览量:43899

下载量:305

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