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

Trident 연산자를 사용하여 구축

기여자

Trident 운영자와 함께 Astra Trident를 배포할 수 있습니다. Trident 연산자는 수동으로 또는 Hrom을 사용하여 배포할 수 있습니다.

팁 에 아직 익숙하지 않은 경우 "기본 개념"이제 아주 좋은 시간입니다.
필요한 것

Astra Trident를 구축하려면 다음과 같은 사전 요구 사항을 충족해야 합니다.

  • Kubernetes 1.14 이상을 실행하는 지원되는 Kubernetes 클러스터에 대한 모든 권한이 있습니다.

  • 지원되는 NetApp 스토리지 시스템에 액세스할 수 있습니다.

  • 모든 Kubernetes 작업자 노드에서 볼륨을 마운트할 수 있습니다.

  • 에 Linux 호스트가 있습니다 kubectl (또는 oc, OpenShift를 사용하는 경우) 사용하려는 Kubernetes 클러스터를 관리하도록 설치 및 구성한 것입니다.

  • 을(를) 설정했습니다 KUBECONFIG Kubernetes 클러스터 구성을 가리키는 환경 변수

  • 을(를) 활성화했습니다 "Astra Trident에서 요구하는 기능 게이트".

  • Docker Enterprise와 함께 Kubernetes를 사용하는 경우, "다음 단계에 따라 CLI 액세스를 설정합니다".

다 잡았나요? 좋습니다! 그럼 이제 시작하겠습니다.

Hrom을 사용하여 Trident 연산자를 배포합니다

나열된 단계를 수행하여 Helm을 사용하여 Trident 연산자를 배포합니다.

필요한 것

위에 나열된 필수 구성 요소 외에도 Hrom을 사용하여 Trident 연산자를 구축하려면 다음이 필요합니다.

  • Kubernetes 1.17 이상

  • Helm 버전 3

단계
  1. 에서 설치 프로그램 번들을 다운로드합니다 "GitTrident 허브" 페이지. 설치 프로그램 번들에는 에 제어 차트가 포함되어 있습니다 /helm 디렉토리.

  2. 를 사용합니다 helm install 명령을 입력하고 배포 이름을 지정합니다. 다음 예를 참조하십시오.

    helm install <name> trident-operator-21.07.1.tgz --namespace <namespace you want to use for Trident>

설치 중에 구성 데이터를 전달하는 방법에는 두 가지가 있습니다.

  • --values (또는 -f): 재정의가 있는 YAML 파일을 지정합니다. 이 옵션은 여러 번 지정할 수 있으며 가장 오른쪽 파일이 우선 적용됩니다.

  • --set: 명령줄에 재정의를 지정합니다.

예를 들어, 의 기본값을 변경합니다 debug`에서 다음을 실행합니다 `--set 명령:

$ helm install <name> trident-operator-21.07.1.tgz --set tridentDebug=true

를 클릭합니다 values.yaml 제어 차트의 일부인 파일 은 키 목록과 해당 기본값을 제공합니다.

helm list 이름, 네임스페이스, 차트, 상태, 앱 버전, 개정 번호 등

Trident 연산자를 수동으로 배포합니다

나열된 단계를 수행하여 Trident 연산자를 수동으로 배포합니다.

1단계: Kubernetes 클러스터 검증

가장 먼저 해야 할 일은 Linux 호스트에 로그인하여 해당 호스트가 관리 중인 _ 작업 _ 을(를) 관리하고 있는지 확인하는 것입니다. "지원되는 Kubernetes 클러스터" 에 필요한 권한이 있어야 합니다.

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

Kubernetes 버전이 1.14 이상인지 확인하려면 다음 명령을 실행합니다.

kubectl version

Kubernetes 클러스터 관리자 권한이 있는지 확인하려면 다음 명령을 실행합니다.

kubectl auth can-i '*' '*' --all-namespaces

Docker Hub에서 이미지를 사용하는 Pod를 시작하고 Pod 네트워크를 통해 스토리지 시스템에 연결할 수 있는지 확인하려면 다음 명령을 실행합니다.

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

2단계: 운영자를 다운로드하고 설정합니다

참고 21.01부터 Trident 연산자는 클러스터 범위입니다. Trident 연산자를 사용하여 Trident를 설치하려면 을 만들어야 합니다 TridentOrchestrator 사용자 정의 리소스 정의(CRD) 및 기타 리소스 정의 Astra Trident를 설치하기 전에 다음 단계를 수행하여 운영자를 설정해야 합니다.
  1. 의 최신 버전을 다운로드합니다 "Trident 설치 프로그램 번들" 다운로드 섹션에서 압축을 풉니다.

    wget https://github.com/NetApp/trident/releases/download/v21.04/trident-installer-21.04.tar.gz
    tar -xf trident-installer-21.04.tar.gz
    cd trident-installer
  2. 적절한 CRD 매니페스트를 사용하여 를 만듭니다 TridentOrchestrator CRD 그런 다음 을 만듭니다 TridentOrchestrator 나중에 사용자 지정 리소스를 사용하여 운영자가 설치를 인스턴스화합니다.

    다음 명령을 실행합니다.

    kubectl create -f deploy/crds/trident.netapp.io_tridentorchestrators_crd_post1.16.yaml
  3. 를 누릅니다 TridentOrchestrator CRD가 생성되면 운용자 배치에 필요한 다음과 같은 리소스를 생성한다.

    • 연산자를 위한 ServiceAccount입니다

    • ServiceAccount에 대한 ClusterRole 및 ClusterRoleBinding

    • 전용 PodSecurityPolicy

    • 작업자 자체

      Trident 설치 프로그램에는 이러한 리소스를 정의하는 매니페스트가 포함되어 있습니다. 기본적으로 연산자는 에 배포됩니다 trident 네임스페이스. 를 누릅니다 trident 네임스페이스가 없습니다. 다음 매니페스트를 사용하여 네임스페이스를 만듭니다.

    $ kubectl apply -f deploy/namespace.yaml
  4. 기본 네임스페이스 이외의 네임스페이스에 연산자를 배포합니다 trident 네임스페이스에서 을 업데이트해야 합니다 serviceaccount.yaml, clusterrolebinding.yamloperator.yaml 을(를) 확인하고 생성합니다 bundle.yaml.

    다음 명령을 실행하여 YAML 매니페스트를 업데이트하고 을 생성합니다 bundle.yaml 를 사용합니다 kustomization.yaml:

    kubectl kustomize deploy/ > deploy/bundle.yaml

    다음 명령을 실행하여 리소스를 생성하고 연산자를 배포합니다.

    kubectl create -f deploy/bundle.yaml
  5. 배치한 후 작업자의 상태를 확인하려면 다음을 수행합니다.

    $ kubectl get deployment -n <operator-namespace>
    NAME               READY   UP-TO-DATE   AVAILABLE   AGE
    trident-operator   1/1     1            1           3m
    
    $ kubectl get pods -n <operator-namespace>
    NAME                              READY   STATUS             RESTARTS   AGE
    trident-operator-54cb664d-lnjxh   1/1     Running            0          3m

운영자 배포는 클러스터의 작업자 노드 중 하나에서 실행되고 있는 포드를 성공적으로 생성합니다.

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

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

이제 연산자를 사용하여 Astra Trident를 설치할 준비가 되었습니다! 이 작업을 수행하려면 을 만들어야 합니다 TridentOrchestrator. Trident 설치 프로그램에는 작성을 위한 예제 정의가 포함되어 있습니다 TridentOrchestrator. 그러면 에서 설치가 시작됩니다 trident 네임스페이스.

$ 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:
  Debug:     true
  Namespace: trident
Status:
  Current Installation Params:
    IPv6:                      false
    Autosupport Hostname:
    Autosupport Image:         netapp/trident-autosupport:21.04
    Autosupport Proxy:
    Autosupport Serial Number:
    Debug:                     true
    Enable Node Prep:          false
    Image Pull Secrets:
    Image Registry:
    k8sTimeout:           30
    Kubelet Dir:          /var/lib/kubelet
    Log Format:           text
    Silence Autosupport:  false
    Trident Image:        netapp/trident:21.04.0
  Message:                  Trident installed  Namespace:                trident
  Status:                   Installed
  Version:                  v21.04.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

Trident 연산자를 사용하면 의 특성을 사용하여 Astra Trident가 설치되는 방식을 사용자 지정할 수 있습니다 TridentOrchestrator 사양 을 참조하십시오 "Trident 구축을 사용자 지정합니다".

의 상태 TridentOrchestrator 설치가 성공적으로 완료되었는지 여부를 나타내고 설치된 Trident의 버전을 표시합니다.

상태 설명

설치 중

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

설치되어 있습니다

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

제거 중

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

제거되었습니다

Astra Trident가 제거되었습니다.

실패했습니다

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

업데이트 중

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

오류

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

설치하는 동안 의 상태입니다 TridentOrchestrator 변경 시작 Installing 를 선택합니다 Installed. 을(를) 관찰하면 Failed 상태 및 운용자가 자체적으로 복구할 수 없는 경우 운용자의 로그를 확인해야 한다. 를 참조하십시오 "문제 해결" 섹션을 참조하십시오.

생성된 포드를 살펴보고 Astra Trident 설치가 완료되었는지 확인할 수 있습니다.

$ kubectl get pod -n trident
NAME                                READY   STATUS    RESTARTS   AGE
trident-csi-7d466bf5c7-v4cpw        5/5     Running   0           1m
trident-csi-mr6zc                   2/2     Running   0           1m
trident-csi-xrp7w                   2/2     Running   0           1m
trident-csi-zh2jt                   2/2     Running   0           1m
trident-operator-766f7b8658-ldzsv   1/1     Running   0           3m

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

$ ./tridentctl -n trident version
+----------------+----------------+
| SERVER VERSION | CLIENT VERSION |
+----------------+----------------+
| 21.04.0        | 21.04.0        |
+----------------+----------------+

이제 백엔드를 생성할 수 있습니다. 을 참조하십시오 "구축 후 작업".

팁 배포 중 문제 해결에 대한 자세한 내용은 을 참조하십시오 "문제 해결" 섹션을 참조하십시오.