OpenShift Container Platform에 Astra Control Center 설치
FlexPod에서 실행되는 OpenShift 클러스터나 Cloud Volumes ONTAP 스토리지 백엔드가 있는 AWS에 Astra Control Center를 설치할 수 있습니다. 이 솔루션에서 Astra Control Center는 OpenShift 베어 메탈 클러스터에 구축됩니다.
Astra Control Center는 설명된 표준 프로세스를 사용하여 설치할 수 있습니다 "여기" 또는 Red Hat OpenShift OperatorHub를 참조하십시오. Astra Control Operator는 Red Hat 공인 운영자입니다. 이 솔루션에서는 Red Hat OperatorHub를 사용하여 Astra Control Center를 설치합니다.
확인하십시오
-
Astra Control Center는 여러 Kubernetes 배포를 지원합니다. Red Hat OpenShift의 경우 지원되는 버전에 Red Hat OpenShift Container Platform 4.8 또는 4.9가 포함됩니다.
-
Astra Control Center에는 환경 및 최종 사용자의 애플리케이션 리소스 요구 사항 외에 다음과 같은 리소스가 필요합니다.
구성 요소 | 요구 사항 |
---|---|
스토리지 백엔드 용량입니다 |
최소 500GB가 제공됩니다 |
작업자 노드 |
최소 3개의 작업자 노드, 각각 4개의 CPU 코어, 12GB RAM |
FQDN(정규화된 도메인 이름) 주소입니다 |
Astra Control Center의 FQDN 주소입니다 |
아스트라 트리덴트 |
Astra Trident 21.04 이상 설치 및 구성 |
수신 컨트롤러 또는 로드 밸런서 |
FQDN으로 확인할 IP 주소를 제공하도록 수신 컨트롤러를 URL 또는 로드 밸런서와 함께 Astra Control Center를 노출하도록 구성합니다 |
-
Astra Control Center 빌드 이미지를 푸시할 수 있는 기존 개인 이미지 레지스트리가 있어야 합니다. 이미지를 업로드하는 이미지 레지스트리의 URL을 제공해야 합니다.
일부 이미지는 특정 워크플로우를 실행하는 동안 가져오며, 필요에 따라 컨테이너가 생성되고 제거됩니다. |
-
Astra Control Center에서는 스토리지 클래스를 생성하고 기본 스토리지 클래스로 설정해야 합니다. Astra Control Center는 Astra Trident에서 제공하는 다음과 같은 ONTAP 드라이버를 지원합니다.
-
ONTAP - NAS
-
ONTAP-NAS-Flexgroup입니다
-
ONTAP-SAN
-
ONTAP-SAN - 경제성
-
배포된 OpenShift 클러스터에 ONTAP 백엔드로 설치 및 구성된 Astra Trident가 있으며 기본 스토리지 클래스도 정의되어 있다고 가정합니다. |
-
OpenShift 환경에서 애플리케이션을 복제하려면 OpenShift가 볼륨을 마운트하고 파일 소유권을 변경할 수 있도록 Astra Control Center를 허용해야 합니다. 이러한 작업을 허용하도록 ONTAP 엑스포트 정책을 수정하려면 다음 명령을 실행합니다.
export-policy rule modify -vserver <storage virtual machine name> -policyname <policy name> -ruleindex 1 -superuser sys export-policy rule modify -vserver <storage virtual machine name> -policyname <policy name> -ruleindex 1 -anon 65534
두 번째 OpenShift 운영 환경을 관리되는 컴퓨팅 리소스로 추가하려면 Astra Trident 볼륨 스냅샷 기능이 활성화되어 있는지 확인합니다. Astra Trident를 사용하여 볼륨 스냅샷을 활성화하고 테스트하려면 공식 을 참조하십시오 "Astra Trident 지침". |
-
A "VolumeSnapClass" 애플리케이션이 관리되는 모든 Kubernetes 클러스터에서 구성되어야 합니다. 여기에는 Astra Control Center가 설치된 K8s 클러스터도 포함될 수 있습니다. Astra Control Center는 실행 중인 K8s 클러스터에서 애플리케이션을 관리할 수 있습니다.
설명합니다
-
* 라이센스. * Astra Control Center를 사용하여 애플리케이션을 관리하려면 Astra Control Center 라이센스가 필요합니다.
-
* Namespaces. * 네임스페이스는 Astra Control Center에서 응용 프로그램으로 관리할 수 있는 가장 큰 엔터티입니다. 기존 네임스페이스에서 응용 프로그램 레이블 및 사용자 지정 레이블을 기준으로 구성 요소를 필터링하고 리소스의 하위 집합을 응용 프로그램으로 관리하도록 선택할 수 있습니다.
-
* StorageClass. * StorageClass가 명시적으로 설정된 응용 프로그램을 설치하고 응용 프로그램을 복제해야 하는 경우 클론 작업의 타겟 클러스터에 원래 지정된 StorageClass가 있어야 합니다. 명시적으로 StorageClass를 동일한 StorageClass가 없는 클러스터로 설정한 응용 프로그램을 클론 복제하지 못합니다.
-
Kubernetes 리소스 * Astra Control에서 캡처하지 않은 Kubernetes 리소스를 사용하는 애플리케이션에는 전체 애플리케이션 데이터 관리 기능이 없을 수 있습니다. Astra Control은 다음과 같은 Kubernetes 리소스를 캡처할 수 있습니다.
Kubernetes 리소스 | ||
---|---|---|
클러스터 역할 |
ClusterRoleBinding 을 참조하십시오 |
ConfigMap을 클릭합니다 |
사용자 지정 리소스 정의 |
CustomResource 를 선택합니다 |
경작업 |
DemonSet |
HorizontalPodAutoscaler |
침투 |
DeploymentConfig(배포 구성 |
뮤atingWebhook |
PersistentVolumeClaim |
포드 |
팟캐스트 예산 |
팟캐스트 템플릿 |
네트워크 정책 |
ReplicaSet입니다 |
역할 |
RoleBinding 을 클릭합니다 |
루트 |
비밀 |
Webhook을 확인합니다 |
OpenShift OperatorHub를 사용하여 Astra Control Center를 설치합니다
다음 절차에서는 Red Hat OperatorHub를 사용하여 Astra Control Center를 설치합니다. 이 솔루션에서 Astra Control Center는 FlexPod에서 실행되는 베어 메탈 OpenShift 클러스터에 설치됩니다.
-
에서 Astra Control Center 번들('Astra-control-center-[version].tar.gz')을 다운로드합니다 "NetApp Support 사이트".
-
Astra Control Center 인증서 및 키용 .zip 파일을 에서 다운로드합니다 "NetApp Support 사이트".
-
번들의 서명을 확인합니다.
openssl dgst -sha256 -verify astra-control-center[version].pub -signature <astra-control-center[version].sig astra-control-center[version].tar.gz
-
Astra 이미지를 추출합니다.
tar -vxzf astra-control-center-[version].tar.gz
-
Astra 디렉토리로 변경합니다.
cd astra-control-center-[version]
-
이미지를 로컬 레지스트리에 추가합니다.
For Docker: docker login [your_registry_path]OR For Podman: podman login [your_registry_path]
-
적절한 스크립트를 사용하여 이미지를 로드하고, 이미지에 태그를 지정한 다음 로컬 레지스트리에 해당 이미지를 푸시합니다.
Docker의 경우:
export REGISTRY=[Docker_registry_path] for astraImageFile in $(ls images/*.tar) ; do # Load to local cache. And store the name of the loaded image trimming the 'Loaded images: ' astraImage=$(docker load --input ${astraImageFile} | sed 's/Loaded image: //') astraImage=$(echo ${astraImage} | sed 's!localhost/!!') # Tag with local image repo. docker tag ${astraImage} ${REGISTRY}/${astraImage} # Push to the local repo. docker push ${REGISTRY}/${astraImage} done
Podman의 경우:
export REGISTRY=[Registry_path] for astraImageFile in $(ls images/*.tar) ; do # Load to local cache. And store the name of the loaded image trimming the 'Loaded images: ' astraImage=$(podman load --input ${astraImageFile} | sed 's/Loaded image(s): //') astraImage=$(echo ${astraImage} | sed 's!localhost/!!') # Tag with local image repo. podman tag ${astraImage} ${REGISTRY}/${astraImage} # Push to the local repo. podman push ${REGISTRY}/${astraImage} done
-
베어 메탈 OpenShift 클러스터 웹 콘솔에 로그인합니다. 측면 메뉴에서 Operators > OperatorHub 를 선택합니다. NetApp-acc-operator를 나열하려면 "Astra"를 입력합니다.
'NetApp-acc-operator'는 인증된 Red Hat OpenShift Operator로, OperatorHub 카탈로그 아래에 나열되어 있습니다. -
'NetApp-acc-operator'를 선택하고 '설치'를 클릭합니다.
-
적절한 옵션을 선택하고 설치 를 클릭합니다.
-
설치를 승인하고 운영자가 설치될 때까지 기다립니다.
-
이 단계에서 오퍼레이터는 성공적으로 설치되고 사용할 준비가 완료됩니다. View Operator(작업자 보기) 를 클릭하여 Astra Control Center 설치를 시작합니다.
-
Astra Control Center를 설치하기 전에 앞서 푸시한 Docker 레지스트리에서 Astra 이미지를 다운로드하기 위한 풀 비밀을 생성합니다.
-
Docker 프라이빗 레포에서 Astra Control Center 이미지를 풀려면 'NetApp-acc-operator' 네임스페이스에서 암호를 생성하십시오. 이 비밀 이름은 나중에 Astra Control Center YAML manifest에서 제공합니다.
-
측면 메뉴에서 Operators > Installed Operators 를 선택하고 제공된 API 섹션에서 Create instance 를 클릭합니다.
-
Create AstraControlCenter 양식을 완료합니다. 이름, Astra 주소 및 Astra 버전을 입력합니다.
Astra Address 아래에 Astra Control Center의 FQDN 주소를 입력합니다. 이 주소는 Astra Control Center 웹 콘솔에 액세스하는 데 사용됩니다. FQDN도 연결 가능한 IP 네트워크로 확인되어야 하며 DNS에서 구성해야 합니다. -
계정 이름, 이메일 주소, 관리자 성을 입력하고 기본 볼륨 복원 정책을 유지합니다. 부하 분산 장치를 사용하는 경우 수신 유형을 "AccTraefik"로 설정합니다. 그렇지 않으면 Ingress.Controller로 Generic을 선택합니다. 이미지 레지스트리에서 컨테이너 이미지 레지스트리 경로 및 암호를 입력합니다.
이 솔루션에서는 Metallb 로드 밸런서가 사용됩니다. 따라서 수신 유형은 AccTraefik입니다. 그러면 Astra Control Center traefik 게이트웨이가 워크로드 밸런서의 Kubernetes 서비스로 표시됩니다. -
admin 이름을 입력하고, 리소스 확장을 구성하고, 스토리지 클래스를 제공합니다. 생성 을 클릭합니다.
Astra Control Center 인스턴스의 상태는 배포 에서 준비 로 변경해야 합니다.
-
모든 시스템 구성 요소가 성공적으로 설치되어 있고 모든 Pod가 실행 중인지 확인합니다.
root@abhinav-ansible# oc get pods -n netapp-acc-operator NAME READY STATUS RESTARTS AGE acc-helm-repo-77745b49b5-7zg2v 1/1 Running 0 10m acc-operator-controller-manager-5c656c44c6-tqnmn 2/2 Running 0 13m activity-589c6d59f4-x2sfs 1/1 Running 0 6m4s api-token-authentication-4q5lj 1/1 Running 0 5m26s api-token-authentication-pzptd 1/1 Running 0 5m27s api-token-authentication-tbtg6 1/1 Running 0 5m27s asup-669df8d49-qps54 1/1 Running 0 5m26s authentication-5867c5f56f-dnpp2 1/1 Running 0 3m54s bucketservice-85495bc475-5zcc5 1/1 Running 0 5m55s cert-manager-67f486bbc6-txhh6 1/1 Running 0 9m5s cert-manager-cainjector-75959db744-4l5p5 1/1 Running 0 9m6s cert-manager-webhook-765556b869-g6wdf 1/1 Running 0 9m6s cloud-extension-5d595f85f-txrfl 1/1 Running 0 5m27s cloud-insights-service-674649567b-5s4wd 1/1 Running 0 5m49s composite-compute-6b58d48c69-46vhc 1/1 Running 0 6m11s composite-volume-6d447fd959-chnrt 1/1 Running 0 5m27s credentials-66668f8ddd-8qc5b 1/1 Running 0 7m20s entitlement-fd6fc5c58-wxnmh 1/1 Running 0 6m20s features-756bbb7c7c-rgcrm 1/1 Running 0 5m26s fluent-bit-ds-278pg 1/1 Running 0 3m35s fluent-bit-ds-5pqc6 1/1 Running 0 3m35s fluent-bit-ds-8l7cq 1/1 Running 0 3m35s fluent-bit-ds-9qbft 1/1 Running 0 3m35s fluent-bit-ds-nj475 1/1 Running 0 3m35s fluent-bit-ds-x9pd8 1/1 Running 0 3m35s graphql-server-698d6f4bf-kftwc 1/1 Running 0 3m20s identity-5d4f4c87c9-wjz6c 1/1 Running 0 6m27s influxdb2-0 1/1 Running 0 9m33s krakend-657d44bf54-8cb56 1/1 Running 0 3m21s license-594bbdc-rghdg 1/1 Running 0 6m28s login-ui-6c65fbbbd4-jg8wz 1/1 Running 0 3m17s loki-0 1/1 Running 0 9m30s metrics-facade-75575f69d7-hnlk6 1/1 Running 0 6m10s monitoring-operator-65dff79cfb-z78vk 2/2 Running 0 3m47s nats-0 1/1 Running 0 10m nats-1 1/1 Running 0 9m43s nats-2 1/1 Running 0 9m23s nautilus-7bb469f857-4hlc6 1/1 Running 0 6m3s nautilus-7bb469f857-vz94m 1/1 Running 0 4m42s openapi-8586db4bcd-gwwvf 1/1 Running 0 5m41s packages-6bdb949cfb-nrq8l 1/1 Running 0 6m35s polaris-consul-consul-server-0 1/1 Running 0 9m22s polaris-consul-consul-server-1 1/1 Running 0 9m22s polaris-consul-consul-server-2 1/1 Running 0 9m22s polaris-mongodb-0 2/2 Running 0 9m22s polaris-mongodb-1 2/2 Running 0 8m58s polaris-mongodb-2 2/2 Running 0 8m34s polaris-ui-5df7687dbd-trcnf 1/1 Running 0 3m18s polaris-vault-0 1/1 Running 0 9m18s polaris-vault-1 1/1 Running 0 9m18s polaris-vault-2 1/1 Running 0 9m18s public-metrics-7b96476f64-j88bw 1/1 Running 0 5m48s storage-backend-metrics-5fd6d7cd9c-vcb4j 1/1 Running 0 5m59s storage-provider-bb85ff965-m7qrq 1/1 Running 0 5m25s telegraf-ds-4zqgz 1/1 Running 0 3m36s telegraf-ds-cp9x4 1/1 Running 0 3m36s telegraf-ds-h4n59 1/1 Running 0 3m36s telegraf-ds-jnp2q 1/1 Running 0 3m36s telegraf-ds-pdz5j 1/1 Running 0 3m36s telegraf-ds-znqtp 1/1 Running 0 3m36s telegraf-rs-rt64j 1/1 Running 0 3m36s telemetry-service-7dd9c74bfc-sfkzt 1/1 Running 0 6m19s tenancy-d878b7fb6-wf8x9 1/1 Running 0 6m37s traefik-6548496576-5v2g6 1/1 Running 0 98s traefik-6548496576-g82pq 1/1 Running 0 3m8s traefik-6548496576-psn49 1/1 Running 0 38s traefik-6548496576-qrkfd 1/1 Running 0 2m53s traefik-6548496576-srs6r 1/1 Running 0 98s trident-svc-679856c67-78kbt 1/1 Running 0 5m27s vault-controller-747d664964-xmn6c 1/1 Running 0 7m37s
각 POD는 실행 중 상태여야 합니다. 시스템 포드를 구축하는 데 몇 분 정도 걸릴 수 있습니다. -
모든 Pod가 실행 중인 경우 다음 명령을 실행하여 1회 암호를 검색합니다. YAML 출력 버전에서 'tatus.deploymentState` 필드에 배포된 값을 확인한 후 'Status.uuid' 값을 복사합니다. 암호는 'ACC-'로, 이어서 UUID 값이 된다. (ACC - [UUID]).
root@abhinav-ansible# oc get acc -o yaml -n netapp-acc-operator
-
브라우저에서 제공한 FQDN을 사용하여 URL로 이동합니다.
-
설치 중에 제공된 이메일 주소인 기본 사용자 이름과 1회 암호 ACC-[UUID]를 사용하여 로그인합니다.
잘못된 암호를 세 번 입력하면 관리자 계정이 15분 동안 잠깁니다. -
암호를 변경하고 계속 진행합니다.
Astra Control Center 설치에 대한 자세한 내용은 를 참조하십시오 "Astra Control Center 설치 개요" 페이지.
Astra Control Center를 설정합니다
Astra Control Center를 설치한 후 UI에 로그인하고 라이센스를 업로드하고, 클러스터를 추가하고, 스토리지를 관리하고, 버킷을 추가합니다.
-
홈 페이지의 계정 에서 라이센스 탭으로 이동하고 라이센스 추가 를 선택하여 Astra 라이센스를 업로드합니다.
-
OpenShift 클러스터를 추가하기 전에 OpenShift 웹 콘솔에서 Astra Trident Volume 스냅샷 클래스를 생성합니다. 볼륨 스냅샷 클래스는 'csi.trident.netapp.io` 드라이버'로 구성됩니다.
-
Kubernetes 클러스터를 추가하려면 홈 페이지의 클러스터 로 이동하고 Kubernetes 클러스터 추가 를 클릭합니다. 그런 다음 클러스터에 대한 kubecononfig 파일을 업로드하고 자격 증명 이름을 제공합니다. 다음 을 클릭합니다.
-
기존 스토리지 클래스가 자동으로 검색됩니다. 기본 스토리지 클래스를 선택하고 다음 을 클릭한 다음 클러스터 추가 를 클릭합니다.
-
몇 분 내에 클러스터가 추가됩니다. OpenShift Container Platform 클러스터를 추가하려면 1-4단계를 반복합니다.
OpenShift 운영 환경을 관리되는 컴퓨팅 리소스로 추가하려면 Astra Trident를 확인하십시오 "VolumeSnapshotClass 객체" 정의됩니다. -
스토리지를 관리하려면 백엔드로 이동하여 관리하려는 백엔드에 대한 작업에서 세 개의 점을 클릭합니다. 관리 를 클릭합니다.
-
ONTAP 자격 증명을 입력하고 Next를 클릭합니다. 정보를 검토하고 관리 를 클릭합니다. 백엔드는 다음 예제와 같아야 합니다.
-
Astra Control에 버킷을 추가하려면 Bucket 을 선택하고 Add 를 클릭합니다.
-
버킷 유형을 선택하고 버킷 이름, S3 서버 이름 또는 IP 주소와 S3 자격 증명을 제공합니다. 업데이트 를 클릭합니다.
이 솔루션에서는 AWS S3 및 ONTAP S3 버킷을 모두 사용합니다. StorageGRID를 사용할 수도 있습니다. Bucket 상태는 정상 상태여야 합니다.
Astra Control Center에서 애플리케이션 인식 데이터 관리를 위한 Kubernetes 클러스터 등록 시, Astra Control은 역할 바인딩 및 NetApp 모니터링 네임스페이스를 자동으로 생성하여 애플리케이션 Pod 및 작업자 노드에서 메트릭 및 로그를 수집합니다. 지원되는 ONTAP 기반 스토리지 클래스 중 하나를 기본값으로 설정합니다.
먼저 해 "Astra Control 관리에 클러스터를 추가합니다"클러스터(Astra Control 외)에 앱을 설치한 다음 Astra Control의 앱 페이지로 이동하여 앱과 리소스를 관리할 수 있습니다. Astra로 앱을 관리하는 방법에 대한 자세한 내용은 을 참조하십시오 "설명합니다".