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

Trident 연산자 수동 배포(오프라인 모드)

기여자

Trident 연산자를 수동으로 구축하여 Astra Trident를 설치할 수 있습니다. 이 프로세스는 Astra Trident에 필요한 컨테이너 이미지가 개인 레지스트리에 저장된 설치에 적용됩니다. 개인 이미지 레지스트리가 없는 경우 를 사용합니다 "표준 배포 프로세스".

Astra Trident 23.10에 대한 중요 정보

  • Astra Trident * 에 대한 다음 중요 정보를 읽어야 합니다

<strong> 중요 정보 Astra Trident </strong>
  • 이제 Trident에서 Kubernetes 1.27이 지원됩니다. Kubernetes를 업그레이드하기 전에 Trident를 업그레이드하십시오.

  • Astra Trident는 SAN 환경에서 다중 경로 구성을 엄격하게 사용하며 권장 값은 입니다 find_multipaths: no 다중 경로 .conf 파일

    비 경로 다중화 구성 또는 의 사용 find_multipaths: yes 또는 find_multipaths: smart multipath.conf 파일의 값으로 인해 마운트 오류가 발생합니다. Trident에서 의 사용을 권장했습니다 find_multipaths: no 21.07 릴리스 이후.

Trident 연산자를 수동으로 구축하고 Trident를 설치합니다

검토 "설치 개요" 설치 사전 요구 사항을 충족하고 환경에 맞는 올바른 설치 옵션을 선택했는지 확인합니다.

시작하기 전에

Linux 호스트에 로그인하여 작업 및 을 관리하고 있는지 확인합니다 "지원되는 Kubernetes 클러스터" 필요한 권한이 있어야 합니다.

참고 OpenShift에서는 을 사용합니다 oc 대신 kubectl 다음 모든 예에서 를 실행하여 먼저 * system:admin * 으로 로그인합니다 oc login -u system:admin 또는 oc login -u kube-admin.
Details
  1. Kubernetes 버전 확인:

    kubectl version
  2. 클러스터 관리자 권한 확인:

    kubectl auth can-i '*' '*' --all-namespaces
  3. Docker Hub의 이미지를 사용하는 Pod를 시작하고 Pod 네트워크를 통해 스토리지 시스템에 연결할 수 있는지 확인합니다.

    kubectl run -i --tty ping --image=busybox --restart=Never --rm -- \
      ping <management IP>

1단계: Trident 설치 프로그램 패키지를 다운로드합니다

Astra Trident 설치 프로그램 패키지에는 Trident 운영자를 구축하고 Astra Trident를 설치하는 데 필요한 모든 것이 들어 있습니다. 에서 최신 버전의 Trident 설치 프로그램을 다운로드하고 압축을 풉니다 "GitHub의 _Assets_섹션".

wget https://github.com/NetApp/trident/releases/download/v23.10.0/trident-installer-23.10.0.tar.gz
tar -xf trident-installer-23.10.0.tar.gz
cd trident-installer

2단계: 을 작성합니다 TridentOrchestrator CRD

를 생성합니다 TridentOrchestrator 사용자 정의 리소스 정의(CRD). 을(를) 생성합니다 TridentOrchestrator 나중에 사용자 지정 리소스. 에서 적절한 CRD YAML 버전을 사용하십시오 deploy/crds 를 작성합니다 TridentOrchestrator CRD:

kubectl create -f deploy/crds/<VERSION>.yaml

3단계: 운영자의 레지스트리 위치를 업데이트합니다

인치 /deploy/operator.yaml, 업데이트 image: docker.io/netapp/trident-operator:23.10.0 이미지 레지스트리의 위치를 반영합니다. 귀사의 "Trident 및 CSI 이미지" 하나의 레지스트리 또는 다른 레지스트리에 있을 수 있지만 모든 CSI 이미지는 동일한 레지스트리에 있어야 합니다. 예를 들면 다음과 같습니다.

  • image: <your-registry>/trident-operator:23.10.0 이미지가 모두 하나의 레지스트리에 있는 경우

  • image: <your-registry>/netapp/trident-operator:23.10.0 Trident 이미지가 CSI 이미지와 다른 레지스트리에 있는 경우

4단계: Trident 연산자를 배포합니다

Astra Trident 설치 관리자는 연산자를 설치하고 관련 개체를 만드는 데 사용할 수 있는 번들 파일을 제공합니다. 번들 파일은 기본 구성을 사용하여 운영자를 구축하고 Astra Trident를 설치하는 간편한 방법입니다.

  • Kubernetes 1.24 이하 버전을 실행하는 클러스터의 경우, 를 사용합니다 bundle_pre_1_25.yaml.

  • Kubernetes 1.25 이상을 실행하는 클러스터의 경우 를 사용합니다 bundle_post_1_25.yaml.

시작하기 전에
  • 기본적으로 Trident 설치 관리자는 에 연산자를 배포합니다 trident 네임스페이스. 를 누릅니다 trident 네임스페이스가 없습니다. 다음을 사용하여 생성합니다.

    kubectl apply -f deploy/namespace.yaml
  • 를 제외한 네임스페이스에 연산자를 배포합니다 trident 네임스페이스, 업데이트 serviceaccount.yaml, clusterrolebinding.yamloperator.yaml 을 사용하여 번들 파일을 생성합니다 kustomization.yaml.

    1. 를 생성합니다 kustomization.yaml 다음 명령을 사용합니다. 여기서 _<bundle.yaml>_is bundle_pre_1_25.yaml 또는 bundle_post_1_25.yaml Kubernetes 버전을 기반으로 합니다.

      cp deploy/kustomization_<bundle.yaml> deploy/kustomization.yaml
    2. 다음 명령을 사용하여 번들을 컴파일합니다. 여기서 _<bundle.yaml>_is bundle_pre_1_25.yaml 또는 bundle_post_1_25.yaml Kubernetes 버전을 기반으로 합니다.

      kubectl kustomize deploy/ > deploy/<bundle.yaml>
단계
  1. 리소스를 생성하고 연산자를 배포합니다.

    kubectl create -f deploy/<bundle.yaml>
  2. 운영자, 배포 및 복제 생성 여부를 확인합니다.

    kubectl get all -n <operator-namespace>
중요함 Kubernetes 클러스터에는 운영자의 인스턴스 * 하나가 있어야 합니다. Trident 연산자의 여러 배포를 생성하지 마십시오.

5단계: 에서 이미지 레지스트리 위치를 업데이트합니다 TridentOrchestrator

귀사의 "Trident 및 CSI 이미지" 하나의 레지스트리 또는 다른 레지스트리에 있을 수 있지만 모든 CSI 이미지는 동일한 레지스트리에 있어야 합니다. 업데이트 deploy/crds/tridentorchestrator_cr.yaml 레지스트리 구성에 따라 추가 위치 사양을 추가하려면 다음을 수행합니다.

하나의 레지스트리에 있는 이미지
imageRegistry: "<your-registry>"
autosupportImage: "<your-registry>/trident-autosupport:23.10"
tridentImage: "<your-registry>/trident:23.10.0"
다른 레지스트리의 이미지

추가해야 합니다 sig-storage 를 누릅니다 imageRegistry 다른 레지스트리 위치를 사용합니다.

imageRegistry: "<your-registry>/sig-storage"
autosupportImage: "<your-registry>/netapp/trident-autosupport:23.10"
tridentImage: "<your-registry>/netapp/trident:23.10.0"

6단계: 을 작성합니다 TridentOrchestrator Trident를 설치합니다

이제 를 만들 수 있습니다 TridentOrchestrator Astra Trident를 설치합니다. 원하는 경우 더 추가할 수 있습니다 "Trident 설치를 사용자 지정합니다" 의 속성을 사용합니다 TridentOrchestrator 사양 다음 예에서는 Trident 및 CSI 이미지가 다른 레지스트리에 있는 설치를 보여 줍니다.

kubectl create -f deploy/crds/tridentorchestrator_cr.yaml
tridentorchestrator.trident.netapp.io/trident created

kubectl describe torc trident

Name:        trident
Namespace:
Labels:      <none>
Annotations: <none>
API Version: trident.netapp.io/v1
Kind:        TridentOrchestrator
...
Spec:
  Autosupport Image:  <your-registry>/netapp/trident-autosupport:23.10
  Debug:              true
  Image Registry:     <your-registry>/sig-storage
  Namespace:          trident
  Trident Image:      <your-registry>/netapp/trident:23.10.0
Status:
  Current Installation Params:
    IPv6:                       false
    Autosupport Hostname:
    Autosupport Image:          <your-registry>/netapp/trident-autosupport:23.10
    Autosupport Proxy:
    Autosupport Serial Number:
    Debug:                      true
    Http Request Timeout:       90s
    Image Pull Secrets:
    Image Registry:       <your-registry>/sig-storage
    k8sTimeout:           30
    Kubelet Dir:          /var/lib/kubelet
    Log Format:           text
    Probe Port:           17546
    Silence Autosupport:  false
    Trident Image:        <your-registry>/netapp/trident:23.10.0
  Message:                Trident installed
  Namespace:              trident
  Status:                 Installed
  Version:                v23.10.0
Events:
    Type Reason Age From Message ---- ------ ---- ---- -------Normal
    Installing 74s trident-operator.netapp.io Installing Trident Normal
    Installed 67s trident-operator.netapp.io Trident installed

설치를 확인합니다

설치를 확인하는 방법에는 여러 가지가 있습니다.

사용 TridentOrchestrator 상태

의 상태입니다 TridentOrchestrator 설치가 성공적으로 완료되었는지 여부를 나타내고 설치된 Trident의 버전을 표시합니다. 설치하는 동안 의 상태입니다 TridentOrchestrator 변경 시작 Installing 를 선택합니다 Installed. 을(를) 관찰하면 Failed 상태 및 운영자가 자체적으로 복구할 수 없습니다. "로그를 확인합니다".

상태 설명

설치 중

이 옵션을 사용하여 Astra Trident를 설치합니다 TridentOrchestrator 있습니다.

설치되어 있습니다

Astra Trident가 성공적으로 설치되었습니다.

제거 중

그 이유는 운영자가 Astra Trident를 제거하는 중입니다
spec.uninstall=true.

제거되었습니다

Astra Trident가 제거되었습니다.

실패했습니다

운영자가 설치, 패치, 업데이트 또는 제거할 수 없습니다
Astra Trident: 이 상태에서 자동으로 복구를 시도합니다. 이 상태가 지속되면 문제 해결이 필요합니다.

업데이트 중

운영자가 기존 설치를 업데이트하고 있습니다.

오류

를 클릭합니다 TridentOrchestrator 사용되지 않습니다. 다른 것도 이미 있습니다
있습니다.

POD 생성 상태 사용

생성된 Pod의 상태를 검토하여 Astra Trident 설치가 완료되었는지 확인할 수 있습니다.

kubectl get pods -n trident

NAME                                       READY   STATUS    RESTARTS   AGE
trident-controller-7d466bf5c7-v4cpw        6/6     Running   0           1m
trident-node-linux-mr6zc                   2/2     Running   0           1m
trident-node-linux-xrp7w                   2/2     Running   0           1m
trident-node-linux-zh2jt                   2/2     Running   0           1m
trident-operator-766f7b8658-ldzsv          1/1     Running   0           3m

사용 tridentctl

을 사용할 수 있습니다 tridentctl 설치된 Astra Trident의 버전을 확인합니다.

./tridentctl -n trident version

+----------------+----------------+
| SERVER VERSION | CLIENT VERSION |
+----------------+----------------+
| 23.10.0        | 23.10.0        |
+----------------+----------------+