동적 메모리는 서두 공급
둘째, 배포 단계
종류 : 배포 apiVersion : 확장 / v1beta1의 메타 데이터 이름 : NFS -client- 제공자 사양 : 복제본 : 1 개 전략 : 유형 : 재 작성의 템플릿 : 메타 데이터 : 라벨 : 응용 프로그램 : NFS -client- 제공자 사양 : serviceAccountName : NFS -client- 제공자 용기 : - 이름 : NFS-클라이언트 - 제공자의 이미지 : quay.io / external_storage / NFS-클라이언트 - 제공자 : 최신 volumeMounts : - 이름 : NFS-클라이언트 - 루트 경로 (mountpath) : / persistentvolumes ENV : - 이름 : PROVISIONER_NAME의 값 : fuseim.pri / IFS - 이름 : NFS_SERVER의 값 : . * - * CN- beijing.nas.aliyuncs.com - 이름 : NFS_PATH의 값 : / pods- 볼륨 볼륨 : - 이름 : NFS-클라이언트 - 루트 NFS : 서버 : * - * - beijing.nas.aliyuncs.com 경로 : / 포드 - 볼륨
# -f NFS 클라이언트 - 제공자 - deploy.yaml을 적용 kubectl
SA와 RBAC 인증을 작성합니다
# 빔의 NFS 클라이언트 - rbac.yamlapiVersion : V1 종류 : ServiceAccount의 메타 데이터 이름 : NFS 클라이언트 - 제공자의 # 네임 스페이스로 교체 제공자가 배포 네임 스페이스 : 기본 --- 종류 : ClusterRole apiVersion : rbac.authorization.k8s.io / V1 메타 데이터 : 이름 : NFS -client -provisioner- 러너 규칙 : - apiGroups을 : [ "" ] 자원 : [ " persistentvolumes " ] 동사 : " 수 " , " 목록 " , " 시계 " , "생성 " , " 삭제 " ] - apiGroups을 : [ " " ] 자원 : [ " persistentvolumeclaims " ] 동사 : [ " 수 " , " 목록 " , " 시계 " , " 업데이트 " ] - apiGroups를 : " storage.k8s.io " ] 자원 : [ " storageclasses " ] 동사 : [ " 수 ", " 목록" , " 시계 " ] - apiGroups : [ " " ] 자원 : [ " 이벤트 " ] 동사 : " 생성 " , " 갱신 " , " 패치 " ] --- 종류 : ClusterRoleBinding apiVersion : rbac.authorization.k8s.io / V1 메타 데이터 : 이름 : 실행 -nfs - 클라이언트 - 제공자의 주제 : - 종류 : ServiceAccount의 이름 : NFS 클라이언트 - 제공자의 NFS 클라이언트 - 제공자의 #은 제공자가 배포되는 경우 네임 스페이스로 교체 네임 스페이스 : 기본적 roleRef : 종류 : ClusterRole의 이름 : NFS 클라이언트 - 제공자 - 러너 apiGroup : rbac.authorization.k8s.io --- 종류 : 역할 apiVersion : rbac.authorization.k8s.io/v1 메타 데이터 : 이름 : 리더 잠금-NFS -client-제공자의 제공자가 배포 네임 스페이스로 대체 # 기본 : 네임 스페이스 : 규칙 apiGroups를 - : [ "" ] 자원 : [ " 엔드 포인트 " ] 동사 : " 수 " , " 목록 " , " 시계 " , "만들 "," 갱신 " , " 패치 " ] --- 종류 : RoleBinding apiVersion : rbac.authorization.k8s.io/v1 메타 데이터 : 이름 : 리더 잠금-NFS 클라이언트 - 제공자의 제공자가 배포되는 경우 네임 스페이스로 # 대체 기본 : 네임 스페이스 과목을 : - 종류 : ServiceAccount의 이름 : NFS 클라이언트 - 제공자의 #은 제공자가 배포 네임 스페이스로 교체 기본값 : 네임 스페이스 roleRef : 종류 : 역할 이름 : 리더 -locking-NFS-클라이언트 - 제공자의 apiGroup : rbac.authorization.k8s.io
# -f NFS 클라이언트 - rbac.yaml을 적용 kubectl
3, 스토리지 클래스를 생성
# 빔-NFS-sotrage class.yaml
apiVersion : storage.k8s.io/ V1 #allowVolumeE 확관이 : 참으로 차례로 확장 기능을 허용하지만, NFS의 유형을 지원하지 않는 종류 : StorageClass 메타 데이터 : : 이름 yiruike -nfs- 저장 mountOptions을 : - = 적이있는 4. - MinorVersion = 0 - noresvport 제공자 : fuseim.pri가 / IFS 매개 변수를 : archiveOnDelete를 : " 거짓 "
제공 pointsmart-NFS 스토리지 SC 기본 스토리지 클래스 백엔드 :
# kubectl 패치 storageclass yiruike-NFS 스토리지 -p '{ "메타 데이터": { "주석": { "storageclass.kubernetes.io/is-default-class":"true"}}}'
[루트 @ 마스터-92는 PV-PVC] # kubectl GET SC
NAME 제공자 AGE
yiruike-NFS 스토리지 ( 기본 ) fuseim.pri은 / 48S를 IFS
셋째, 검증 결과의 배포
1, 테스트 파일의 PVC를 만들
# 정력 테스트 claim.yaml
종류 : PersistentVolumeClaim apiVersion : V1의 메타 데이터 이름 : 테스트 - 청구 주석 : volume.beta.kubernetes.i O / 저장소 클래스 : " yiruike-NFS 스토리지 " 사양 : accessModes : - ReadWriteMany #persistentVolumeReclaimPolicy : 유지 : 자원 요청을 : 저장 : 2Gi
# -f 테스트 claim.yaml을 적용 kubectl
# kubectl GET 태양 광 발전, PVC
NAME의 용량 ACCESS MODES RECLAIM 정책 상태 청구 STORAGECLASS 이유 AGE persistentvolume / pvc- * 2Gi RWX 삭제 바운드 기본 / 테스트 주장 yiruike-NFS 또는 저장 1S NAME 상태의 볼륨 용량 ACCESS MODES STORAGECLASS 나이 persistentvolumeclaim / 테스트 주장 바운드 PVC-2fc935df-62f2 -11ea-9e5a-00163e0a8e3e 2Gi RWX yiruike-NFS 저장 5S
테스트 POD 만들기 (2)
포드는 태양 광 테스트 청구의에서 테스트 성공 파일을 접촉 시작
# 빔 테스트 - pod.yaml
종류 : 포드 apiVersion : V1의 메타 데이터 이름 : 테스트 포드 사양 : 컨테이너 : - 이름 : 테스트 포드 이미지 : 비지 박스 : 1.24 명령 - "/ 빈 / SH" 인수 : - "-c" - "터치 / MNT / 성공 && 종료 0 || 1 번 출구 " volumeMounts : - 이름 : NFS-PVC 경로 (mountpath) :"/ MNT " restartPolicy :"결코 " 볼륨 : - 이름 : NFS-PVC persistentVolumeClaim : claimName : 테스트 -claim
# -f 테스트 pod.yaml을 적용 kubectl
# Df를 번째 | 그렙 aliyun
* - *. cn-beijing.nas.aliyuncs.com:/pods-volumes NFS4 10P 0 10P 0 % /data/k8s/k8s/kubelet/pods/77a4ad8b-62e1-11ea-89e3-00163e301bb2/volumes/kubernetes.io ~ NFS / NFS 클라이언트 루트
# LS /data/k8s/k8s/kubelet/pods/77a4ad8b-62e1-11ea-89e3-00163e301bb2/volumes/kubernetes.io~nfs/nfs-client-root
기본 테스트-주장-PVC-0b1ce53d-62f4-11ea-9e5a-00163e0a8e3e
# LS /data/k8s/k8s/kubelet/pods/77a4ad8b-62e1-11ea-89e3-00163e301bb2/volumes/kubernetes.io~nfs/nfs-client-root/ 기본 테스트-주장-PVC-0b1ce53d-62f4-11ea -9e5a-00163e0a8e3e
성공
따라서, 일반 배포, 동적 공유 볼륨을 할당 할 수있다 NFS
(3) 인증 데이터 지속성
이제 우리는 테스트-POD 수있는이 포드는 사라지지 않을 것이며, 파일 내부 테스트 데이터 볼륨을 삭제합니다.
# Kubectl 삭제 포드 / 테스트 포드
나중에 포드를 삭제할 수를 본 후, 데이터는 우리가 동적 데이터 지속성을 달성 그래서, 손실되지 않습니다