1月18日,开源容器平台KubeOperator发布v3.5.0版本。在这一版本中,KubeOperator新增了集群异常状态诊断及修复功能,其他新增功能包括微服务治理新增支持Istio、在自动模式下创建主机支持IP池、支持自定义Ansible任务超时时间和并发参数、版本管理支持上传Kubernetes离线包、集群工具栏支持Grafana等。
新增功能
1. 支持集群异常状态诊断及修复
通过KubeOperator的集群状态诊断功能,可以快速诊断出集群的异常问题。例如,Kubernetes集群Token出错,无法获取Token、集群界面无法打开、Web Kubectl无法访问、APIServer服务异常等问题,同时还可以对诊断出来的异常问题进行一键修复。
2. 支持Istio v1.8.0
Istio是一个开源的独立服务网格,可以为您成功运行分布式微服务架构提供所需的基础。随着各组织越来越多地采用云平台,开发者必须使用微服务设计架构以实现可移植性,而运营者必须管理包含混合云和多云部署的大型分布式部署。
Istio采用一种一致的方式来保护、连接和监控微服务,降低了管理微服务部署的复杂性。在KubeOperator v3.5.0版本中,用户可以直接配置使用Istio。目前KubeOperator通过Helm安装Istio核心组件istio-pilot、istio-ingress和istio-egress。
3. 自动模式创建主机支持IP池
在自动部署模式下,不论是使用OpenStack、VMware vSphere,还是FusionCompute,通过IP池功能,可以更加合理、有效地管理可用IP地址,同时还可以手动控制单个IP地址是否可用,从而避免IP网段中因部分IP地址重复配置导致IP冲突等网络问题。
4. 支持自定义Ansible任务超时时间和并发参数
通过修改KubeOperator安装目录中的conf/kobe.yml文件,可以自定义Ansible任务超时时间和任务执行的并发数量。修改Ansible任务超时时间,可以避免因为硬件或网络环境慢导致的任务执行失败。修改并发数可以有效缩短Kubernetes集群任务的执行时间,例如集群安装、集群扩容、集群升级等任务。
参数配置如下:
$ cat conf/app.yaml
job:
timeout: 60 #任务超时时间
$ cat conf/kobe.yml
ansible:
forks: 20 # 任务并发数
5. 版本管理支持上传Kubernetes离线包
在离线网络环境下,默认KubeOperator离线包只包含两个最新版本,如果想要使用低版本的离线包对之前的Kubernetes集群进行扩容等操作,用户可以通过提供的构建脚本在公网环境中自动构建Kubernetes对应版本的离线包,之后将完整的Kubernetes离线包拷贝到内网环境中的KubeOperator服务器上进行上传。
详细操作请参考以下链接:
参考文档:https://kubeoperator.io/docs/user_manual/version/
项目地址:https://github.com/KubeOperator/K8SVersionManage.git
6. 支持Grafana
在KubeOperator v3.5.0版本中,支持通过KubeOperator自动化部署Grafana,启用Grafana之前需要先启用Prometheus,将Prometheus作为Grafana的数据源。
开启之后用户还可以访问、自定义配置Prometheus和Grafana,之后通过Grafana的可视化UI快速查看Kubernetes集群的监控信息。
优化改进
■ 优化Kubernetes集群的升级流程;
■ 优化Kubernetes集群创建时的选项;
■ 优化用户密码加密方式;
■ 优化集群Namespace的删除操作;
■ 优化集群安装、升级时错误信息的显示;
■ vSphere模版支持多磁盘;
■ 创建可用区时,vSphere Datastore支持多选;
■ 手动集群卸载和创建存储供应商时均可查看日志;
■ 备份账号授权支持项目多选。
Bug修复
■ 解决了集群节点操作系统为CentOS 7.4时,集群安装失败的问题;
■ 解决了FusionCompute创建虚机失败的问题;
■ 解决了SSH到安装有Helm3的Master节点提示Warning信息的问题;
■ 解决了ARM64离线包缺失Registry镜像的问题;
■ 解决了OceanStor存储类初始化失败的问题。