introduction

This commit is contained in:
huanqing.shao
2020-07-16 22:54:57 +08:00
parent 12bc841add
commit ba31fc7dda
8 changed files with 2236 additions and 1 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

View File

@ -0,0 +1,37 @@
---
# vssueId: 66
layout: LearningLayout
description: Kubernetes_自动水平伸缩_Horizontal_Pod_Autoscaler
meta:
- name: keywords
content: Kubernetes 教程,Kubernetes 授权,Kubernetes RBAC,Kubernetes权限
---
# 自动伸缩
<AdSenseTitle/>
本文翻译自 Kubernetes 官网 [Horizontal Pod Autoscaler](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/)。
Horizontal Pod Autoscaler 根据观察到的 CPU 利用率(或某些由应用程序提供的 [custom metrics](https://git.k8s.io/community/contributors/design-proposals/instrumentation/custom-metrics-api.md)自动调整控制器Replication Controller / Deployment / ReplicaSet / StatefulSet的 Pod 的数量。Horizontal Pod Autoscaler 不能应用于不可伸缩的对象,例如 DaemonSet。
Horizontal Pod Autoscaler 被实现为 Kubernetes 中的一个 API 对象及一个 [控制器](/learning/k8s-bg/architecture/controller.html)。API 对象定义了控制器的行为;控制器则周期性地调整 Deployment或 Replication Contoller / ReplicaSet / StatefulSet中的 Pod 副本数replicas字段使其匹配用户在 API 对象中定义的平均 CPU 利用率。
## Horizontal Pod Autoscaler 的工作方式
<p>
<img src="./hpa.assets/horizontal-pod-autoscaler.png" style="width: 450px;"></img>
</p>
Horizontal Pod Autoscaler 被实现为一个控制循环,通过 controller manager 的参数 `--horizontal-pod-autoscaler-sync-period` 可以控制该循环的周期(默认值为 15 秒)。
在每个循环周期内controller manager 所有 HorizontalPodAutoscaler 对象中指定的度量信息metrics。查询的方式可以是通过 resource metrics API metrics-serverpod 的资源度量信息CPU/内存)或者 custom metrics API所有其他度量信息
* 如果 HorizontalPodAutoscaler 中指定了使用 pod 的资源度量(例如 CPU来说则 controller 从 resource metrics API (通常使用 metrics-server获取目标 Pod 的度量信息。如果 HorizontalPodAutoscaler 中指定的是资源利用率,则 controller 将度量值除以 Pod 中定义的容器的资源请求,得到一个以百分比表示的资源利用率;如果 HorizontalPodAutoscaler 中指定的是原始值,则直接使用从 resource metrics API 中获取的结果。此时contoller 将所有目标 Pod 的资源利用率(或原始值)求平均,并计算出一个比例,用于调整期望副本数的值。
> 请注意,如果某些 Pod 的容器没有设置 CPU 的 [资源请求](/learning/k8s-intermediate/config/computing-resource.html),则 controller 不能计算该 Pod 的 CPU 利用率contoller 也就不能 针对 HorizontalPodAutoscaler 中定义的 CPU 利用率执行任何操作。请参考 [算法](#算法) 章节,了解更多与之相关的内容。
* 对于 Pod 的自定义度量custom metricscontroller 的工作机制与上述过程相似,区别在于,自定义度量只支持原始值,不支持资源利用率的值。
*
## 算法

View File

@ -11,3 +11,13 @@ meta:
# Kubernetes Authentication LDAP
<AdSenseTitle/>
本文介绍了两部分内容,如果您已经有 LDAP 在使用,请直接进入文档的第二部分内容。
* 安装 OpenLDAP
> 仅用于配合此文档达成演示目的,部署到生产环境时,请参考 OpenLDAP 的官方网站
* 配置 Kubernetes/Kuboard 使用 OpenLDAP 登录
## 安装 OpenLDAP
## 配置 Kubernetes/Kuboard 使用 OpenLDAP 登录