Skip to main content
이 제품의 최신 릴리즈를 사용할 수 있습니다.
본 한국어 번역은 사용자 편의를 위해 제공되는 기계 번역입니다. 영어 버전과 한국어 버전이 서로 어긋나는 경우에는 언제나 영어 버전이 우선합니다.

Trident 구축

Trident for Docker는 NetApp 스토리지 플랫폼을 위한 Docker 에코시스템과의 직접적인 통합을 제공합니다. 스토리지 플랫폼에서 Docker 호스트로 스토리지 리소스를 프로비저닝하고 관리할 수 있도록 지원하며, 향후 다른 플랫폼을 추가할 수 있는 프레임워크도 제공합니다.

Trident의 여러 인스턴스를 동일한 호스트에서 동시에 실행할 수 있습니다. 이를 통해 여러 스토리지 시스템 및 스토리지 유형에 동시에 연결할 수 있으며 Docker 볼륨에 사용되는 스토리지를 사용자 지정할 수 있습니다.

필요한 것

"배포를 위한 사전 요구 사항"를 참조하십시오. 사전 요구 사항이 충족되었는지 확인한 후 Trident를 배포할 준비가 된 것입니다.

Docker 관리형 플러그인 방식(버전 1.13/17.03 이상)

참고
시작하기 전에
기존 데몬 방식으로 Docker 1.13/17.03 이전 버전의 Trident를 사용한 경우 관리형 플러그인 방식을 사용하기 전에 Trident 프로세스를 중지하고 Docker 데몬을 다시 시작해야 합니다.
  1. 실행 중인 모든 인스턴스를 중지합니다.

    pkill /usr/local/bin/netappdvp
    pkill /usr/local/bin/trident
  2. Docker를 재시작합니다.

    systemctl restart docker
  3. Docker Engine 17.03(새 1.13) 이상이 설치되어 있는지 확인하십시오.

    docker --version

    사용 중인 버전이 오래된 경우 "설치 또는 설치 업데이트".

단계
  1. 구성 파일을 생성하고 다음과 같이 옵션을 지정하십시오.

    • config: 기본 파일 이름은 config.json`이지만 `config 옵션에 파일 이름을 지정하여 원하는 이름을 사용할 수 있습니다. 구성 파일은 호스트 시스템의 /etc/netappdvp 디렉터리에 있어야 합니다.

    • log-level: 로깅 수준을 지정합니다((debug, info, warn, error, fatal). 기본값은 `info`입니다.

    • debug: 디버그 로깅 활성화 여부를 지정합니다. 기본값은 false입니다. true로 설정하면 log-level을 재정의합니다.

      1. 구성 파일의 위치를 생성합니다.

        sudo mkdir -p /etc/netappdvp
      2. 구성 파일을 생성합니다.

        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
  2. 관리형 플러그인 시스템을 사용하여 Trident를 시작합니다. `<version>`를 사용 중인 플러그인 버전(xxx.xx.x)으로 교체합니다.

    docker plugin install --grant-all-permissions --alias netapp netapp/trident-plugin:<version> config=myConfigFile.json
  3. 구성된 시스템에서 스토리지를 사용하려면 Trident를 사용하기 시작하십시오.

    1. "firstVolume"이라는 이름의 볼륨을 생성합니다.

      docker volume create -d netapp --name firstVolume
    2. 컨테이너 시작 시 기본 볼륨 생성:

      docker run --rm -it --volume-driver netapp --volume secondVolume:/my_vol alpine ash
    3. "firstVolume" 볼륨을 제거하세요:

      docker volume rm firstVolume

기존 방식(버전 1.12 이하)

시작하기 전에
  1. Docker 버전 1.10 이상이 있는지 확인하십시오.

    docker --version

    사용 중인 버전이 오래된 경우 설치를 업데이트하십시오.

    curl -fsSL https://get.docker.com/ | sh
  2. 시스템에 NFS 및/또는 iSCSI가 구성되어 있는지 확인하십시오.

단계
  1. NetApp Docker 볼륨 플러그인을 설치하고 구성하십시오.

    1. 애플리케이션을 다운로드하고 압축을 풉니다.

      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
    2. 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
    3. 구성 파일의 위치를 생성합니다.

      sudo mkdir -p /etc/netappdvp
    4. 구성 파일을 생성합니다.

      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
  2. 바이너리를 배치하고 구성 파일을 생성한 후 원하는 구성 파일을 사용하여 Trident 데몬을 시작합니다.

    sudo trident --config=/etc/netappdvp/ontap-nas.json
    참고 별도로 지정하지 않으면 볼륨 드라이버의 기본 이름은 "netapp"입니다.

    데몬이 시작되면 Docker CLI 인터페이스를 사용하여 볼륨을 생성하고 관리할 수 있습니다.

  3. 볼륨 생성:

    docker volume create -d netapp --name trident_1
  4. 컨테이너를 시작할 때 Docker 볼륨을 프로비저닝합니다.

    docker run --rm -it --volume-driver netapp --volume trident_2:/my_vol alpine ash
  5. Docker 볼륨 제거:

    docker volume rm trident_1
    docker volume rm trident_2

시스템 시작 시 Trident를 시작합니다

systemd 기반 시스템용 샘플 유닛 파일은 Git 저장소의 `contrib/trident.service.example`에서 찾을 수 있습니다. RHEL에서 파일을 사용하려면 다음을 수행합니다.

  1. 파일을 올바른 위치에 복사합니다.

    여러 인스턴스를 실행하는 경우 유닛 파일에 고유한 이름을 사용해야 합니다.

    cp contrib/trident.service.example /usr/lib/systemd/system/trident.service
  2. 파일을 편집하고 설명(2행)을 드라이버 이름과 일치하도록 변경하고 구성 파일 경로(9행)를 환경에 맞게 변경하십시오.

  3. 변경 사항을 수집하도록 systemd를 다시 로드합니다.

    systemctl daemon-reload
  4. 서비스를 활성화합니다.

    이 이름은 /usr/lib/systemd/system 디렉터리에서 파일 이름을 지정한 내용에 따라 달라집니다.

    systemctl enable trident
  5. 서비스를 시작합니다.

    systemctl start trident
  6. 상태를 확인합니다.

    systemctl status trident
참고 유닛 파일을 수정할 때마다 변경 사항을 인식하도록 systemctl daemon-reload 명령을 실행합니다.