問題タブ [kubespray]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kubernetes - ローカル パス プロビジョナーによって作成されない Kubernetes 永続ボリューム
私の Kubernetes クラスターでは、Persistent Volume Claim を作成して Pod を適用した後、Rancher は Persistent Volume を作成しません。
解決策/回避策は、2 回目の更新で利用できます。
クラスターは Kubespray でインストールされています。でのローカル パス プロビジョニングの設定inventory/myclster/group_vars/k8s-cluster/addons.yml
:
問題を再現する手順:
PVC を作成します。
kubectl create -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/examples/pvc.yaml
結果: 作成された PVC、名前local-path-pvc
、ステータス保留中、ストレージ クラスlocal-path
ポッドを作成
kubectl create -f https://raw.githubusercontent.com/rancher/local-path-provisioner/master/examples/pod.yaml
結果:
作成されたポッド、名前create-pvc-123
、ステータス Waiting:ContainerCreating.
Pod の説明kubectl
:
さまざまなグラフを試しましたが、すべての場合で永続ボリュームが作成されませんでした。ServiceAccount ローカルパス プロビジョニング サービス アカウントが存在します。ローカル パス プロビジョナーの Deployment には 1 つの Pod があります。
更新
サーバーのログにはいくつかのエラーが含まれていますsudo journalctl -xeu kubelet | grep 'fail'
。
更新 - 解決策? docs
で説明されているように、ConfigMap 'local-path-config' を変更しました。
ただし、Kubesprayのjinja テンプレートには、構成にプロパティ「setup」と「teardown」がありません。
desetup
とteardown
properties を追加すると、Kubernetes によって PV が作成され、Pod が開始されました。
Kubespray がテンプレートでこれらのプロパティを提供しない理由は何ですか?
kubernetes - クラスタを破棄せずにコンテナ ランタイムを変更する
10 ~ 100 ノードの複数の kubespray デプロイ済みクラスターを実行しています。
1.20 の kubernetes では dockershim のサポートが廃止されます -> https://github.com/kubernetes/kubernetes/blob/ab32085bf36fc7af1ded30456e2f09399dc1115f/CHANGELOG/CHANGELOG-1.20.md#deprecation
ノードを削除せず、マスターを破棄せずに、コンテナー ランタイムを containerd に変更する方法。
kubespray - kubespray kubernetes クラスター コンテナー ランタイムをアップグレードするにはどうすればよいですか?
特定のコンテナー ランタイム (例: Docker) を使用して既存の kubernetes クラスターを別のコンテナー (例: Containerd) にアップグレードするプロセスは何ですか?
Hamel のランタイムを変更して uograde_cluster を実行するだけで十分ですか?
おそらく、これはより頻繁に尋ねられるでしょう。kubernetes 1.20 が Docker を廃止することを考えると、手順を文書化することは理にかなっているかもしれません。