OpenShift3.9.0 Metrics监控部署

in 互联网技术 with 0 comment  访问: 272 次

OpenShift Metrics监控采用Kubernetes原生的kubelet api提供数据,然后使用heapster进行收集存储到cassandra数据库中,这些监控数据最主要是用来进行pad auto scalers

Heaspter、 Hawkular Metrics 和 Canssandra数据库都是以容器的形式提供,并默认提供了可快速部署的template。 用户通过简单的配置就可以快速部署和启用度量采集和监控 。

1. 准备工作

先在Master节点上安装1.8版本的JDK,并将其添加到PATH环境变量中,执行Ansible Playbook过程中会用到。

安装可参考: https://www.cnblogs.com/xuliangxing/p/7066913.html

2. 切换项目到openshift-infra

[root@openshift-qa ~]# oc project openshift-infra
Now using project "openshift-infra" on server "https://openshift-qa.okd.io:8443".

3. 通过Ansible playbook安装OpenShift Metrics

# 克隆OpenShift Ansible代码库
git clone -b release-3.9 https://github.com/openshift/openshift-ansible
cd openshift-ansible/
ansible-playbook -i ./inventory.ini \
    ./playbooks/openshift-metrics/config.yml  \
    -e openshift_metrics_install_metrics=True \
    -e openshift_metrics_hawkular_hostname=openshift-metrics-qa.okd.io \
    -e openshift_metrics_start_cluster=True \
    -e openshift_metrics_duration=1 \
    -e openshift_metrics_image_version=v3.9 \

参数说明:

我搭建的单机测试版本的inventory.ini文件如下:

[root@openshift-qa openshift-ansible]# cat /data/setup/inventory.ini 
[OSEv3:children]
masters
nodes
etcd

[OSEv3:vars]
ansible_ssh_user=root
openshift_deployment_type=origin
openshift_release=3.9
openshift_master_default_subdomain=openshift-qa.okd.io

openshift_master_cluster_method=native
openshift_master_cluster_hostname=openshift-qa
openshift_master_cluster_public_hostname=openshift-qa.okd.io
# 不要检查
openshift_disable_check=disk_availability,docker_storage,memory_availability,docker_image_availability
openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true', 'challenge': 'true', 'kind': 'HTPasswdPasswordIdentityProvider', 'filename': '/etc/origin/master/htpasswd'}]
# 禁用 NTP 配置(阿里云默认开启)
openshift_clock_enabled=true
openshift_docker_options="--log-driver=journald --registry-mirror=https://0sx3ibp.mirror.aliyuncs.com"

osm_cluster_network_cidr=192.168.0.0/16


[masters]
openshift-qa openshift_schedulable=True
[nodes]
openshift-qa openshift_node_labels="{'region': 'infra'}"

[etcd]
openshift-qa

inventory file参考:

https://docs.okd.io/latest/install/configuring_inventory_file.html
https://github.com/openshift/openshift-ansible/blob/master/inventory/hosts.localhost

4、安装完成后检查pod状态

[root@openshift-qa ~]# oc get pods
NAME                         READY     STATUS    RESTARTS   AGE
hawkular-cassandra-1-7c68l   1/1       Running   5          14h
hawkular-metrics-8vsf5       1/1       Running   37         14h
heapster-qnsgn               1/1       Running   14         14h

部署完毕,再次查看Pod的状态可见 Hawkular、 Cassandra及 Heaspter容器的状态均为 Running。

提示:

运行监控的这三个模块很耗费资源,在第一次安装的时候,由于内存不足,导致三个容器没有一个启动成功的,最后只能将虚拟机内存增加到16G之后,才勉强运行起来, 因为初期没有安装metrics,默认运行了一些pod,占用了一些资源

heapster容器内存设置情况:
15447736913369.jpg
hawkular-metrics内存设置情况:
15447737808844.jpg
Cassandra内存设置情况:
15447738758936.jpg

5、Web端验证

由于3.9.0的Web Console采用pod部署,配置文件在Config Maps里面,所以在部署完监控之后会自动更新web-console的Config Maps添加一条metricsPublicURL:https://openshift-metrics-qa.okd.io/hawkular/metrics 信息。

此时pod页面是还没有metrics选项的,有几种解决方法使更改的config map生效:

  1. 等一会,自动更新生效
  2. 干掉pod,重新生成
  3. 委婉一点,将副本数改为0,然后再设置为1

刷新页面,metrics选项就出来了。
15447751201506.jpg
15447742502192.jpg

WeZan
Responses