私はkubernetesクラスタ内のすべてのスケジューリング可能なノードのリストを(プログラムで)取得したいと考えています。Kubernetesでスケジューリング可能なノードを特定する方法
私はこれが(JSONまたはテンプレートの出力を使用して)kubectl get nodes
のフル出力で.spec.unschedulable
を見ることで可能にするために使用かなり確信しているが、今ではこの情報を解析することは非常に困難ですscheduler.alpha.kubernetes.io/taints
キー、内側にあるようです正しい場所のようには感じられません。
この情報を見つけるには別の方法がありますか?私は明白な何かを欠いていますか私は現在バージョン1.5.1を使用しています。
UPDATE:私ははほとんどいくつかの囲碁のテンプレートとそこに着くことができます。
$ kubectl get nodes -o go-template='{{range .items}}{{with $x := index .metadata.annotations "scheduler.alpha.kubernetes.io/taints"}}{{.}}{{end}}{{end}}'
[{"key":"dedicated","value":"master","effect":"NoSchedule"}]
しかし、それは私がテンプレートで解析できないJSONのブロブで私を残して、私はまだ反転しなければなりません結果とノード名を取得します。
更新2:予定外のノードには、.spec.unschedulable
が設定されている必要があります。これは常にそうではないようです。それがバグか私のところでの誤解のためかどうかは分かりません。
私はこれを知っています。私の更新によると、 '.spec.unschedulable'が設定されていない、予期しないノードがありました。ノードは予定外であり、ノード上にポッドをスケジューリングすることができないと言う「汚れ」がありました。現在、私はそれが単なるバグだと思う。 –