k8s は nfs を使用して StorageClass を構成します。構成が完了すると、PVC の作成は常に保留されます。

バックグラウンド

nfs を使用して StorageClass
構成プロセスを構成します。

  1. ServiceAccount の構成
  2. nfs-client-provisioner を構成する
  3. StorageClass の構成
  4. pvc
    nfs-client-provisioner の作成と StorageClass が正常に作成され、エラーは
    報告され
    ここに画像の説明を挿入
    ません
    ここに画像の説明を挿入
provision "default/exampleforstorageclass" class "managed-nfs-storage": unexpected error getting claim reference: selfLink was empty, can't make reference

解決

/etc/kubernetes/manifests/kube-apiserver.yamlk8s クラスタ v1.20 より前に存在していた selfLink は空で、v1.20 以降に削除されました。追加されたパラメータに `- --feature-gates=RemoveSelfLink=false`` を追加する必要があります

spec:
  containers:
  - command:
    - kube-apiserver
    - --feature-gates=RemoveSelfLink=false

追加後、kubeadm でデプロイされたクラスターはデプロイメント ポッドを自動的にロードします。

kubeadm安装的apiserver是Static Pod,它的配置文件被修改后,立即生效。
Kubelet 会监听该文件的变化,当您修改了 /etc/kubenetes/manifest/kube-apiserver.yaml 文件之后,kubelet 将自动终止原有的 kube-apiserver-{nodename} 的 Pod,并自动创建一个使用了新配置参数的 Pod 作为替代。
如果您有多个 Kubernetes Master 节点,您需要在每一个 Master 节点上都修改该文件,并使各节点上的参数保持一致。

ここで、api-server の起動に失敗した場合は、再度実行する必要があることに注意してください。

kubectl apply -f /etc/kubernetes/manifests/kube-apiserver.yaml

構成後、 kubectl get pvc を使用します

画像-20220623200938804

pvc STATUS が Bound になる

おすすめ

転載: blog.csdn.net/qq_45473439/article/details/125434215