generic install scripts を使用して、ベアメタル上のCoreOSでKubernetesをセットアップします。 Kubernetesバージョン1.5.4で現在の安定版リリース1298.6.0を実行しています。
可用性の高いマスターセットアップが必要ですが、現時点では、3つのサーバーをKubernetesマスターとしてのみ使用するための十分なハードウェアがないため、ユーザーポッドをスケジュールできるようにしたいKubernetesマスター。 /etc/systemd/system/kubelet.serviceで--register-schedulable = trueを設定しましたが、SchedulingDisabledと表示されたままです。
ワーカーTLS証明書を/ etc/kubernetes/sslに追加し、それらの設定をkubelet.serviceに追加し、それらを指す/etc/kubernetes/worker-kubeconfig.yamlを追加するなど、ノードをワーカーとして含めるための設定を追加しようとしました証明書、およびその情報を/etc/kubernetes/manifests/kube-proxy.yamlに追加しました。追加するもののテンプレートとして既存のノードを使用しました。これにより、マスターのホスト名の下に別のノードが登録され、それと元のマスターノードの両方がNotReady、SchedulingDisabledとして表示されました。
この質問 は、マスターノードでのポッドのスケジューリングが可能であるべきであることを示していますが、この件について見つけることができるものはほとんどありません。
Kubernetes 1.7以降を使用している場合:
kubectl taint node mymasternode node-role.kubernetes.io/master:NoSchedule-
まず、マスターの名前を取得します
kubectl get nodes
NAME STATUS ROLES AGE VERSION
yasin Ready master 11d v1.13.4
ご覧のとおり、yasin
という名前のノードが1つあり、ロールはmaster
です。ワーカーとして使用する場合は、実行する必要があります
kubectl taint nodes yasin node-role.kubernetes.io/master-
マスターノードがNotReady
として表示される理由がわかりません。すべきではありません。 kubectl describe node mymasternode
を実行して確認してください。
SchedulingDisabled
は、マスターノードがtaintedでdedicated=master:NoSchedule
であるためです。
すべてのマスターに対してこのコマンドを実行して、汚染を削除します。
kubectl taint nodes mymasternode dedicated-
それがなぜ機能するのかを理解するために、 汚染と寛容 を読んでください。
AWSでkopsを使用している人向け。マスターでポッドのスケジューリングを有効にしたかった。
$ kubectl get nodes -owide
は私にこの出力を与えていました:
NAME STATUS
...
...
ip-1**-**-**-***.********.compute.internal Ready node
ip-1**-**-**-***.********.master.internal Ready,SchedulingDisabled master
^^^^^^^^^^^^^^^^^^
ip-1**-**-**-***.********.compute.internal Ready node
...
...
そして$ kubectl describe nodes ip-1**-**-**-***.********.master.internal
:
...
...
Taints: <none>
Unschedulable: true
... ^^^^
...
次のコマンドでマスターにパッチを当てます:
$ kubectl patch node MASTER_NAME -p "{\"spec\":{\"unschedulable\":false}}"
私のために働いて、ポッドのスケジューリングが有効になりました。
参照: https://github.com/kubernetes/kops/issues/639#issuecomment-287015882
以下のコマンドを使用して、すべてのマスターを取得します
kubectl taint nodes --all node-role.kubernetes.io/master-