OSD吊舱未在AKS上运行

时间:2020-10-12 16:09:48

标签: linux kubernetes yaml ceph kubernetes-rook

我是AKS环境的新手。要求是在ceph群集上使用Rook设置NFS。我正在关注https://medium.com/@dmitrio_/installing-rook-v1-0-on-aks-f8c22a75d93d本文档,以启用rook和ceph集群。这三个初始文件是common.yaml,operator.yaml和cluster.yaml。必需的输出是在运行cluster.yaml之后

NAME                                                   READY   STATUS      RESTARTS   AGE
rook-ceph-agent-nd2cc                                  1/1     Running     0          18h
rook-ceph-agent-sf97n                                  1/1     Running     0          18h
rook-ceph-agent-vk8r2                                  1/1     Running     0          18h
rook-ceph-agent-vslnn                                  1/1     Running     0          18h
rook-ceph-mgr-a-748cd69795-td9fs                       1/1     Running     0          42h
rook-ceph-mon-b-869cd5d477-bhbmm                       1/1     Running     0          42h
rook-ceph-mon-g-67998d888d-q9xws                       1/1     Running     0          9h
rook-ceph-mon-h-6f4cd95f5c-bqc86                       1/1     Running     0          3h41m
rook-ceph-operator-864d76cf49-mpkxk                    1/1     Running     0          18h
rook-ceph-osd-0-5d8fc96495-252vd                       1/1     Running     0          40h
rook-ceph-osd-1-cfbb46894-r6wzs                        1/1     Running     0          40h
rook-ceph-osd-2-f59fc7dbd-9vdjf                        1/1     Running     0          40h

这应该来。但就我而言,在运行上述yaml文件后,我得到了以下输出。

这是我的输出。

NAME                                            READY   STATUS    RESTARTS   AGE
csi-cephfsplugin-7jfnb                          3/3     Running   0          4h31m
csi-cephfsplugin-klclq                          3/3     Running   0          4h31m
csi-cephfsplugin-provisioner-67f9c99b5f-cfslb   6/6     Running   0          4h31m
csi-cephfsplugin-provisioner-67f9c99b5f-gvl8b   6/6     Running   0          4h31m
csi-cephfsplugin-rpd54                          3/3     Running   0          4h31m
csi-cephfsplugin-vztfm                          3/3     Running   0          4h31m
csi-rbdplugin-4z4c9                             3/3     Running   0          4h31m
csi-rbdplugin-bwbv7                             3/3     Running   0          4h31m
csi-rbdplugin-l8665                             3/3     Running   0          4h31m
csi-rbdplugin-provisioner-5d5cfb887b-wsnlr      6/6     Running   0          4h31m
csi-rbdplugin-provisioner-5d5cfb887b-zh5ps      6/6     Running   0          4h31m
csi-rbdplugin-x9sc2                             3/3     Running   0          4h31m
rook-ceph-operator-78f46865d8-8ln89             1/1     Running   0          4h34m

这是我的operator.yaml文件

apiVersion: apps/v1
kind: Deployment
metadata:
  name: rook-ceph-operator
  namespace: rook-ceph
  labels:
    operator: rook
    storage-backend: ceph
spec:
  selector:
    matchLabels:
      app: rook-ceph-operator
  replicas: 1
  template:
    metadata:
      labels:
        app: rook-ceph-operator
    spec:
      serviceAccountName: rook-ceph-system
      containers:
      - name: rook-ceph-operator
        image: rook/ceph:master
        args: ["ceph", "operator"]
        volumeMounts:
        - mountPath: /var/lib/rook
          name: rook-config
        - mountPath: /etc/ceph
          name: default-config-dir
        env:
        - name: ROOK_CURRENT_NAMESPACE_ONLY
          value: "false"
        - name: FLEXVOLUME_DIR_PATH
          value: "/etc/kubernetes/volumeplugins"
        - name: ROOK_ALLOW_MULTIPLE_FILESYSTEMS
          value: "false"
        - name: ROOK_LOG_LEVEL
          value: "INFO"
        - name: ROOK_CEPH_STATUS_CHECK_INTERVAL
          value: "60s"
        - name: ROOK_MON_HEALTHCHECK_INTERVAL
          value: "45s"
        - name: ROOK_MON_OUT_TIMEOUT
          value: "600s"
        - name: ROOK_DISCOVER_DEVICES_INTERVAL
          value: "60m"
        - name: ROOK_HOSTPATH_REQUIRES_PRIVILEGED
          value: "false"
        - name: ROOK_ENABLE_SELINUX_RELABELING
          value: "true"
        - name: ROOK_ENABLE_FSGROUP
          value: "true"
        - name: ROOK_DISABLE_DEVICE_HOTPLUG
          value: "false"
        - name: ROOK_ENABLE_FLEX_DRIVER
          value: "false"
        # Whether to start the discovery daemon to watch for raw storage devices on nodes in the cluster.
        # This daemon does not need to run if you are only going to create your OSDs based on StorageClassDeviceSets with PVCs. --> CHANGED to false
        - name: ROOK_ENABLE_DISCOVERY_DAEMON
          value: "false"
        - name: ROOK_CSI_ENABLE_CEPHFS
          value: "true"
        - name: ROOK_CSI_ENABLE_RBD
          value: "true"
        - name: ROOK_CSI_ENABLE_GRPC_METRICS
          value: "true"
        - name: CSI_ENABLE_SNAPSHOTTER
          value: "true"
        - name: CSI_PROVISIONER_TOLERATIONS
          value: |
            - effect: NoSchedule
              key: storage-node
              operator: Exists
        - name: CSI_PLUGIN_TOLERATIONS
          value: |
            - effect: NoSchedule
              key: storage-node
              operator: Exists
        - name: NODE_NAME
          valueFrom:
            fieldRef:
              fieldPath: spec.nodeName
        - name: POD_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
      volumes:
      - name: rook-config
        emptyDir: {}
      - name: default-config-dir
        emptyDir: {}

这是我的cluster.yaml

apiVersion: ceph.rook.io/v1
kind: CephCluster
metadata:
  name: rook-ceph
  namespace: rook-ceph
spec:
  dataDirHostPath: /var/lib/rook
  mon:
    count: 3
    allowMultiplePerNode: false
    volumeClaimTemplate:
      spec:
        storageClassName: managed-premium
        resources:
          requests:
            storage: 10Gi
  cephVersion:
    image: ceph/ceph:v14.2.4-20190917
    allowUnsupported: false
  dashboard:
    enabled: true
    ssl: true
  network:
    hostNetwork: false
  storage:
    storageClassDeviceSets:
    - name: set1
      # The number of OSDs to create from this device set
      count: 4
      # IMPORTANT: If volumes specified by the storageClassName are not portable across nodes
      # this needs to be set to false. For example, if using the local storage provisioner
      # this should be false.
      portable: true
      # Since the OSDs could end up on any node, an effort needs to be made to spread the OSDs
      # across nodes as much as possible. Unfortunately the pod anti-affinity breaks down
      # as soon as you have more than one OSD per node. If you have more OSDs than nodes, K8s may
      # choose to schedule many of them on the same node. What we need is the Pod Topology
      # Spread Constraints, which is alpha in K8s 1.16. This means that a feature gate must be
      # enabled for this feature, and Rook also still needs to add support for this feature.
      # Another approach for a small number of OSDs is to create a separate device set for each
      # zone (or other set of nodes with a common label) so that the OSDs will end up on different
      # nodes. This would require adding nodeAffinity to the placement here.
      placement:
        tolerations:
        - key: storage-node
          operator: Exists
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: agentpool
                operator: In
                values:
                - npstorage
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 100
            podAffinityTerm:
              labelSelector:
                matchExpressions:
                - key: app
                  operator: In
                  values:
                  - rook-ceph-osd
                - key: app
                  operator: In
                  values:
                  - rook-ceph-osd-prepare
              topologyKey: kubernetes.io/hostname
      resources:
        limits:
          cpu: "500m"
          memory: "4Gi"
        requests:
          cpu: "500m"
          memory: "2Gi"
      volumeClaimTemplates:
      - metadata:
          name: data
        spec:
          resources:
            requests:
              storage: 100Gi
          storageClassName: managed-premium
          volumeMode: Block
          accessModes:
            - ReadWriteOnce
  disruptionManagement:
    managePodBudgets: false
    osdMaintenanceTimeout: 30
    manageMachineDisruptionBudgets: false
    machineDisruptionBudgetNamespace: openshift-machine-api

任何帮助或领导将不胜感激。预先感谢。

0 个答案:

没有答案