6.20. CIFS/SMB CSI 드라이버 운영자
OpenShift Container Platform은 CIFS(Common Internet File System) 방언/SMB(Server Message Block) 프로토콜에 대한 CSI(Container Storage Interface) 드라이버를 사용하여 영구 볼륨(PV)을 프로비저닝할 수 있습니다.
CSI 운영자와 드라이버를 사용할 때는 영구 저장소 와 CSI 볼륨 구성 에 익숙해야 합니다.
CIFS/SMB CSI Driver Operator를 설치한 후, OpenShift Container Platform은 기본적으로 openshift-cluster-csi-drivers
네임스페이스에 Operator와 드라이버에 해당하는 Pod를 설치합니다. 이를 통해 CIFS/SMB CSI 드라이버는 CIFS/SMB 공유에 마운트되는 CSI 프로비저닝 영구 볼륨(PV)을 생성할 수 있습니다.
-
CIFS/SMB CSI 드라이버 운영자는 설치된 후 기본적으로 영구 볼륨 클레임(PVC)을 생성하는 데 사용할 스토리지 클래스를 생성하지 않습니다. 하지만 동적 프로비저닝을 위해 CIFS/SMB
StorageClass를
수동으로 생성할 수 있습니다 . CIFS/SMB CSI 드라이버 운영자는 스토리지 볼륨을 필요에 따라 생성할 수 있도록 하여 동적 볼륨 프로비저닝을 지원합니다. 이렇게 하면 클러스터 관리자가 스토리지를 미리 프로비저닝할 필요가 없습니다. - CIFS/SMB CSI 드라이버를 사용하면 CIFS/SMB PV를 만들고 마운트할 수 있습니다.
6.20.1. CSI 정보 링크 복사링크가 클립보드에 복사되었습니다!
스토리지 벤더는 일반적으로 Kubernetes의 일부로 스토리지 드라이버를 제공합니다. 컨테이너 스토리지 인터페이스(CSI)를 구현하면 타사 공급업체는 Kubernetes의 핵심 코드를 변경하지 않고도 표준 인터페이스를 사용하여 스토리지 플러그인을 제공할 수 있습니다.
CSI 운영자는 OpenShift Container Platform 사용자에게 트리 내 볼륨 플러그인으로는 불가능한 볼륨 스냅샷과 같은 저장 옵션을 제공합니다.
6.20.2. 제한 링크 복사링크가 클립보드에 복사되었습니다!
다음 제한 사항은 CIFS(Common Internet File System)/SMB(Server Message Block) CSI(Container Storage Interface) 드라이버 운영자에게 적용됩니다.
FIPS 모드는 지원되지 않습니다.
FIPS(연방 정보 처리 표준) 모드가 활성화되면 md4 및 md5 사용이 비활성화되어 사용자가 ntlm, ntlmv2 또는 ntlmssp 인증을 사용할 수 없습니다. 또한 md5를 사용하기 때문에 서명을 사용할 수 없습니다. FIPS 모드가 활성화되어 있으면 이러한 방법을 사용하는 모든 CIFS 마운트가 실패합니다.
CSI 드라이버는 클러스터 외부 SMB 서버에 연결하기 위해 HTTP 프록시 구성을 지원하지 않습니다.
CIFS/SMB는 LAN 프로토콜이기 때문에 서브넷으로 라우팅할 수는 있지만 WAN을 통해 확장하도록 설계되지 않았으며 HTTP 프록시 설정을 지원하지 않습니다.
- CIFS/SMB CSI 드라이버 운영자는 Windows 분산 파일 시스템(DFS)을 지원 하지 않습니다 .
- Kerberos 인증은 지원되지 않습니다.
- SMB CSI는 Samba v4.21.2와 Windows Server 2019, Windows Server 2022에서 테스트되었습니다.
6.20.3. CIFS/SMB CSI 드라이버 운영자 설치 링크 복사링크가 클립보드에 복사되었습니다!
CIFS/SMB CSI Driver Operator(Red Hat Operator)는 기본적으로 OpenShift Container Platform에 설치되지 않습니다. 다음 절차에 따라 클러스터에 CIFS/SMB CSI 드라이버 운영자를 설치하고 구성하세요.
사전 요구 사항
- OpenShift Container Platform 웹 콘솔에 액세스합니다.
프로세스
웹 콘솔에서 CIFS/SMB CSI 드라이버 운영자를 설치하려면:
- 웹 콘솔에 로그인합니다.
CIFS/SMB CSI Operator를 설치하세요.
-
Operators
OperatorHub를 클릭합니다. - 필터 상자에 CIFS/SMB CSI를 입력하여 CIFS/SMB CSI 연산자를 찾습니다.
- CIFS/SMB CSI 드라이버 운영자 버튼을 클릭합니다.
- CIFS/SMB CSI 드라이버 운영자 페이지에서 설치를 클릭합니다.
Operator 설치 페이지에서 다음을 확인합니다.
- 클러스터의 모든 네임스페이스(기본값)가 선택됩니다.
- 설치된 네임스페이스는 openshift-cluster-csi-drivers로 설정됩니다.
설치를 클릭합니다.
설치가 완료되면 CIFS/SMB CSI Operator가 웹 콘솔의 설치된 운영자 섹션에 나열됩니다.
-
Operators
6.20.4. CIFS/SMB CSI 드라이버 설치 링크 복사링크가 클립보드에 복사되었습니다!
CIFS/SMB 컨테이너 스토리지 인터페이스(CSI) 드라이버 오퍼레이터를 설치한 후 CIFS/SMB CSI 드라이버를 설치합니다.
사전 요구 사항
- OpenShift Container Platform 웹 콘솔에 액세스합니다.
- CIFS/SMB CSI 드라이버 운영자가 설치되었습니다.
프로세스
-
관리
CustomResourceDefinitions ClusterCSIDriver를 클릭합니다. - Instances 탭에서 Create ClusterCSIDriver를 클릭합니다.
다음 YAML 파일을 사용합니다.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 생성을 클릭합니다.
다음 조건이 "참" 상태로 변경될 때까지 기다리세요.
-
SambaDriverControllerServiceControllerAvailable
-
SambaDriverNodeServiceControllerAvailable
-
6.20.5. 동적 프로비저닝 링크 복사링크가 클립보드에 복사되었습니다!
CIFS(Common Internet File System) 방언/SMB(Server Message Block) 프로토콜 볼륨의 동적 프로비저닝을 위한 스토리지 클래스를 생성할 수 있습니다. 볼륨을 프로비저닝하면 스토리지 클래스에 정의된 소스
아래에 영구 볼륨(PV) 이름이 있는 하위 디렉토리가 생성됩니다.
사전 요구 사항
- CIFS/SMB CSI 드라이버 운영자와 드라이버가 설치되었습니다.
- 실행 중인 OpenShift Container Platform 클러스터에 로그인했습니다.
SMB 서버를 설치했고 서버에 대한 다음 정보를 알고 있습니다.
- 호스트 이름
- 공유 이름
- 사용자 이름과 비밀번호
프로세스
동적 프로비저닝을 설정하려면:
다음 명령과 예제 YAML 파일을 사용하여 Samba 서버에 액세스하기 위한 비밀을 만듭니다.
oc create -f <file_name>.yaml
$ oc create -f <file_name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 비밀 예제 YAML 파일
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예제 YAML 파일로 다음 명령을 실행하여 스토리지 클래스를 생성합니다.
oc create -f <sc_file_name>.yaml
$ oc create -f <sc_file_name>.yaml
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 저장 클래스 YAML 파일의 이름입니다.
저장 클래스 예제 YAML 파일
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PVC 만들기:
다음 예제 YAML 파일을 사용하여 다음 명령을 실행하여 PVC를 만듭니다.
oc create -f <pv_file_name>.yaml
$ oc create -f <pv_file_name>.yaml
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- PVC YAML 파일의 이름입니다.
PVC YAML 파일 예시
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 PVC가 생성되었고 "바인딩" 상태인지 확인하세요.
oc describe pvc <pvc_name>
$ oc describe pvc <pvc_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이전 단계에서 만든 PVC의 이름입니다.
출력 예
Name: pvc-test Namespace: default StorageClass: samba Status: Bound ...
Name: pvc-test Namespace: default StorageClass: samba Status: Bound
1 ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- PVC는 Bound 상태입니다.
6.20.6. 정적 프로비저닝 링크 복사링크가 클립보드에 복사되었습니다!
정적 프로비저닝을 사용하면 기존 SMB(Server Message Block) 프로토콜 공유를 사용하기 위해 영구 볼륨(PV)과 영구 볼륨 클레임(PVC)을 생성할 수 있습니다.
사전 요구 사항
- OpenShift Container Platform 웹 콘솔에 액세스합니다.
- CIFS/SMB CSI 드라이버 운영자와 드라이버가 설치되었습니다.
SMB 서버를 설치했고 서버에 대한 다음 정보를 알고 있습니다.
- 호스트 이름
- 공유 이름
- 사용자 이름과 비밀번호
프로세스
정적 프로비저닝을 설정하려면:
다음 명령과 예제 YAML 파일을 사용하여 Samba 서버에 액세스하기 위한 비밀을 만듭니다.
oc create -f <file_name>.yaml
$ oc create -f <file_name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 비밀 예제 YAML 파일
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 예제 YAML 파일을 사용하여 다음 명령을 실행하여 PV를 만듭니다.
oc create -f <pv_file_name>.yaml
$ oc create -f <pv_file_name>.yaml
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- PV YAML 파일의 이름입니다.
PV YAML 파일 예시
Copy to Clipboard Copied! Toggle word wrap Toggle overflow PVC 만들기:
다음 예제 YAML 파일을 사용하여 다음 명령을 실행하여 PVC를 만듭니다.
oc create -f <pv_file_name>.yaml
$ oc create -f <pv_file_name>.yaml
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- PVC YAML 파일의 이름입니다.
PVC YAML 파일 예시
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 PVC가 생성되었고 "바인딩" 상태인지 확인하세요.
oc describe pvc <pvc_name>
$ oc describe pvc <pvc_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 이전 단계에서 만든 PVC의 이름입니다.
출력 예
Name: pvc-test Namespace: default StorageClass: Status: Bound ...
Name: pvc-test Namespace: default StorageClass: Status: Bound
1 ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- PVC는 Bound 상태입니다.
다음 예제 YAML 파일을 사용하여 다음 명령을 실행하여 Linux에 배포를 만듭니다.
참고이전 단계에서 만든 PV와 PVC를 사용하는 경우 다음 배포는 필수가 아닙니다. 이는 사용할 수 있는 방법의 예입니다.
oc create -f <deployment_file_name>.yaml
$ oc create -f <deployment_file_name>.yaml
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 배포 YAML 파일의 이름입니다.
배포 YAML 파일의 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 컨테이너에서
df -h
명령을 실행하여 설정을 확인하세요.oc exec -it <pod_name> -- df -h
$ oc exec -it <pod_name> -- df -h
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Pod의 이름입니다.
출력 예
Filesystem Size Used Avail Use% Mounted on ... /dev/sda1 97G 21G 77G 22% /etc/hosts //20.43.191.64/share 97G 21G 77G 22% /mnt/smb ...
Filesystem Size Used Avail Use% Mounted on ... /dev/sda1 97G 21G 77G 22% /etc/hosts //20.43.191.64/share 97G 21G 77G 22% /mnt/smb ...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서는
/mnt/smb
디렉토리가 CIFS(Common Internet File System) 파일 시스템으로 마운트되어 있습니다.