Trident 구축
Trident for Docker는 NetApp 스토리지 플랫폼을 위한 Docker 에코시스템과의 직접적인 통합을 제공합니다. 스토리지 플랫폼에서 Docker 호스트로 스토리지 리소스를 프로비저닝하고 관리할 수 있도록 지원하며, 향후 다른 플랫폼을 추가할 수 있는 프레임워크도 제공합니다.
Trident의 여러 인스턴스를 동일한 호스트에서 동시에 실행할 수 있습니다. 이를 통해 여러 스토리지 시스템 및 스토리지 유형에 동시에 연결할 수 있으며 Docker 볼륨에 사용되는 스토리지를 사용자 지정할 수 있습니다.
"배포를 위한 사전 요구 사항"를 참조하십시오. 사전 요구 사항이 충족되었는지 확인한 후 Trident를 배포할 준비가 된 것입니다.
Docker 관리형 플러그인 방식(버전 1.13/17.03 이상)
|
|
시작하기 전에
기존 데몬 방식으로 Docker 1.13/17.03 이전 버전의 Trident를 사용한 경우 관리형 플러그인 방식을 사용하기 전에 Trident 프로세스를 중지하고 Docker 데몬을 다시 시작해야 합니다.
|
-
실행 중인 모든 인스턴스를 중지합니다.
pkill /usr/local/bin/netappdvp pkill /usr/local/bin/trident -
Docker를 재시작합니다.
systemctl restart docker -
Docker Engine 17.03(새 1.13) 이상이 설치되어 있는지 확인하십시오.
docker --version사용 중인 버전이 오래된 경우 "설치 또는 설치 업데이트".
-
구성 파일을 생성하고 다음과 같이 옵션을 지정하십시오.
-
config: 기본 파일 이름은config.json`이지만 `config옵션에 파일 이름을 지정하여 원하는 이름을 사용할 수 있습니다. 구성 파일은 호스트 시스템의/etc/netappdvp디렉터리에 있어야 합니다. -
log-level: 로깅 수준을 지정합니다((debug,info,warn,error,fatal). 기본값은 `info`입니다. -
debug: 디버그 로깅 활성화 여부를 지정합니다. 기본값은 false입니다. true로 설정하면 log-level을 재정의합니다.-
구성 파일의 위치를 생성합니다.
sudo mkdir -p /etc/netappdvp -
구성 파일을 생성합니다.
cat << EOF > /etc/netappdvp/config.json{ "version": 1, "storageDriverName": "ontap-nas", "managementLIF": "10.0.0.1", "dataLIF": "10.0.0.2", "svm": "svm_nfs", "username": "vsadmin", "password": "password", "aggregate": "aggr1" } EOF
-
-
-
관리형 플러그인 시스템을 사용하여 Trident를 시작합니다. `<version>`를 사용 중인 플러그인 버전(xxx.xx.x)으로 교체합니다.
docker plugin install --grant-all-permissions --alias netapp netapp/trident-plugin:<version> config=myConfigFile.json -
구성된 시스템에서 스토리지를 사용하려면 Trident를 사용하기 시작하십시오.
-
"firstVolume"이라는 이름의 볼륨을 생성합니다.
docker volume create -d netapp --name firstVolume -
컨테이너 시작 시 기본 볼륨 생성:
docker run --rm -it --volume-driver netapp --volume secondVolume:/my_vol alpine ash -
"firstVolume" 볼륨을 제거하세요:
docker volume rm firstVolume
-
기존 방식(버전 1.12 이하)
-
Docker 버전 1.10 이상이 있는지 확인하십시오.
docker --version사용 중인 버전이 오래된 경우 설치를 업데이트하십시오.
curl -fsSL https://get.docker.com/ | sh또는 "배포 지침을 따르십시오".
-
시스템에 NFS 및/또는 iSCSI가 구성되어 있는지 확인하십시오.
-
NetApp Docker 볼륨 플러그인을 설치하고 구성하십시오.
-
애플리케이션을 다운로드하고 압축을 풉니다.
wget https://github.com/NetApp/trident/releases/download/10.0/trident-installer-25.10.0.tar.gz tar zxf trident-installer-25.10.0.tar.gz -
bin 경로의 위치로 이동합니다.
sudo mv trident-installer/extras/bin/trident /usr/local/bin/ sudo chown root:root /usr/local/bin/trident sudo chmod 755 /usr/local/bin/trident -
구성 파일의 위치를 생성합니다.
sudo mkdir -p /etc/netappdvp -
구성 파일을 생성합니다.
cat << EOF > /etc/netappdvp/ontap-nas.json{ "version": 1, "storageDriverName": "ontap-nas", "managementLIF": "10.0.0.1", "dataLIF": "10.0.0.2", "svm": "svm_nfs", "username": "vsadmin", "password": "password", "aggregate": "aggr1" } EOF
-
-
바이너리를 배치하고 구성 파일을 생성한 후 원하는 구성 파일을 사용하여 Trident 데몬을 시작합니다.
sudo trident --config=/etc/netappdvp/ontap-nas.json별도로 지정하지 않으면 볼륨 드라이버의 기본 이름은 "netapp"입니다. 데몬이 시작되면 Docker CLI 인터페이스를 사용하여 볼륨을 생성하고 관리할 수 있습니다.
-
볼륨 생성:
docker volume create -d netapp --name trident_1 -
컨테이너를 시작할 때 Docker 볼륨을 프로비저닝합니다.
docker run --rm -it --volume-driver netapp --volume trident_2:/my_vol alpine ash -
Docker 볼륨 제거:
docker volume rm trident_1docker volume rm trident_2
시스템 시작 시 Trident를 시작합니다
systemd 기반 시스템용 샘플 유닛 파일은 Git 저장소의 `contrib/trident.service.example`에서 찾을 수 있습니다. RHEL에서 파일을 사용하려면 다음을 수행합니다.
-
파일을 올바른 위치에 복사합니다.
여러 인스턴스를 실행하는 경우 유닛 파일에 고유한 이름을 사용해야 합니다.
cp contrib/trident.service.example /usr/lib/systemd/system/trident.service -
파일을 편집하고 설명(2행)을 드라이버 이름과 일치하도록 변경하고 구성 파일 경로(9행)를 환경에 맞게 변경하십시오.
-
변경 사항을 수집하도록 systemd를 다시 로드합니다.
systemctl daemon-reload -
서비스를 활성화합니다.
이 이름은
/usr/lib/systemd/system디렉터리에서 파일 이름을 지정한 내용에 따라 달라집니다.systemctl enable trident -
서비스를 시작합니다.
systemctl start trident -
상태를 확인합니다.
systemctl status trident
|
|
유닛 파일을 수정할 때마다 변경 사항을 인식하도록 systemctl daemon-reload 명령을 실행합니다.
|