阿里云上弹性伸缩kubernetes集群 - autoscaler

阿里云Kubernetes服务简化了K8S集群的建立、升级和手动扩缩容。然而使用Kubernetes集群常常问到的一个问题是,我应该保持多大的节点规模来知足应用需求呢? Autoscaler的出现解决了这个问题,它能够自动的根据部署的应用所请求的资源量来动态的伸缩集群。html

tips: 一个好的实践是显示的为你的每一个应用指定资源请求的值request.node

前置条件

为了实现集群规模的自动扩展,须要完成如下工做。docker

    1. 使用阿里云Kubernete服务在阿里云某个Region建立一个kubernetes集群,这里以杭州Region为例。建立集群请参考
    1. 在相应的Region(示例杭州)建立ESS弹性伸缩实例,并配置。

获取kubernetes集群的添加节点命令

为了使得ESS实例节点能够动态加入Kubernetes集群,咱们须要获取Kubernetes集群添加节点命令做为,ESS伸缩组的userdata数据。
进入上一步建立好的Kubernetes集群的管理控制台,选择刚刚建立的集群,点击[更多]->[添加已有节点]:
imagebash

拷贝黑框中的内容备用:网络

我有几张阿里云幸运券分享给你,用券购买或者升级阿里云相应产品会有特惠惊喜哦!把想要买的产品的幸运券都领走吧!快下手,立刻就要抢光了。curl

curl http://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/public/pkg/run/attach/attach_node.sh | bash -s -- --docker-version 17.06.2-ce-1 --token 9e3606.1de6xxxxxxxx9a9 --endpoint 192.168.223.87:6443 --cluster-dns 172.19.0.10

ESS 须要这段脚原本初始化新扩展出来的节点。阿里云

建立ESS实例。

自动扩展kubernetes集群须要阿里云ESS(弹性伸缩组)的支持,所以须要先建立一个ESS。
进入ESS控制台. 选择杭州Region(和kubernetes集群所在region保持一致),点击【建立伸缩组】,在弹出的对话框中填写相应信息,注意网络类型选择专有网络,而且专有网络选择前置条件1中的Kubernetes集群的vpc网络名,而后选择一个vswitch,而后提交。以下图:url