云容器引擎提供了诸多类型的组件,涵盖容器核心组件、应用管理、日志监控、存储等方面,用户可以根据需求进行相应组件的安装、卸载、实例查看等。
本文所涉及组件可以在指定容器集群——“插件”——“插件市场”获取插件列表,主要介绍插件安装及使用过程中常见的问题及分析流程。
安装失败
在“插件”——“插件市场”——选择插件安装,完成相关参数配置后点击“安装”;
安装详情可以在“插件”——“插件实例”中看到相应插件实例,在状态栏查看实例运行状态,如果实例安装失败,可以通过查看状态栏的日志获取部署失败详情。
以下是常见的插件安装失败问题:
1、cstor-csi插件安装报 no matches for kind “PodSecurityPolicy” in version “policy/v1beta1
该报错见于在kubernetes v1.25集群上安装cstor-csi v3.1.0版本报错,报错原因是cstor-csi插件安装会部署PodSecurityPolicy资源,但该资源在k8s v1.25中被移除。
该问题解决方案有以下两种方式:
将cstor-csi升级至3.2.0,按原参数安装即可;
如不希望进行组件升级,可以将cstor-csi v3.1.0 value.yaml中,将参数podSecurityPolicy.enabled配置为false,卸载后重新安装即可。
2、cube-node-local-dns插件安装报 resource mapping not found for name: "ccse-node-local-dns-admission-controller
namespace "kube-system" from "": no matches for kind "Certificate" in version "cert-manager.io/v1"”
该报错是由于cube-node-local-dns插件安装依赖cert-manager组件,请先在插件市场中安装cert-manager,再重新安装cube-node-local-dns即可。
组件使用常见问题
1、metrics-server组件常见无监控数据问题
分为两种情况:
- 执行kubectl top pod/node无监控数据输出
首先检查metrics-server的API Service是否正常,参见下属命令:
如果执行结果显示为true,表示metrics-server的API Service运行正常。
如果metrics-server的API Service不正常,在metrics-server所在的Node节点检查metrics-server的443端口是否可以在集群中正常访问。如果否,则尝试通过删除metrics-server的Pod的方式重启metrics-server。
- 执行kubectl top pod/node输出数据不全
根据输出结果检查是否某一特定node上无监控数据输出,如果是,请检查节点是否存在时区漂移,可以通过NTP服务器的date命令进行时区校验。
2、cube-node-local-dns组件使用中未自动注入DNSConfig至新创建pod中
请检查以下情况:
- 新建Pod如果位于kube-system和kube-public命名空间则不进行DNSConfig注入;
- 新建Pod所在命名空间的Labels标签包含node-local-dns-injection=enabled;
- 新建Pod的网络为hostNetwork且DNSPolicy为ClusterFirstWithHostNet,或Pod为非hostNetwork且DNSPolicy为ClusterFirst。