2017-07-08 15 views
1

Kubernetes 1.7.0を使用して、MySQL/MongoDB/etcを配備し、ローカルディスクをストレージバッキングとして使用することができます。ウェブヘッド、処理ポッドはKubernetesによってオートスケールできます。これらの目的のために、私はヘルベル経由のKubernetesのローカル永続ストレージへの展開

  • がPersitentボリュームクレームポッドへLocal Persistent Storage provisioner自動的にプロビジョニングがローカルに接続するディスクを展開&を設定しました。
  • 手動で
  • を成功永続ボリュームクレームを作成し、ローカルボリュームが取り付けられている

    ヘルムによってヘルム介しMariaDBを展開しようと--nameのMySQL --set persistence.storageClass =デフォルトのインストール安定/ mariadb

  • これは成功したようです。しかし、ダッシュボードに行くことによって、私は

ストレージノードの親和性チェックがボリューム "ローカル-PV-8ef6e2af" に失敗しました取得:NodeSelectorTerm [{キー:kubernetes.io/hostnameオペレーター:値は:[kubemaster ]}]ノードラベルに一致しません

これは、ノードアフィニティを含まないヘルムのチャートによるものと思われます。手動で各チャートを更新する以外に、プロビジョニング担当者がボリュームを持っているのと同じポッドに展開するよう指示する方法はありますか?

+0

ローカルボリュームを接続するのではなく、NFSを使用することを検討できますか? –

答えて

1

残念ながら、 Podがローカルストレージが配置されているノードに着陸するようにノードの親和性を指定する必要があります。ヘルム・チャートに何を追加するかを知るには、docs on Node Affinityを参照してください。

あなたのケースでは、次のようなものと思われます。余談として

affinity: 
    nodeAffinity: 
    requiredDuringSchedulingIgnoredDuringExecution: 
     nodeSelectorTerms: 
     - matchExpressions: 
     - key: kubernetes.io/hostname 
      operator: In 
      values: 
      - kubemaster 

、これはノードレベルではなく、同様AWSとGCPのようなクラウド環境のためのゾーンレベルでだけでなく、どうなるものです。これらの環境では、永続ディスクはゾーン単位であり、NodeAffinityを設定して、マルチゾーンクラスタに展開するときに永続ディスクを使用してゾーン内に格納されるようにする必要があります。

また、別として、あなたがKubernetesのマスターに展開しているようですか?もしそうなら、MySQLはマスターの操作に潜在的に影響する可能性があるので、これはお勧めできません。

関連する問題