2017-07-14 79 views
1

我有一个在AWS中运行的Kubernetes集群。我使用kops来设置和启动群集。Kops/Kuberntes实例组自动缩放

我所定义的节点实例组中的节点的最小和最大数目:

apiVersion: kops/v1alpha2 
kind: InstanceGroup 
metadata: 
    creationTimestamp: 2017-07-03T15:37:59Z 
    labels: 
    kops.k8s.io/cluster: k8s.tst.test-cluster.com 
    name: nodes 
spec: 
    image: kope.io/k8s-1.6-debian-jessie-amd64-hvm-ebs-2017-05-02 
    machineType: t2.large 
    maxSize: 7 
    minSize: 5 
    role: Node 
    subnets: 
    - eu-central-1b 

目前群集具有运行5个节点。在群集中进行了一些部署之后,pods /容器无法启动,因为没有可用的节点具有足够的资源。

所以我认为,当有资源问题时,k8s会自动扩展群集并启动更多节点。因为最大节点数为7.

我错过任何配置吗?

UPDATE

正如@kichik提到的,自动配置器插件已安装。尽管如此,它不起作用。由于资源问题,Kube-dns也经常重启。

回答

1

有人打开ticket for this on GitHub,它建议你必须安装autoscaler addon。检查它是否已安装:

kubectl get deployments --namespace kube-system | grep autoscaler 

如果不是,则可以使用以下脚本进行安装。确保AWS_REGION,GROUP_NAME,MIN_NODESMAX_NODES具有正确的值。

CLOUD_PROVIDER=aws 
IMAGE=gcr.io/google_containers/cluster-autoscaler:v0.5.4 
MIN_NODES=5 
MAX_NODES=7 
AWS_REGION=us-east-1 
GROUP_NAME="nodes.k8s.example.com" 
SSL_CERT_PATH="/etc/ssl/certs/ca-certificates.crt" # (/etc/ssl/certs for gce) 

addon=cluster-autoscaler.yml 
wget -O ${addon} https://raw.githubusercontent.com/kubernetes/kops/master/addons/cluster-autoscaler/v1.6.0.yaml 

sed -i -e "[email protected]{{CLOUD_PROVIDER}}@${CLOUD_PROVIDER}@g" "${addon}" 
sed -i -e "[email protected]{{IMAGE}}@${IMAGE}@g" "${addon}" 
sed -i -e "[email protected]{{MIN_NODES}}@${MIN_NODES}@g" "${addon}" 
sed -i -e "[email protected]{{MAX_NODES}}@${MAX_NODES}@g" "${addon}" 
sed -i -e "[email protected]{{GROUP_NAME}}@${GROUP_NAME}@g" "${addon}" 
sed -i -e "[email protected]{{AWS_REGION}}@${AWS_REGION}@g" "${addon}" 
sed -i -e "[email protected]{{SSL_CERT_PATH}}@${SSL_CERT_PATH}@g" "${addon}" 

kubectl apply -f ${addon} 
+0

我不知道,但插件已安装。 :/ – CPA

+0

也许它没有正确配置?你是否尝试抛弃部署和验证? – kichik