tridentctl을 사용하여 Trident를 관리합니다
에는 "Trident 설치 프로그램 번들" Trident에 간단하게 액세스할 수 있는 명령줄 유틸리티가 포함되어 tridentctl 있습니다. 충분한 Privileges를 가진 Kubernetes 사용자는 이 툴을 사용하여 Trident를 설치하거나 Trident Pod가 포함된 네임스페이스를 관리할 수 있습니다.
명령 및 글로벌 플래그
를 실행하여 사용 가능한 명령 목록을 tridentctl 가져오거나 해당 명령에 대한 옵션 및 플래그 목록을 가져오기 위해 해당 명령에 플래그를 추가할 --help 수 tridentctl help 있습니다.
tridentctl [command] [--optional-flag]
Trident tridentctl 유틸리티는 다음 명령 및 글로벌 플래그를 지원합니다.
명령
create-
Trident에 리소스를 추가합니다.
delete-
Trident에서 하나 이상의 리소스를 제거합니다.
get-
Trident에서 하나 이상의 리소스를 얻습니다.
help-
모든 명령에 대한 도움말.
images-
Trident에 필요한 컨테이너 이미지 표를 인쇄합니다.
import-
기존 리소스를 Trident로 가져옵니다.
install-
Trident를 설치합니다.
logs-
Trident에서 로그를 인쇄합니다.
send-
Trident에서 리소스를 보냅니다.
uninstall-
Trident를 제거합니다.
update-
Trident에서 리소스를 수정합니다.
update backend state-
백엔드 작업을 일시적으로 중단합니다.
upgrade-
Trident에서 리소스를 업그레이드합니다.
version-
Trident 버전을 인쇄합니다.
글로벌 플래그
-d,--debug-
디버그 출력.
-h,--help-
도움말
tridentctl. -k,--kubeconfig string-
`KUBECONFIG`명령을 로컬로 실행하거나 Kubernetes 클러스터 간에 실행할 경로를 지정합니다.
또는 변수를 내보내어 특정 Kubernetes 클러스터를 가리키도록 하고 해당 클러스터에 명령을 실행할 tridentctl수KUBECONFIG있습니다. -n,--namespace string-
Trident 배포의 네임스페이스입니다.
-o,--output string-
출력 형식. json|YAML|name|wide|ps(기본값) 중 하나.
-s,--server string-
Trident REST 인터페이스의 주소/포트입니다.
Trident REST 인터페이스는 127.0.0.1(IPv4의 경우) 또는 [::1](IPv6의 경우)에서만 수신 및 서비스하도록 구성할 수 있습니다.
명령 옵션 및 플래그
생성
명령을 사용하여 create Trident에 리소스를 추가할 수 있습니다.
tridentctl create [option]
- 옵션
-
backend: Trident에 백엔드를 추가합니다.
삭제
명령을 사용하여 delete Trident에서 하나 이상의 리소스를 제거할 수 있습니다.
tridentctl delete [option]
- 옵션
-
backend: Trident에서 하나 이상의 저장소 백엔드를 삭제합니다.
snapshot: Trident에서 하나 이상의 볼륨 스냅샷을 삭제합니다.
storageclass: Trident에서 하나 이상의 저장소 클래스를 삭제합니다.
volume: Trident에서 하나 이상의 저장소 볼륨을 삭제합니다.
가져오기
명령을 사용하여 get Trident에서 하나 이상의 리소스를 가져옵니다.
tridentctl get [option]
- 옵션
-
backend: Trident에서 하나 이상의 스토리지 백엔드를 가져옵니다.
snapshot: Trident에서 하나 이상의 스냅샷을 가져옵니다.
storageclass: Trident에서 하나 이상의 스토리지 클래스를 가져옵니다.
volume: Trident에서 하나 이상의 볼륨을 가져옵니다. - 깃발
-
-h,--help:볼륨에 대한 도움말입니다.
--parentOfSubordinate string: 하위 소스 볼륨으로 쿼리를 제한합니다.
--subordinateOf string: 쿼리를 볼륨의 부하로 제한합니다.
이미지
`images`플래그를 사용하여 Trident에 필요한 컨테이너 이미지 테이블을 인쇄합니다.
tridentctl images [flags]
- 깃발
-
-h,--help:이미지 도움말.
-v,--k8s-version string: Kubernetes 클러스터의 시맨틱 버전.
볼륨 가져오기
명령을 사용하여 import volume 기존 볼륨을 Trident로 가져옵니다.
tridentctl import volume <backendName> <volumeName> [flags]
- 별칭
-
volume,v - 깃발
-
-f,--filename string: YAML 또는 JSON PVC 파일 경로.
-h,--help: 볼륨에 대한 도움말입니다.
--no-manage:PV/PVC만 생성합니다. 볼륨 라이프사이클 관리를 가정하지 마십시오.
설치합니다
`install`플래그를 사용하여 Trident를 설치합니다.
tridentctl install [flags]
- 깃발
-
--autosupport-image string: AutoSupport 원격 측정용 컨테이너 이미지(기본값 "NetApp/Trident AutoSupport:<current-version>").
--autosupport-proxy string: AutoSupport 원격 측정을 보내는 프록시의 주소/포트입니다.
--enable-node-prep: 노드에 필요한 패키지를 설치하려고 시도합니다.
--generate-custom-yaml: 아무것도 설치하지 않고 YAML 파일을 생성합니다.
-h,--help:설치 도움말.
--http-request-timeout: Trident 컨트롤러의 REST API에 대한 HTTP 요청 시간 초과를 재정의합니다(기본값 1m30s).
--image-registry string: 내부 이미지 레지스트리의 주소/포트입니다.
--k8s-timeout duration: 모든 Kubernetes 작업에 대한 시간 초과(기본값 3m0s)
--kubelet-dir string: kubelet의 내부 상태의 호스트 위치(기본값 "/var/lib/kubelet").
--log-format string: Trident logging format (text, json) (default "text").
--node-prep: Trident가 지정된 데이터 스토리지 프로토콜을 사용하여 볼륨을 관리할 Kubernetes 클러스터의 노드를 준비할 수 있도록 합니다. 현재iscsi지원되는 유일한 값입니다.
--pv string: Trident에서 사용하는 레거시 PV의 이름으로 이 이름이 존재하지 않는지 확인합니다(기본값 "Trident").
--pvc string: Trident에서 사용하는 레거시 PVC의 이름으로, 이것이 존재하지 않는지 확인합니다 (기본값 "Trident").
--silence-autosupport: AutoSupport 번들을 NetApp에 자동으로 보내지 않습니다(기본값 true).
--silent: 설치하는 동안 MOST 출력을 비활성화합니다.
--trident-image string: 설치할 Trident 이미지입니다.
--use-custom-yaml: 설치 디렉토리에 있는 기존 YAML 파일을 사용합니다.
--use-ipv6: Trident 통신에 IPv6를 사용합니다.
로그
`logs`플래그를 사용하여 Trident에서 로그를 인쇄합니다.
tridentctl logs [flags]
- 깃발
-
-a,--archive: 별도로 지정하지 않는 한 모든 로그를 사용하여 지원 아카이브를 생성합니다.
-h,--help:로그에 대한 도움말입니다.
-l,--log string:표시할 Trident 로그. Trident|auto|Trident-operator|all 중 하나(기본값 "auto").
--node string: 노드 Pod 로그를 수집할 Kubernetes 노드 이름입니다.
-p,--previous: 이전 컨테이너 인스턴스가 있는 경우 로그를 가져옵니다.
--sidecars: 사이드카 컨테이너에 대한 로그를 가져옵니다.
전송
명령을 사용하여 send Trident에서 리소스를 보냅니다.
tridentctl send [option]
- 옵션
-
autosupport: AutoSupport 아카이브를 NetApp로 전송합니다.
설치 제거
`uninstall`플래그를 사용하여 Trident를 제거합니다.
tridentctl uninstall [flags]
- 깃발
-
-h, --help: 제거에 대한 도움말입니다.
--silent: 제거 중 대부분의 출력을 비활성화합니다.
업데이트
명령을 사용하여 update Trident에서 리소스를 수정합니다.
tridentctl update [option]
- 옵션
-
backend: Trident에서 백엔드를 업데이트합니다.
백엔드 상태를 업데이트합니다
명령을 사용하여 update backend state 백엔드 작업을 일시 중단하거나 재개합니다.
tridentctl update backend state <backend-name> [flag]
-
TridentBackendConfig(tbc)를 사용하여 백엔드를 생성한 경우 파일을 사용하여 백엔드를 업데이트할 수
backend.json없습니다. -
가 tbc에 설정된 경우
userState명령을 사용하여 수정할 수 없습니다tridentctl update backend state <backend-name> --user-state suspended/normal. -
tbc를 통해 설정한 후 via tridentctl을
userState다시 설정하려면userStatetbc에서 필드를 제거해야 합니다. 이 작업은 명령을 사용하여 수행할 수kubectl edit tbc있습니다. 필드가 제거된 후userState명령을 사용하여 백엔드의 을 변경할userState수 있습니다tridentctl update backend state. -
를 사용하여
tridentctl update backend state를userState`변경합니다. 또는 파일을 사용하여 업데이트할 수도 `userStateTridentBackendConfigbackend.json있습니다. 이렇게 하면 백엔드의 완전한 재초기화가 트리거되고 시간이 오래 걸릴 수 있습니다.- 깃발
-
-h,--help: 백엔드 상태에 대한 도움말입니다.
--user-state: 백엔드 작업을 일시 중지하려면 으로suspended설정합니다. 백엔드 작업을 재개하려면 으로normal설정합니다. 다음으로 설정된 경우suspended:
-
AddVolume그리고Import Volume일시 중지되었습니다. -
CloneVolumeResizeVolume, ,PublishVolume, , , ,UnPublishVolumeCreateSnapshotGetSnapshotRestoreSnapshot, ,DeleteSnapshot, , , ,RemoveVolumeGetVolumeExternalReconcileNodeAccess사용 가능 상태를 유지합니다.
백엔드 구성 파일 또는 의 필드를 사용하여 백엔드 상태를 업데이트할 수도 userState TridentBackendConfig `backend.json`있습니다. 자세한 내용은 및 을 "백엔드 관리 옵션" "kubeck을 사용하여 백엔드 관리 수행"참조하십시오.
-
예: *
파일을 사용하여 를 업데이트하려면 다음 단계를 userState backend.json 수행하십시오.
-
backend.json`값이 'uspended'로 설정된 필드를 포함하도록 파일을 `userState편집합니다. -
업데이트된 파일의 경로와 명령을 사용하여 백엔드를
tridentctl backend updatebackend.json업데이트합니다.-
예 *:
tridentctl backend update -f /<path to backend JSON file>/backend.json
-
{
"version": 1,
"storageDriverName": "ontap-nas",
"managementLIF": "<redacted>",
"svm": "nas-svm",
"backendName": "customBackend",
"username": "<redacted>",
"password": "<redacted>",
"userState": "suspended"
}
명령을 사용하여 tbc를 적용한 후 편집할 수 kubectl edit <tbc-name> -n <namespace> 있습니다. 다음 예에서는 옵션을 사용하여 백엔드 상태를 일시 중단하도록 업데이트합니다 userState: suspended .
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: backend-ontap-nas
spec:
version: 1
backendName: customBackend
storageDriverName: ontap-nas
managementLIF: <redacted>
svm: nas-svm
userState: suspended
credentials:
name: backend-tbc-ontap-nas-secret
버전
`version`플래그를 사용하여 및 실행 중인 Trident 서비스의 버전을 `tridentctl` 인쇄합니다.
tridentctl version [flags]
- 깃발
-
--client: 클라이언트 버전만 (서버가 필요하지 않음).
-h, --help: 버전 도움말.
플러그인 지원
Tridentctl은 kubectl과 유사한 플러그인을 지원합니다. Tridentctl은 플러그인 바이너리 파일 이름이 "tridentctl-<plugin>" 체계를 따르고 바이너리가 경로 환경 변수를 나열한 폴더에 있는 경우 플러그인을 감지합니다. 검색된 모든 플러그인은 tridentctl 도움말의 플러그인 섹션에 나열됩니다. 필요한 경우 환경 변수 TRIDENTCTL_PLUGIN_PATH에 플러그인 폴더를 지정하여 검색을 제한할 수도 있습니다(예: TRIDENTCTL_PLUGIN_PATH=~/tridentctl-plugins/). 변수가 사용되는 경우, tridenctl 은 지정된 폴더에서만 검색합니다.