3 集群运营(Day 2)

3.1 集群运维

回到集群的【概览】页,该页提供了 Grafana、Prometheus、Registry-console、Dashboard 、Traefik、Weave Scope 六个管理系统快捷访问方式。这六个系统的访问域名需要在 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 dashboard.apps.mycluster.fit2cloud.com
  8. WORKER_IP master-1.mycluster.fit2cloud.com
  9. WORKER_IP traefik.apps.mycluster.fit2cloud.com
  10. WORKER_IP scope.weave.apps.mycluster.fit2cloud.com

以上文本也可以直接在集群的【内置应用】页单击【点此获取】复制域名解析规则。

3.1.1 Dashboard

3.1.1.1 KubeOperator Dashboard

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

Dashboard-1

3.1.1.2 K8s Dashboard

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

dashboard-1

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

dashboard-2

3.1.2 集群监控

3.1.2.1 集群事件

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

event-1

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

event-2

3.1.2.2 访问 Grafana

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

集群级别的监控面板:

grafana-3

节点级别的监控面板:

grafana-4

3.1.2.3 访问 Weave Scope

Weave Scope 用来监控、可视化和管理 Kubernetes 集群。点击 Weave Scope 下方的【转到】按钮即可访问 Weave Scope 控制台。点击控制台的顶部【Pod】,会自动生成容器之间的关系图,方便理解容器之间的关系,也方便监控容器化和微服务化的应用。Weave Scope 默认的用户名是 admin,密码是 admin123。

weave-scope-1

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

weave-scope-2

3.1.2.4 访问 Prometheus

Prometheus 用来对整个 kubernetes 集群进行监控数据的采集。点击 Prometheus 下方的【转到】按钮即可访问 Prometheus 控制台。

prometheus-1

3.1.2.5 健康状态

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

cluster-healthy

3.1.3 集群日志

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

3.1.3.1 系统日志

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

log-1

3.1.3.2 集群日志

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

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

log-2

3.1.4 集群管理

3.1.4.1 访问 Registry

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

regsitry-1

3.1.4.2 访问 Traefik

Traefik 用来作为 kubernetes 集群的HTTP反向代理、负载均衡工具。点击 Trafik 下方的【转到】按钮即可访问 Traefik 控制台。

traefik-1

3.1.4.3 Webkubectl

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

cluster-webkubectl

3.2 集群升级

KubeOperator 支持 K8s 升级。

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

cluster-upgrade-1

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

cluster-upgrade-2

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

cluster-upgrade-3

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

cluster-upgrade-4

3.3 集群伸缩

此版本 KubeOperator 支持重点新功能:扩缩容 K8s 集群 worker 节点数量。

KubeOperator 控制台【集群】页,单击一个要扩缩容的集群名称,即【概览】页面,Worker 状态栏左下方单击【伸缩】,在弹出框中选中扩容或者缩容的 worker 节点数量。

cluster-expand-1

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

cluster-expand-2

3.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