1

AWS で実行されている Kubernetes クラスターがあります。以前kopsは、クラスターをセットアップして開始していました。

ノード インスタンス グループ内のノードの最小数と最大数を定義しました。

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 つのノードが実行されています。クラスターでいくつかのデプロイメントを行った後、十分なリソースで使用できるノードがないため、ポッド/コンテナーを開始できません。

そのため、リソースに問題がある場合、k8s は自動的にクラスターをスケーリングし、より多くのノードを開始すると考えました。ノードの最大数が 7 であるためです。

構成を見逃していますか?

アップデート

@kichik が述べたように、オートスケーラー アドオンは既にインストールされています。それにもかかわらず、それは機能しません。リソースの問題が原因で、kube-dns も頻繁に再起動します。

4

1 に答える 1

1

誰かがGitHub でこれに関するチケットを開いたところ、オートスケーラー アドオンをインストールする必要があることが示唆されています。すでにインストールされているかどうかを確認します。

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

そうでない場合は、次のスクリプトでインストールできます。AWS_REGIONGROUP_NAMEMIN_NODESおよびの値が正しいことを確認してくださいMAX_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 "s@{{CLOUD_PROVIDER}}@${CLOUD_PROVIDER}@g" "${addon}"
sed -i -e "s@{{IMAGE}}@${IMAGE}@g" "${addon}"
sed -i -e "s@{{MIN_NODES}}@${MIN_NODES}@g" "${addon}"
sed -i -e "s@{{MAX_NODES}}@${MAX_NODES}@g" "${addon}"
sed -i -e "s@{{GROUP_NAME}}@${GROUP_NAME}@g" "${addon}"
sed -i -e "s@{{AWS_REGION}}@${AWS_REGION}@g" "${addon}"
sed -i -e "s@{{SSL_CERT_PATH}}@${SSL_CERT_PATH}@g" "${addon}"

kubectl apply -f ${addon}
于 2017-07-14T07:31:36.870 に答える