3 集群运营(Day 2)
3.1 集群管理
回到集群的【概览】页,该页提供了 Grafana、Prometheus、Registry-console、Dashboard 、Traefik、Weave Scope 六个管理系统快捷访问方式。这六个系统的访问域名需要在 DNS 服务器中添加相应的域名记录。如没有使用 F5 BIG-IP 暴露服务,也可以通过修改本地主机的 hosts 文件来达到相同的作用。如果创建集群时选择 Rook Ceph 存储方案,访问 Ceph 控制台前也需要添加该域名解析规则。
eg:
# 编辑 /etc/hosts
testerdeMacBook-Pro:~ tester$sudo vim /etc/hosts
# 替换 WORKER_IP 为任意 worker 节点 IP 地址
WORKER_IP grafana.apps.mycluster.fit2cloud.com
WORKER_IP prometheus.apps.mycluster.fit2cloud.com
WORKER_IP registry-ui.apps.mycluster.fit2cloud.com
WORKER_IP dashboard.apps.mycluster.fit2cloud.com
WORKER_IP master-1.mycluster.fit2cloud.com
WORKER_IP traefik.apps.mycluster.fit2cloud.com
WORKER_IP scope.weave.apps.mycluster.fit2cloud.com
WORKER_IP ceph.apps.mycluster.fit2cloud.com
WORKER_IP kubeapps-plus.apps.mycluster.fit2cloud.com
以上文本也可以直接在集群的【内置应用】页单击【点此获取】复制域名解析规则。
3.1.1 Dashboard
3.1.1.1 KubeOperator Dashboard
KubeOperator 2.2 中新增功能【概览】页,该页面集中显示了集群相关的统计信息,包括集群状态,容量信息,Nodes 数量、Namespaces 数量、Pods 数量等,还包括异常日志,异常 Pod 的信息统计。
3.1.1.2 K8s Dashboard
K8s Dashboard 对应的是 Kubernetes 的控制台,从浏览器中访问 Kubernetes 控制台需要用到【令牌】。点击【概览】页下方的【获取TOKEN】按钮获取令牌信息,将令牌信息复制到粘贴板。
输入令牌信息后,点击【登录】,则可进入 Kubernetes 控制台。
3.1.2 集群监控
3.1.2.1 访问 Ceph 控制台
KubeOperator 新增支持云原生存储解决方案 Rook Ceph,当创建手动模式集群,存储方案选择 Rook Ceph 时 ,在集群【概览】页,描述信息存储类型中可以通过 Rook Ceph 图标链接跳转至 Ceph 控制台。
Ceph 控制台用户名是 admin,密码需要通过执行命令方式获取。获取方式如下:
#此命令可以在集群概览页下面的 WebKubectl 中或者在集群中任意节点中执行。
$ kubectl -n rook-ceph get secret rook-ceph-dashboard-password -o jsonpath="{['data']['password']}" | base64 --decode && echo
登录 Ceph 控制台后,可以看到集群存储的监控信息。
3.1.2.2 集群事件
KubeOperator 支持获取 K8s 事件,实时更新在 KubeOperator 集群事件页面,包括正常和异常事件,可搜索过去一天/周/月的 Normal 和 Warning 事件,同时支持关键字搜索事件。事件内容和 K8s Dashboard 的 Event 一致,通过 KubeOperator 控制台能够更加直观快速的看到集群的状态信息。
在集群【事件】页,单击信息列的事件,可以获取事件详情信息。
3.1.2.3 访问 Grafana
Grafana 对 Prometheus 采集到的监控数据进行了不同维度的图形化展示,更方便用户了解整个 Kubernetes 集群的运行状况。点击 Grafana 下方的【转到】按钮访问 Grafana 控制台。
集群级别的监控面板:
节点级别的监控面板:
3.1.2.4 访问 Weave Scope
Weave Scope 用来监控、可视化和管理 Kubernetes 集群。点击 Weave Scope 下方的【转到】按钮即可访问 Weave Scope 控制台。点击控制台的顶部【Pod】,会自动生成容器之间的关系图,方便理解容器之间的关系,也方便监控容器化和微服务化的应用。Weave Scope 默认的用户名是 admin,密码是 admin123。
点击顶部的【Host】,可以远程shell登录各个节点,还可以看到主机的详细信息。
3.1.2.5 访问 Prometheus
Prometheus 用来对整个 kubernetes 集群进行监控数据的采集。点击 Prometheus 下方的【转到】按钮即可访问 Prometheus 控制台。
3.1.2.6 健康状态
在 K8s 集群【健康状态】栏,可以看到整体的集群状态,具体包括核心组件 Control Manager,Schedule,etcd 状态和系统组件实时健康状态。
3.1.3 集群日志
KubeOperator 系统新增加支持获取 KubeOperator 系统日志和 K8s 集群日志功能。
3.1.3.1 系统日志
【系统日志】页支持查找 KubeOperator 系统相关的日志信息, 日志类型包括 info、debug 和 error 日志,还可以用关键字搜索日志等等日志信息。
3.1.3.2 集群日志
K8s 集群日志使用 Grafana 日志聚合工具 Loki。Loki 是Grafana Labs 团队的开源项目,它的设计非常经济高效且易于操作,特别适合存储 Kubernetes Pod 日志。
通过访问 Grafana 控制台看到 Loki 日志。
3.1.4 集群管理
3.1.4.1 访问 Registry
Registry 则用来存放 Kubernetes 集群所使用到的 Docker 镜像。Registry 默认的用户名是 admin,密码是 admin123。
3.1.4.2 访问 Traefik
Traefik 用来作为 kubernetes 集群的HTTP反向代理、负载均衡工具。点击 Trafik 下方的【转到】按钮即可访问 Traefik 控制台。
3.1.4.3 Webkubectl
KubeOperator 新增功能支持 Webkubectl 。在集群【概览】页最下面单击 WEBKUBECTL ,在弹出框中可以像在集群中节点执行命令,查询集群信息等操作。
3.2 集群升级
KubeOperator 支持 K8s 升级。请注意由于 1.15 和 1.16 版本之后变化较大,目前不支持升级从 1.15 升级到 1.16 版本。
在集群列表中点击要进行升级的集群名称,点击【概览】页最下方的【升级】按钮进行 Kubernetes 集群的升级。
单击【确认】后,系统自动跳转到【任务】页,可以看到升级进度和详细 log 信息。
升级完成后,可以看到如下信息。
同时在集群【历史】页,可以通过单击【详情】按钮查看升级的所有 log 信息。
3.3 集群伸缩
此版本 KubeOperator 支持重点新功能:扩容 K8s 集群 worker 节点数量。
KubeOperator 控制台【集群】页,单击一个要扩容的集群名称,即【概览】页面,Worker 状态栏左下方单击【扩容】,在弹出框中选中扩容 worker 节点数量。
确认后,会自动转到【任务】页面,实时查看扩容进度,完成后可以看到如下图所示信息。
3.4 集群备份
KubeOperator 目前的备份功能支持三种不同种类的存储,即 AWS S3、aliyun oss 和 Azure 存储。为集群备份和恢复提供存储支持,实现备份和恢复功能。
添加备份账号之前,请首先自行准备好 AWS S3 ,aliyun oss 或者 Azure 存储账号信息,包括 AccessKey,SecretKey,endpoint 和桶/容器信息。 以添加 S3 为例,在【系统设置】的【备份】Tab 也中输入名称和 AccessKey,SecretKey 和端点(对应 AWS S3 系统里的 endpoint),单击【获取桶/容器】获取桶名称,建议在 S3 新建一个桶单独使用,最后提交。
在集群【备份】页面,可以看到,KubeOperator 支持的自动备份策略和手动备份,自动备份包括备份间隔,复本保留份数以及可以开启户禁用备份策略,实现集群备份和恢复功能。
手动备份需要先设置备份策略信息,包括备份间隔、保留份数、选择存储设备以及开启备份,然后单击【立即备份】后,可以在【任务】页看到备份进度。