5 集群运营(Day 2)

5.1 集群运维

超级管理员登录 KubeOperator 系统,在集群的【概览】页提供了 Grafana、Registry-console、应用商店三个管理系统快捷访问方式。其他应用可以通过 KubeApps Plus 应用商店自选安装。这三个系统的访问域名需要在 DNS 服务器中添加相应的域名记录。如没有使用 F5 BIG-IP 暴露服务,也可以通过修改本地主机的 hosts 文件来达到相同的作用。如果创建集群时选择 Rook Ceph 存储方案,访问 Ceph 控制台前也需要添加该域名解析规则。

eg:

  1. # 编辑 /etc/hosts
  2. testerdeMacBook-Pro:~ tester$sudo vim /etc/hosts
  3. # 替换 WORKER_IP 为任意 worker 节点 IP 地址
  4. WORKER_IP grafana.apps.mycluster.fit2cloud.com
  5. WORKER_IP prometheus.apps.mycluster.fit2cloud.com
  6. WORKER_IP registry-ui.apps.mycluster.fit2cloud.com
  7. WORKER_IP kubeapps-plus.apps.mycluster.fit2cloud.com

以上文本也可以直接单击【域名解析】复制域名解析规则。

5.1.1 Dashboard

5.1.1.1 KubeOperator Dashboard

KubeOperator 2.2 中新增功能【概览】页,该页面集中显示了集群相关的统计信息,包括集群状态,容量信息,Nodes 数量、Namespaces 数量、Pods 数量等,还包括异常日志,异常 Pod 的信息统计。

Dashboard-1

5.1.1.2 K8s Dashboard

K8s Dashboard 对应的是 Kubernetes 的控制台,使用 KubeOperator 2.5 版本以上用户可以在 Kubeapp Plus 应用商店中自选安装该应用。安装部署成功后,访问 K8s Dashboard Web UI 的方式是以 NodePort 方式。还包括 Argo CD 和 Harbor 应用也是 以 NodePort 方式访问。安装部署过程详情请参考 KubeApps Plus 应用商店使用指南部分内容。

从浏览器中访问 Kubernetes 控制台需要用到【令牌】。点击【概览】页上方的【TOKEN】按钮获取令牌信息,将令牌信息复制到粘贴板。

dashboard-1

输入令牌信息后,点击【登录】,则可进入 Kubernetes 控制台。

dashboard-2

5.1.2 集群监控

5.1.2.1 集群事件

KubeOperator 支持获取 K8s 事件,实时更新在 KubeOperator 集群事件页面,包括正常和异常事件,可搜索过去一天/周/月的 Normal 和 Warning 事件,同时支持关键字搜索事件。事件内容和 K8s Dashboard 的 Event 一致,通过 KubeOperator 控制台能够更加直观快速的看到集群的状态信息。

event-1

在集群【事件】页,单击信息列的事件,可以获取事件详情信息。

event-2

5.1.2.2 访问 Grafana

Grafana 对 Prometheus 采集到的监控数据进行了不同维度的图形化展示,更方便用户了解整个 Kubernetes 集群的运行状况。集群概览页单击【监控/日志】按钮访问 Grafana 控制台。

集群级别的监控面板:

grafana-3

节点级别的监控面板:

grafana-4

5.1.2.3 访问 Weave Scope

Weave Scope 用来监控、可视化和管理 Kubernetes 集群。使用 KubeOperator 2.5 版本以上用户可以在 Kubeapp Plus 应用商店中自选安装该应用。安装部署该应用请参考 KubeApps Plus 应用商店使用指南部分。 点击控制台的顶部【Pod】,会自动生成容器之间的关系图,方便理解容器之间的关系,也方便监控容器化和微服务化的应用。Weave Scope 默认的用户名是 admin,密码是 admin123。

weave-scope-1

点击顶部的【Host】,可以远程shell登录各个节点,还可以看到主机的详细信息。

weave-scope-2

5.1.2.4 组件状态

在 K8s 集群【组件状态】栏,可以看到整体的集群状态,具体包括核心组件 Control Manager,Schedule,etcd 状态和系统组件健康状态。

cluster-healthy

5.1.3 集群日志

KubeOperator 系统新增加支持获取 KubeOperator 系统日志和 K8s 集群日志功能。

5.1.3.1 系统日志

【系统日志】页支持查找 KubeOperator 系统日志信息, 日志类型包括 info、debug 和 error 日志,还可以用关键字搜索日志等等日志信息。

log-1

5.1.3.2 集群日志

K8s 集群日志使用 Grafana 日志聚合工具 Loki。Loki 是Grafana Labs 团队的开源项目,它的设计非常经济高效且易于操作,特别适合存储 Kubernetes Pod 日志。

通过访问 Grafana 控制台看到 Loki 日志。

log-2

5.1.4 集群管理

5.1.4.1 访问 Registry

Registry 则用来存放 Kubernetes 集群所使用到的 Docker 镜像。Registry 默认的用户名是 admin,密码是 admin123。

regsitry-1

5.1.4.2 Webkubectl

KubeOperator 新增功能支持 Webkubectl 。在集群【概览】页单击 WEBKUBECTL ,在弹出框中可以像在集群中节点执行命令,查询集群信息等操作。

cluster-webkubectl

5.2 集群升级

KubeOperator 支持 K8s 升级。请注意由于 1.15 和 1.16 版本之后变化较大,目前不支持升级从 1.15 升级到 1.16 版本。

在集群列表中点击要进行升级的集群名称,点击【概览】页上方的【升级】按钮进行 Kubernetes 集群的升级。

cluster-upgrade-1

单击【确认】后,系统自动跳转到【任务】页,可以看到升级进度和详细 log 信息。

cluster-upgrade-2

升级完成后,可以看到如下信息。

cluster-upgrade-3

同时在集群【历史】页,可以通过单击【详情】按钮查看升级的所有 log 信息。

cluster-upgrade-4

5.3 集群伸缩

KubeOperator 支持扩缩容 K8s 集群 worker 节点数量。

KubeOperator 控制台【集群】页,单击一个要扩容的集群名称,即【概览】页面,Worker 状态栏右下方单击【扩容】,在弹出框中选中要扩容的节点,支持同时扩容多个节点。

cluster-expand-1

确认后,会自动转到【任务】页面,实时查看扩缩容进度,完成后可以看到如下图所示信息。

cluster-expand-2

5.4 集群备份

KubeOperator 目前的备份功能支持三种不同种类的存储,即 AWS S3、aliyun oss 和 Azure 存储。为集群备份和恢复提供存储支持,实现备份和恢复功能。

添加备份账号之前,请首先自行准备好 AWS S3 ,aliyun oss 或者 Azure 存储账号信息,包括 AccessKey,SecretKey,endpoint 和桶/容器信息。 以添加 S3 为例,在【系统设置】的【备份】Tab 也中输入名称和 AccessKey,SecretKey 和端点(对应 AWS S3 系统里的 endpoint),单击【获取桶/容器】获取桶名称,建议在 S3 新建一个桶单独使用,最后提交。

setting-2

在集群【备份】页面,可以看到,KubeOperator 支持的自动备份和手动备份,自动备份包括备份间隔,复本保留份数以及可以开启户禁用备份策略,实现集群备份和恢复功能。

cluster-backup

手动备份需要先设置备份策略信息,包括备份间隔、保留份数、选择存储设备以及开启备份,然后单击【立即备份】后,可以在【任务】页看到备份进度。

cluster-backup-1