Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS上的Kubernetes自动缩放节点_Amazon Web Services_Amazon Ec2_Kubernetes_Terraform_Kops - Fatal编程技术网

Amazon web services AWS上的Kubernetes自动缩放节点

Amazon web services AWS上的Kubernetes自动缩放节点,amazon-web-services,amazon-ec2,kubernetes,terraform,kops,Amazon Web Services,Amazon Ec2,Kubernetes,Terraform,Kops,我正在使用以下内容建立kubernetes群集: AWS作为云提供商 kops(1.6.0-alpha版,仅用于测试)作为cli工具创建和管理群集 kubectl(服务器:v1.6.2和客户端:1.6.0)控制我的群集 Ubuntu 16作为本地操作系统 我有一个简单的k8s集群,包含以下内容: AWS地区:美国西部-2 一个主控超过:t2。中等 /k8s-1.5-debian-jessie-amd64-hvm-ebs-2017-01-09 一个节点onver:t2.中等 /k8s-1.5

我正在使用以下内容建立kubernetes群集:

  • AWS作为云提供商
  • kops(1.6.0-alpha版,仅用于测试)作为cli工具创建和管理群集
  • kubectl(服务器:v1.6.2和客户端:1.6.0)控制我的群集
  • Ubuntu 16作为本地操作系统
我有一个简单的k8s集群,包含以下内容:

  • AWS地区:美国西部-2
  • 一个主控超过:t2。中等 /k8s-1.5-debian-jessie-amd64-hvm-ebs-2017-01-09
  • 一个节点onver:t2.中等 /k8s-1.5-debian-jessie-amd64-hvm-ebs-2017-01-09
我还在集群上部署了一些POD,并创建了jmeter压力测试来生成人工流量

我的问题是如何使用aws上的kops在k8s群集上创建自动缩放节点?

我刚刚在kops存储库中找到了以下广告。我按照文档中的说明进行了部署,并且它是可用的

我的参数是:

CLOUD_PROVIDER=aws
IMAGE=gcr.io/google_containers/cluster-autoscaler:v0.4.0
MIN_NODES=1
MAX_NODES=3
AWS_REGION=us-east-2
GROUP_NAME="<the-auto-scaling-group-Name>"
SSL_CERT_PATH="/etc/ssl/certs/ca-certificates.crt" # (/etc/ssl/certs for gce)


$ kubectl get deployments --namespace=kube-system

NAME                   DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
cluster-autoscaler     1         1         1            1           3h
dns-controller         1         1         1            1           3h
kube-dns               2         2         2            2           3h
kube-dns-autoscaler    1         1         1            1           3h
kubernetes-dashboard   1         1         1            1           3h
CLOUD\u PROVIDER=aws
IMAGE=gcr.io/google_容器/cluster autoscaler:v0.4.0
最小节点数=1
最大节点数=3
AWS_地区=美国东部-2
GROUP_NAME=“”
SSL_CERT_PATH=“/etc/SSL/certs/ca certificates.crt”(/etc/SSL/certs for gce)
$kubectl get部署--命名空间=kube系统
名称所需的当前最新可用年龄
群集自动缩放器1 3h
dns控制器1 3h
kube dns 2 3h
kube dns自动校准仪1 3h
kubernetes仪表板1 3h
但是,在使用带有压力容器的pod对我的节点施加压力后,什么都没有发生(cpu利用率为100%),我的自动缩放组也没有修改

另一方面,我在terraform中导出kops输出,但是没有自动缩放策略来根据cpu利用率生成自动缩放

最后,我可以在k8s的博客中找到一个,它表明AWS将在未来支持它,但没有其他关于它的声明

AWS和kops对该任务有何建议或经验?。接下来,我将尝试手动生成自动缩放策略以进行测试。

首先,当使用Kubernetes
1.6.x
时,您可以使用autoscaler
gcr.io/google\u容器/cluster autoscaler:v0.5.0

其次,根据我的理解,如果有一个pod处于
Pending
状态,autoscaler本身只会缩放ASG,因为它不能适应任何现有节点

对于您的用例,如果您的应用程序在高负载情况下(压力很大),请确保在podspec中提到
请求部分。一旦autoscaler发现新缩放的吊舱不适合节点,它将启动新节点

免责声明:我还没有玩过水平吊舱自动缩放。

查看kops()后,我找不到节点自动缩放的选项,正如我在问题中所写,我正在寻找节点自动缩放。也许在新版本的KOPS中,它会被考虑。然而,我决定从头开始使用terraform建立kubernetes v1.5.4,考虑在节点中自动伸缩。如果有人对我的实现感兴趣,源代码在我的个人repo::

我将使用此基础在生产中设置集群。我希望它能帮助别人


谢谢,如果有人在kops中找到自动缩放配置选项,那将非常棒。

它也将非常有用。非常感谢。