2017-07-14 4 views
1

Ich habe einen Kubernetes-Cluster in AWS ausgeführt. Ich habe kops zum Einrichten und Starten des Clusters verwendet.Kops/Kuberntes Instanzgruppe Autoscaling

I eine minimale und maximale Anzahl von Knoten in der Knoten-Instanz-Gruppe definiert:

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 

Derzeit hat der Cluster 5 Knoten ausgeführt wird. Nach einigen Bereitstellungen im Cluster können Pods/Container nicht gestartet werden, da keine Knoten mit genügend Ressourcen verfügbar sind.

Also dachte ich, wenn ein Ressourcenproblem auftritt, skaliert k8s automatisch den Cluster und startet weitere Knoten. Da die maximale Anzahl der Knoten 7 ist.

Vermisse ich eine Konfiguration?

UPDATE

Wie @kichik erwähnt, wird das autoscaler Addon bereits installiert. Trotzdem funktioniert es nicht. Kube-dns startet auch wegen Ressourcenproblemen oft neu.

Antwort

1

Jemand öffnete eine ticket for this on GitHub und es schlägt vor, dass Sie die autoscaler addon installieren müssen. Überprüfen Sie, ob es bereits installiert ist mit:

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

Wenn nicht, können Sie es mit dem folgenden Skript installieren. Stellen Sie sicher, dass AWS_REGION, GROUP_NAME, MIN_NODES und MAX_NODES die richtigen Werte haben.

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

Ich wusste nicht, aber das Addon ist bereits installiert. :/ – CPA

+0

Vielleicht ist es nicht richtig konfiguriert? Haben Sie versucht, die Bereitstellung zu verwerfen und zu überprüfen? – kichik

Verwandte Themen