【问题标题】:azure kubespray cluster persistant volume claim failing to boundazure kubespray 集群持久卷声明无法绑定
【发布时间】:2022-10-21 01:02:25
【问题描述】:

使用 kubespray 在 azure 上部署 kubernetes 集群。配置云控制器管理器和云节点管理器组件。集群能够为 Azure 中的服务创建负载均衡器。至此,它是成功的故事。 我现在正在尝试设置存储类,当谈到 azure 时,互联网只谈论 AKS,但我们的案例是 azure 上的自定义 k8s 集群。

部署存储类:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
  name: azurefile-sc
provisioner: kubernetes.io/azure-file
mountOptions:
  - dir_mode=0755
  - file_mode=0755
  - uid=0
  - gid=0
  - mfsymlinks
  - cache=strict
parameters:
  skuName: Standard_LRS

$ kubectl get sc azurefile-sc
NAME                     PROVISIONER                RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
azurefile-sc (default)   kubernetes.io/azure-file   Delete          Immediate           false                  16m

部署PVC:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  annotations:
   volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/azure-file
   volume.kubernetes.io/storage-provisioner: kubernetes.io/azure-file
  name: azurefile-sc-pvc
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: azurefile-sc
  resources:
    requests:
      storage: 1Gi

$ kubectl 描述 pvc azurefile-sc-pvc

Name:          azurefile-sc-pvc
Namespace:     default
StorageClass:  azurefile-sc
Status:        Pending
Volume:        
Labels:        <none>
Annotations:   volume.beta.kubernetes.io/storage-provisioner: kubernetes.io/azure-file
               volume.kubernetes.io/storage-provisioner: kubernetes.io/azure-file
Finalizers:    [kubernetes.io/pvc-protection]
Capacity:      
Access Modes:  
VolumeMode:    Filesystem
Used By:       <none>
Events:
  Type     Reason              Age                 From                         Message
  ----     ------              ----                ----                         -------
  Warning  ProvisioningFailed  15s (x16 over 19m)  persistentvolume-controller  Failed to create provisioner: failed to get Azure Cloud Provider. GetCloudProvider returned <nil> instead

在所有节点中,kubelet 服务配置为: KUBELET_CLOUD_PROVIDER="--cloud-provider=extenal" 根据kubernetes CCM DOC

KUBE_LOGTOSTDERR="--logtostderr=true"
KUBE_LOG_LEVEL="--v=2"
KUBELET_ADDRESS="--node-ip=10.0.0.135"
KUBELET_HOSTNAME="--hostname-override=minion-2"

KUBELET_ARGS="--bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf \
--config=/etc/kubernetes/kubelet-config.yaml \
--kubeconfig=/etc/kubernetes/kubelet.conf \
--container-runtime=remote \
--container-runtime-endpoint=unix:///var/run/containerd/containerd.sock \
--runtime-cgroups=/systemd/system.slice \
  "
KUBELET_NETWORK_PLUGIN="--network-plugin=cni --cni-conf-dir=/etc/cni/net.d --cni-bin-dir=/opt/cni/bin"
KUBELET_CLOUDPROVIDER="--cloud-provider=external"

PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

【问题讨论】:

    标签: azure kubernetes persistent-volumes persistent-volume-claims kubespray


    【解决方案1】:

    新手,你介意分享一下你是如何使用 Kubespray 在 azure 上创建 k8 集群的吗

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-08
      • 2021-11-22
      • 2018-05-02
      • 2018-11-17
      • 2021-05-22
      • 1970-01-01
      相关资源
      最近更新 更多