>

다음 문제는 1 개의 마스터와 3 개의 노드가있는 Kubernetes 클러스터와 단일 시스템 Kubernetes에서도 발생합니다.

flexvolume smb를 지원하는 Kubernetes를 설정했습니다 ( https : //github.com/Azure/kubernetes-volume-drivers/tree/master/flexvolume/smb ). flexvolume을 사용하여 새 포드를 적용하면 노드가 예상대로 smb 공유를 마운트합니다. 그러나 포드는 자신의 공유를 노드의 일부 도커 디렉토리로 지정합니다.

내 설치 :

  • 최신 CentOS 7
  • 최신 Kubernetes v1.14.0
    ( https://kubernetes.io/docs/setup/independent/create- cluster-kubeadm/)
  • SELinux 비활성화 및 방화벽 비활성화
  • Docker 1.13.1
  • jq 및 cifs-utils
  • https/usr/libexec/kubernetes/kubelet-plugins/volume에 설치된 : //raw.githubusercontent.com/Azure/kubernetes-volume-drivers/master/flexvolume/smb/deployment/smb-flexvol-installer/smb /exec/microsoft.com~smb 및 실행 파일
로 포드 만들기

smb-secret.yaml

apiVersion: v1
kind: Secret
metadata:
  name: smb-secret
type: microsoft.com/smb
data:
  username: YVVzZXI=
  password: YVBhc3N3b3Jk

nginx-flex-smb.yaml

apiVersion: v1
kind: Pod
metadata:
  name: nginx-flex-smb
spec:
  containers:
  - name: nginx-flex-smb
    image: nginx
    volumeMounts:
    - name: test
      mountPath: /data
  volumes:
  - name: test
    flexVolume:
      driver: "microsoft.com/smb"
      secretRef:
        name: smb-secret
      options:
        source: "//<host.with.smb.share>/kubetest"
        mountoptions: "vers=3.0,dir_mode=0777,file_mode=0777"

무엇이 발생합니까
  • /var/lib/kubelet/pods/bef26895-5ac7-11e9-a668-00155db9c92e/volumes/microsoft.com~smb 에서 노드의 마운트 지점이 작성됩니다. .
  • mount   //<host.with.smb.share>/kubetest on /var/lib/kubelet/pods/bef26895-5ac7-11e9-a668-00155db9c92e/volumes/microsoft.com~smb/test type cifs (rw,relatime,vers=3.0,cache=strict,username=aUser,domain=,uid=0,noforceuid,gid=0,noforcegid,addr=172.27.72.43,file_mode=0777,dir_mode=0777,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1) 를 반환
  • 호스트 및 노드 자체에서 예상대로 읽기 및 쓰기 작동
  • 포드에
    • mount / 데이터 포인트가 tmpfs on /data type tmpfs (rw,nosuid,nodev,seclabel,size=898680k,nr_inodes=224670,mode=755) 인 경우
    • 하지만 디렉토리/data의 내용은 /run/docker/libcontainerd/8039742ae2a573292cd9f4ef7709bf7583efd0a262b9dc434deaf5e1e20b4002/ 에서 가져옵니다.  노드에서.

PersistedVolumeClaime과 함께 포드를 설치하려고했는데 같은 문제가 발생했습니다. 이 문제를 검색하면 해결책이 없습니다.

다른 포드는 GlusterFS와 heketi를 사용합니다.

구성 오류가있을 수 있습니까? 빠진 것이 있습니까?

수정 : 솔루션
Docker를 최신의 검증 된 버전 18.06으로 업그레이드했으며 모든 것이 잘 작동합니다.


  • 이전 javascript - Angular-UI-Select ng-model이 $scope의 간단한 변수와 작동하지 않습니다
  • 다음 cpickle을 사용하여 큰 어레이를 네트워크 드라이브에 쓰는 경우 python "ioerror - [errno 22] invalid argument"