Kf는 kf marketplace
를 사용한 NFS 볼륨 마운트를 지원합니다.
기본 요건
NFS 서비스 인스턴스 만들기
kf marketplace
를 실행하여 사용 가능한 서비스를 확인합니다. NFS가 플랫폼에서 사용 설정되면 기본 제공되는 NFS 서비스가 목록에 표시됩니다.
Broker Name Namespace Description
nfsvolumebroker nfs mount nfs shares
외부 파일 시스템 마운트
서비스 인스턴스 만들기
기존 NFS 서비스에 마운트하려면 다음을 실행합니다.
kf create-service nfs existing SERVICE-INSTANCE-NAME -c '{"share":"SERVER/SHARE", "capacity":"CAPACITY"}'
변수를 해당하는 값으로 바꿉니다.
- SERVICE-INSTANCE-NAME은 이 NFS 볼륨 서비스 인스턴스에 사용할 이름입니다.
- SERVER/SHARE는 서버 및 공유의 NFS 주소입니다.
- CAPACITY는 Kubernetes 수량 형식을 사용합니다.
NFS 볼륨 서비스가 서비스 목록에 표시되는지 확인합니다. 이 예시와 비슷한 출력이 표시됩니다.
$ kf services
...
Listing services in Space: demo-space
Name Type ClassName PlanName Age Ready Reason
filestore-nfs volume nfs existing 6s True <nil>
...
앱에 서비스 인스턴스 바인딩
NFS 서비스 인스턴스를 앱에 바인딩하려면 다음을 실행합니다.
kf bind-service YOUR-APP-NAME SERVICE-NAME -c '{"uid":"2000","gid":"2000","mount":"MOUNT-PATH","readonly":true}'
변수를 해당하는 값으로 바꿉니다.
YOUR-APP-NAME은 볼륨 서비스를 사용할 앱의 이름입니다.
SERVICE-NAME은 이전 단계에서 만든 볼륨 서비스 인스턴스의 이름입니다.
uid
:UID 및gid
:GID는 마운트되는 공유의 디렉터리 권한을 지정합니다.MOUNT-PATH는 앱에서 볼륨이 마운트되어야 하는 경로입니다.
(선택사항)
"readonly":true
는 읽기 전용 마운트를 만드는 선택적 JSON 문자열입니다. 기본적으로 볼륨 서비스는 읽기-쓰기 파일 시스템을 마운트합니다.
kf bindings
명령어를 사용하여 공간에 모든 바인딩을 나열할 수 있습니다. 다음 예시와 비슷한 출력이 표시됩니다.
$ kf bindings
...
Listing bindings in Space: demo-space
Name App Service Age Ready
binding-spring-music-filestore-nfs spring-music filestore-nfs 71s True
...
앱에서 볼륨 서비스에 액세스
앱에서 볼륨 서비스에 액세스하려면 코드에서 사용할 파일 경로를 알아야 합니다. 앱의 환경 변수에 표시되는 서비스 결합 세부정보에서 파일 경로를 볼 수 있습니다.
앱의 환경 변수를 봅니다.
kf vcap-services YOUR-APP-NAME
YOUR-APP-NAME을 앱 이름으로 바꿉니다.
다음은 kf vcap-services
명령어의 출력에 대한 예시입니다.
kf vcap-services *YOUR-APP-NAME*
{
"nfs": [
{
"instance_name": "nfs-instance",
"name": "nfs-instance",
"label": "nfs",
"tags": [],
"plan": "existing",
"credentials": {
"capacity": "1Gi",
"gid": 2000,
"mount": "/test/mount",
"share": "10.91.208.210/test",
"uid": 2000
},
"volume_mounts": [
{
"container_dir": "/test/mount",
"device_type": "shared",
"mode": "rw"
}
]
}
]
}
앱에 필요한 모든 정보를 보려면 volume_mounts
의 속성을 사용하세요.
속성 | 설명 |
---|---|
container_dir |
앱에 결합하는 마운트된 볼륨의 경로를 포함하는 문자열입니다. |
device_type |
NFS 볼륨 출시 버전입니다. 현재는 공유 기기만 지원됩니다. 공유 기기란 모든 앱 인스턴스에 동시에 마운트할 수 있는 분산 파일 시스템을 의미합니다. |
mode |
NFS에 대한 앱의 액세스 권한 유형을 알려주는 문자열로, ro (읽기 전용) 또는 rw (읽기 및 쓰기)입니다. |