Autoscaling是指业务实例例的⾃自动缩扩容,根据业务运⾏行行的状态指标,系统可以动态调整实例例个数以实现资源
的⾼高效使⽤用。⽤用户可以在POC系统上定义autoscaling的配置,主要有以下⼏几项:
min pods:
max pods:
CPU request target:
系统会统计服务的实例例平均负载情况,如果达到并超过CPU的阈值,系统会对实例例⾃自动进⾏行行扩容操作,上限
是max pods个数;如果平均值⼩小于CPU的阈值,系统会对实例例的个数进⾏行行缩容,最⼩小个数是min pods个数。
必须满⾜足如下前置条件,才能正常使⽤用autoscaling功能
由于autoscaling需要根据实例例实时的使⽤用率进⾏行行决策,因此需要实时采集实例例的使⽤用率信息。另外,实例例的
配额需要配置上限,否则实例例状态的百分⽐比没法获取。整体来说有以下前置条件:
单独的pod⽆无法设置autoscaling,必须使⽤用deployment进⾏行行服务部署
部署实例例metric采集组件(cassandra+hawkular+heapster)
配置服务的使⽤用limit配额
router的IP可以路路由到服务(需要通过hawkular域名进⾏行行访问metric,路路由必须有效)
1. 当autoscaler创建完成后,系统会查询heapster中服务的实例例状态。heapster获取初始状态时,可能需要
1-2分钟时间
2. 当heapster中的metric信息准备完成后,autoscaler会计算服务的使⽤用率,具体计算的⽅方式为 (实时使
⽤用率 / 配额上限)。实时的信息可能存在1-2min延迟
创建metric组件所需的service account,并设置权限:
POC F5 ROUTER部署⼿手册
1 整体说明
1.1 autoscaling介绍
1.2 autoscaling功能前置条件
1.3 autoscaling功能流程说明
2 部署构建
2.1 创建service account
$ oc project openshift-infra
$ oc create -f - <<API
apiVersion: v1
kind: ServiceAccount
metadata:
name: metrics-deployer
secrets:
- name: metrics-deployer
API
$ oadm policy add-role-to-user \
edit system:serviceaccount:openshift-infra:metrics-deployer
$ oadm policy add-cluster-role-to-user \
cluster-reader system:serviceaccount:openshift-infra:heapster
$ oc secrets new metrics-deployer nothing=/dev/null
获取metric组件镜像,并以此导⼊入到node节点机器器:
$ wget http://7xsg7o.com1.z0.glb.clouddn.com/metrics-images.tar.gz
获取deployment配置⽂文件:
$ wget http://7xsg7o.com1.z0.glb.clouddn.com/metrics-deployer.yaml
创建metric服务实例例:
$ oc new-app -f metrics-deployer.yaml \
-p HAWKULAR_METRICS_HOSTNAME=hawkular-metrics.example.com \
-p IMAGE_VERSION=v1.3.0-alpha.3 \
-p USE_PERSISTENT_STORAGE=false
更更新master配置⽂文件中关于metric的配置:
assetConfig:
...
metricsPublicURL: "https://hawkular-metrics.example.com/hawkular/metrics"
2.2 配置secret
2.3 部署metric组件
2.4 更更改master配置
同时,给master机器器以及本地windows环境添加绑定host:
{router_ip} hawkular-metrics.example.com
的⾼高效使⽤用。⽤用户可以在POC系统上定义autoscaling的配置,主要有以下⼏几项:
min pods:
max pods:
CPU request target:
系统会统计服务的实例例平均负载情况,如果达到并超过CPU的阈值,系统会对实例例⾃自动进⾏行行扩容操作,上限
是max pods个数;如果平均值⼩小于CPU的阈值,系统会对实例例的个数进⾏行行缩容,最⼩小个数是min pods个数。
必须满⾜足如下前置条件,才能正常使⽤用autoscaling功能
由于autoscaling需要根据实例例实时的使⽤用率进⾏行行决策,因此需要实时采集实例例的使⽤用率信息。另外,实例例的
配额需要配置上限,否则实例例状态的百分⽐比没法获取。整体来说有以下前置条件:
单独的pod⽆无法设置autoscaling,必须使⽤用deployment进⾏行行服务部署
部署实例例metric采集组件(cassandra+hawkular+heapster)
配置服务的使⽤用limit配额
router的IP可以路路由到服务(需要通过hawkular域名进⾏行行访问metric,路路由必须有效)
1. 当autoscaler创建完成后,系统会查询heapster中服务的实例例状态。heapster获取初始状态时,可能需要
1-2分钟时间
2. 当heapster中的metric信息准备完成后,autoscaler会计算服务的使⽤用率,具体计算的⽅方式为 (实时使
⽤用率 / 配额上限)。实时的信息可能存在1-2min延迟
创建metric组件所需的service account,并设置权限:
POC F5 ROUTER部署⼿手册
1 整体说明
1.1 autoscaling介绍
1.2 autoscaling功能前置条件
1.3 autoscaling功能流程说明
2 部署构建
2.1 创建service account
$ oc project openshift-infra
$ oc create -f - <<API
apiVersion: v1
kind: ServiceAccount
metadata:
name: metrics-deployer
secrets:
- name: metrics-deployer
API
$ oadm policy add-role-to-user \
edit system:serviceaccount:openshift-infra:metrics-deployer
$ oadm policy add-cluster-role-to-user \
cluster-reader system:serviceaccount:openshift-infra:heapster
$ oc secrets new metrics-deployer nothing=/dev/null
获取metric组件镜像,并以此导⼊入到node节点机器器:
$ wget http://7xsg7o.com1.z0.glb.clouddn.com/metrics-images.tar.gz
获取deployment配置⽂文件:
$ wget http://7xsg7o.com1.z0.glb.clouddn.com/metrics-deployer.yaml
创建metric服务实例例:
$ oc new-app -f metrics-deployer.yaml \
-p HAWKULAR_METRICS_HOSTNAME=hawkular-metrics.example.com \
-p IMAGE_VERSION=v1.3.0-alpha.3 \
-p USE_PERSISTENT_STORAGE=false
更更新master配置⽂文件中关于metric的配置:
assetConfig:
...
metricsPublicURL: "https://hawkular-metrics.example.com/hawkular/metrics"
2.2 配置secret
2.3 部署metric组件
2.4 更更改master配置
同时,给master机器器以及本地windows环境添加绑定host:
{router_ip} hawkular-metrics.example.com
完成后重启master节点,访问console可以看到实例例采集的信息了了。
2.5 增加autoscaler