集群运营
概览
- 集中显示了集群基本信息、容量信息和统计信息
- 可下载 kubeconfig 文件(将 kubeconfig 文件中 cluster.server 地址修改为 master 节点 IP)
支持在 web 页面执行 kubectl 命令查询集群信息等操作
集群扩容、缩容
显示集群节点相关信息。支持针对 Kubernetes 集群 worker 节点的扩缩容
worker 节点扩容(手动模式选择要添加的主机,自动模式输入扩容后 worker 节点数量)
- 自动模式: 删除所选节点虚拟机
- 手动模式: 在所选节点执行卸载任务,删除该节点上安装 k8s 集群所依赖的服务(节点删除成功后,要手动重启该节点来删除虚拟网卡等信息)
命名空间
- 列表显示为集群中现有的 namespace,支持创建和删除操作
- 系统默认和 kube-operator namespace 不支持删除
存储
设置存储提供商(provisioner)、存储类(storageclass)、持久卷(PersistentVolume)
存储提供商
支持的类型有 nfs、external-ceph、rook-ceph、vsphere 和 oceanstor(华为 csi)
- nfs: 需要指定 nfs 服务端版本、IP 和共享目录
- external-ceph: 创建成功之后,会在集群中初始化 ceph provisioner 相关 pod
- rook-ceph: 需要指定 ceph 集群所需磁盘(集群所有节点都必须包含指定的磁盘,如sdb,sdc…)
- vsphere: 集群服务器必须在指定 Folder 中(自动模式创建集群默认 Folder 为 kubeoperator),并且服务器名称要和集群 node 节点名称保持一致
- oceanstor: 参考文档: https://github.com/Huawei/eSDK_K8S_Plugin/tree/master/docs/zh
存储类
内置 local volume 存储提供商,如需添加其他类型,需要提前创建对应类型的存储提供商
external-ceph: 需要在 Kubernetes 中创建 admin 及 user 所需的 secret
# 可在 ceph 服务端通过以下命令获得 secret key
ceph auth get-key client.admin
# 创建 admin secret
kubectl create secret generic ceph-admin-secret \
--namespace=kube-system \
--type=kubernetes.io/rbd \
--from-literal=key=AQCtabcdKvXBORAA234AREkmsrmLdY67i8vxSQ==
持久卷
支持添加 hostpath 和 local volume 两种类型的持久卷,需要提前目标主机创建文件目录
事件
- 支持查看目标 namespace 下的系统事件
- 支持启用 node-problem-detector
日志
需要在【工具】页面开启 ElasticSearch 或 Loki 日志组件(不支持同时开启)
监控
需要在【工具】页面开启 Prometheus 作为 Grafana 默认数据源
工具
提供 prometheus、kubeapps、grafana、elasticsearch、loki、dashboard、registry和chartmuseum 八种管理工具,可根据需要自定义安装
- 点击启用按钮,可以设置 namespace 和是否启用存储等参数
- 失败状态下,可点击启用按钮重新设置参数提交(会触发更新操作)
istio
默认安装版本为 1.8.0,ingress 和 egress 可根据需要手动开启
备份恢复
- 集群备份: 支持立即备份、定时备份(需要在系统设置中设置备份账号,并授权到目标项目)
- 集群恢复: 支持备份列表文件恢复和本地备份文件恢复(上传 etcd 快照文件)
日志
可以查看针对集群的备份、恢复记录以及任务执行异常时的错误日志
CIS 扫描
通过 CIS 安全扫描功能,可以帮助集群管理员检查Kubernetes集群是否已经安全部署
集群升级
- 进入【项目】菜单,选中目标集群,点击【升级】按钮,选择要升级到的目标版本
- 升级之前,会先检测当前 kubernetes 集群中 etcd、docker/containerd 和 kubernetes 版本,若检测结果为可升级,将会对 etcd、docker/containerd、kubernetes 进行统一升级,从而保证集群各组件之间的兼容性
- 升级过程中,支持查看任务实时的日志输出
集群诊断、修复
诊断
- 检查集群节点网络是否可用
- 检查 kubeoperator_server 容器内是否可以 ssh 连接到 kubernetes 集群节点
- 检查 kubeoperator_server 容器内是否可以正常调用 kubernetes api
修复
存在异常状态的情况下,可点击修复按钮来修复相关问题
集群卸载
- 自动模式: 删除 KubeOperator 创建的虚拟机
- 手动模式: 在集群所有节点执行卸载任务,删除安装 k8s 集群所依赖的服务(集群卸载完成后,要手动重启节点来删除虚拟网卡等信息)
- 强制删除: 如果 k8s 集群存在失联状态的节点,可勾选强制删除来删除集群