ヘルムVolumeBindingエラーでエルクスタックをkubernetesにデプロイする
Aug 24 2020
このチャートを使用して、helmを使用してkubernetesクラスターにelkスタックをデプロイしようとしています。起動すると
helm install elk-stack stable/elastic-stack
次のメッセージが表示されます。
名前:エルクスタック 最終展開:2020年8月24日月曜日07:30:31 名前空間:デフォルト ステータス:展開済み 改訂:1 ノート: Elasticsearchクラスターと関連するエクストラがインストールされました。 Kibanaにアクセスできます: *クラスター内のポート9200の次のDNS名: elk-stack-elastic-stack.default.svc.cluster.local *クラスターの外部から、同じシェルで次のコマンドを実行します。 エクスポートPOD_NAME =$(kubectl get pods --namespace default -l "app=elastic-stack,release=elk-stack" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:5601 to use Kibana" kubectl port-forward --namespace default $POD_NAME 5601:5601
しかし、私が走るとき
kubectl getpods
結果は次のとおりです。
NAME READY STATUS RESTARTS AGE elk-stack-elasticsearch-client-7fcfc7b858-5f7fw0 / 1実行中012m elk-stack-elasticsearch-client-7fcfc7b858-zdkwd0 / 1実行中112m elk-stack-elasticsearch-data-00 / 1保留中012m elk-stack-elasticsearch-master-00 / 1保留中012m elk-stack-kibana-cb7d9ccbf-msw951 / 1実行中012m elk-stack-logstash-00 / 1保留中012m
kubectl describe pods
コマンドを使用すると、elasticsearchポッドの問題は次のとおりです。
警告FailedScheduling6m29s default-schedulerがポッド「elk-stack-elasticsearch-data-0」の「VolumeBinding」フィルタープラグインを実行しています:ポッドにバインドされていない即時のPersistentVolumeClaimsがあります
およびlogstashポッドの場合:
警告FailedScheduling7m53s default-schedulerがポッド「elk-stack-logstash-0」の「VolumeBinding」フィルタープラグインを実行しています:ポッドにはバインドされていない即時のPersistentVolumeClaimsがあります
の出力kubectl get pv,pvc,sc -A
:
名前容量アクセスモード再請求ポリシーステータス請求ストレージクラス理由年齢 永続ボリューム/ elasticsearch-データ10GiRWO保持境界デフォルト/ elasticsearch-データマニュアル16d NAMESPACE NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE デフォルトのpersistentvolumeclaim / claim1保留中の遅い64m デフォルトのpersistentvolumeclaim / data-elk-stack-elasticsearch-data-0保留中120m デフォルトのpersistentvolumeclaim / data-elk-stack-elasticsearch-master-0保留中120m デフォルトのpersistentvolumeclaim / data-elk-stack-logstash-0保留中120m デフォルトのpersistentvolumeclaim / elasticsearch-dataバインドされたelasticsearch-data10GiRWOマニュアル16d デフォルトのpersistentvolumeclaim / elasticsearch-data-elasticsearch-data-0保留中の17d デフォルトのpersistentvolumeclaim / elasticsearch-data-elasticsearch-data-1保留中の17d デフォルトのpersistentvolumeclaim / elasticsearch-data-quickstart-es-default-0保留中の16d デフォルトのpersistentvolumeclaim / elasticsearch-master-elasticsearch-master-0保留中の17d デフォルトのpersistentvolumeclaim / elasticsearch-master-elasticsearch-master-1保留中の17d デフォルトのpersistentvolumeclaim / elasticsearch-master-elasticsearch-master-2保留中の16d NAMESPACE NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE storageclass.storage.k8s.io/slow(デフォルト)kubernetes.io/gce-pd削除即時false 66m
ストレージクラスslow
と永続ボリュームの主張claim1
は私の実験です。私はそれらをkubectl create
yamlファイルを使用して作成し、その他はhelmによって自動的に作成されます(私は思います)。
の出力kubectl get pvc data-elk-stack-elasticsearch-master-0 -o yaml
:
apiVersion:v1 種類:PersistentVolumeClaim メタデータ: CreationTimestamp: "2020-08-24T07:30:38Z" ファイナライザー: -kubernetes.io/pvc-protection ラベル: アプリ:elasticsearch リリース:エルクスタック managedFields: -apiVersion:v1 fieldsType:FieldsV1 fieldsV1: f:メタデータ: f:ラベル: 。:{} f:app:{} f:リリース:{} f:spec: f:accessModes:{} f:リソース: f:リクエスト: 。:{} f:storage:{} f:volumeMode:{} f:ステータス: f:フェーズ:{} マネージャー:kube-controller-manager 操作:更新 時間:「2020-08-24T07:30:38Z」 名前:data-elk-stack-elasticsearch-master-0 名前空間:デフォルト resourceVersion: "201123" selfLink:/ api / v1 / namespaces / default / persistentvolumeclaims / data-elk-stack-elasticsearch-master-0 uid:de58f769-f9a7-41ad-a449-ef16d4b72bc6 スペック: accessModes: -ReadWriteOnce リソース: リクエスト: ストレージ:4Gi volumeMode:ファイルシステム 状態: フェーズ:保留中
誰かがこの問題を解決するのを手伝ってくれませんか?前もって感謝します。
回答
2 ArghyaSadhu Aug 24 2020 at 20:35
ポッドが保留中の理由は、対応するPVが作成されていないため、PVCが保留中です。
data-elk-stack-elasticsearch-master-0
data-elk-stack-logstash-0
data-elk-stack-elasticsearch-data-0
これはローカル開発用であると述べたので、PVにhostPathボリュームを使用できます。したがって、以下のサンプルPVを使用して、保留中のPVCごとにPVを作成します。したがって、合計3つのPVを作成します。
apiVersion: v1
kind: PersistentVolume
metadata:
name: elk-master
labels:
type: local
spec:
capacity:
storage: 4Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data"
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: elk-logstash
labels:
type: local
spec:
capacity:
storage: 2Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data"
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: elk-data
labels:
type: local
spec:
capacity:
storage: 30Gi
accessModes:
- ReadWriteOnce
hostPath:
path: "/mnt/data"