2017-07-14 12 views
2

Official documentation:--feature-ゲート=「アクセラレータ= TRUE」:Kubernetes GPUのサポート:有効にするには? GPUサポート状態を有効にする

特殊なアルファ特徴ゲートアクセラレータは 横切っtrueにシステムを設定しなければなりません。

「システム全体でtrueに設定する」部分のデコードに問題があります。

私は、kubelet,kube-apiserverおよびkube-controller-managerのすべてに--feature-gatesランタイムパラメータがあることを発見しました。仕様書には、すべてが設定ファイルの変更をリッスンすることが記載されています。

これらの設定ファイルは、どのようにして--feature-gates = "Accelerators = true"オプションを有効にすることができるかに関するヘルプがありますか?

は私が/etc/kubernetes/manifests/kube-apiserver.yamlするオプションを追加してみました: スペック:しかし

containers: 
    - command: 
    - kube-apiserver 
    - -- <...> 
    - --feature-gates=Accelerators=true 

、停止し、戻ってくることはありませんしKUBE-apiserverの原因となります。

最後に、私は次の回避策hereが見つかりました:クラスタが初期化されていない間

3.Iは、Kubeadm構成にGPUのサポートを追加します。これは、クラスタ内のすべてのノードで、 にGPUがない場合でも実行する必要があります。したがって 、それが見えますので、= "真アクセラレータ=" フラグで --feature-ゲートExecStartを追加-kubeadm.conf

須藤VIM /etc/systemd/system/kubelet.service.d/ <>このように:

ExecStart =は/ usr/binに/ kubelet $ KUBELET_KUBECONFIG_ARGS [...] --feature-ゲート= "アクセラレータ= true" を 3.II再起動は

はsudo systemctlデーモンリロードsudoをkubelet systemctl restart kubelet

しかし、上記のアプローチは、Kubernetes開発者がこの機能を有効にする方法ではないと考えています。どんな助けもありがとう。


[編集] Iは、APIサーバおよびコントローラマネージャの両方でオプションをオンにすることができなかった - どちらもGPUが可視になる所望の結果が得られました。

このオプションを取得する必要のあるkubeletサービスです。

質問は次のようになります。kubelet設定ファイルでオプションを設定するにはどうすればよいですか?

+0

フラグを追加した後で 'kube-apiserver'ログに何が表示されないのですか? – kichik

+0

私は/ var/log/kube *の下に素晴らしいログを持っていません。私が見るのはjournalctlだけです。 kubelet.go:1596]ミラーポッド "kube-apiserver-XX_kube-system(f30d81e3-6b4d-11e7-8d98-4ccc6af724b9)"の削除は古くなっているので、 kubelet.goを削除することができます。 :1607]「kube-apiserver-eg101_kube-system(635d00135d0920d6083b2b5a38a22810)」のミラーポッドの作成に失敗しました:ポストXX:6443/api/v1 /ネームスペース/ kube-system/pods:ダイヤルTCP XX:6443:getsockopt:接続拒否 control-managerのfeature-gatesパラメータも設定しようとしているときに同じエラーが発生します。 –

+0

これは、上記のログが何を言っているのか分からないためです:ミラーapi-serverを起動するためにapi-serverに到達できません... –

答えて

0

論理的には、ノードでGPUサポートが有効になっている必要があります。これは、正しい場所がkubeletまたはノードの設定であることを意味します。

Kube apiserverはこれに適していません。

「ノードは自動的にすべてのNvidia GPUを検出し、スケジューリング可能なリソースとして公開します。」

+0

設定ファイル経由でkubeletのこのサポートを有効にする方法に関する提案はありますか? –

3

私はUbuntu16.04を使用しています。

Add --feature-gates="Accelerators=true"~KUBELET_ARGS/etc/kubernetes/kubeletは問題ありません。

+0

マスターノードまたはクラスタ内のすべてのノードでこれを実行する必要がありますか。 – mdornfe1

+0

私はconfigファイルを使ってこれを設定できると期待していました...それについてのアドバイスはありますか? –

1

あなたは、あなたのK8Sを実行するためにkopsを使用する場合は、この命令を使用することができます https://github.com/kubernetes/kops/blob/master/docs/gpu.md

基本的に、これはあなたのクラスタ kops edit cluster gpu.example.com

を編集し、 spec: ... kubelet: featureGates: Accelerators: "true" をkubeletするために、GPUの処理を可能にする具体的な構成を追加することに帰着します

次に、すべてのノードで新しいkubelet設定を使用するように、クラスタを更新してローリングアップデートする必要があります。

クラスタをロールオーバーすると、kubletでfeature-gateフラグが有効になっていることを確認し、GPUを使用してポッドを配備できます。

+0

あなたの答えをありがとうが、私はkopsを使用していません... –

関連する問題