표준 프로세스를 사용하여 Astra Control Center를 설치합니다
Astra Control Center를 설치하려면 NetApp Support 사이트에서 설치 번들을 다운로드하고 다음 단계를 수행하여 해당 환경에 Astra Control Center Operator and Astra Control Center를 설치합니다. 이 절차를 사용하여 인터넷에 연결되었거나 공기가 연결된 환경에 Astra Control Center를 설치할 수 있습니다.
Red Hat OpenShift 환경에서는 을 사용할 수 있습니다 "대체 절차" OpenShift OperatorHub를 사용하여 Astra Control Center를 설치하려면 다음을 수행합니다.
-
사용자 환경에서 POD 보안 정책을 구성했거나 구성하려는 경우 POD 보안 정책 및 해당 정책이 Astra Control Center 설치에 어떤 영향을 미치는지 숙지하십시오. 을 참조하십시오 "POD 보안 정책 제한 사항 이해".
-
모든 클러스터 운영자가 양호한 상태이며 사용 가능한지 확인합니다.
kubectl get clusteroperators
-
모든 API 서비스가 정상 상태이며 사용 가능한지 확인합니다.
kubectl get apiservices
-
사용하려는 Astra FQDN이 이 클러스터에 라우팅될 수 있는지 확인합니다. 즉, 내부 DNS 서버에 DNS 항목이 있거나 이미 등록된 코어 URL 경로를 사용하고 있는 것입니다.
-
클러스터에 인증서 관리자가 이미 있는 경우 일부를 수행해야 합니다 "필수 단계" 따라서 Astra Control Center는 자체 인증 관리자를 설치하지 않습니다.
Astra Control Center 설치 프로세스는 다음을 수행합니다.
-
에 Astra 구성 요소를 설치합니다
netapp-acc
(또는 사용자 지정 이름) 네임스페이스입니다. -
기본 계정을 만듭니다.
-
기본 관리 사용자 이메일 주소와 기본 1회 암호를 설정합니다. 이 사용자에게는 시스템에서 UI에 처음 로그인하는 데 필요한 소유자 역할이 할당됩니다.
-
모든 Astra Control Center Pod가 실행 중인지 확인하는 데 도움이 됩니다.
-
Astra UI를 설치합니다.
(Astra Data Store Early Access Program(EAP) 릴리즈에만 적용) Astra Control Center를 사용하여 Astra Data Store를 관리하고 VMware 워크플로우를 활성화하려면 에 Astra Control Center만 배포하십시오 pcloud 에 없는 네임스페이스입니다 netapp-acc 네임스페이스 또는 사용자 지정 네임스페이스는 이 절차의 단계에 설명되어 있습니다.
|
모든 Astra Control Center Pod를 삭제하지 않도록 설치 프로세스 내내 다음 명령을 실행하지 마십시오. kubectl delete -f astra_control_center_operator_deploy.yaml
|
Docker Engine 대신 Red Hat의 Podman 명령을 사용하는 경우 Docker 명령 대신 Podman 명령을 사용할 수 있습니다. |
Astra Control Center를 설치하려면 다음 단계를 수행하십시오.
Astra Control Center 번들을 다운로드하고 포장을 풉니다
-
Astra Control Center 번들을 다운로드합니다 (
astra-control-center-[version].tar.gz
)를 선택합니다 "NetApp Support 사이트". -
에서 Astra Control Center 인증서 및 키의 지퍼를 다운로드합니다 "NetApp Support 사이트".
-
(선택 사항) 다음 명령을 사용하여 번들의 서명을 확인합니다.
openssl dgst -sha256 -verify AstraControlCenter-public.pub -signature astra-control-center-[version].tar.gz.sig astra-control-center-[version].tar.gz
-
이미지 추출:
tar -vxzf astra-control-center-[version].tar.gz
NetApp Astra kubtl 플러그인을 설치합니다
NetApp 아스트라 kubectl
명령줄 플러그인을 사용하면 Astra Control Center 배포 및 업그레이드와 관련된 일반적인 작업을 수행할 때 시간을 절약할 수 있습니다.
NetApp은 다양한 CPU 아키텍처 및 운영 체제용 플러그인의 바이너리를 제공합니다. 이 작업을 수행하기 전에 사용 중인 CPU 및 운영 체제를 알아야 합니다. Linux 및 Mac 운영 체제에서는 를 사용할 수 있습니다 uname -a
명령을 사용하여 이 정보를 수집합니다.
-
사용 가능한 NetApp Astra를 나열하십시오
kubectl
플러그인 바이너리를 만들고 운영 체제 및 CPU 아키텍처에 필요한 파일 이름을 적어 둡니다.ls kubectl-astra/
-
파일을 규격과 같은 위치에 복사합니다
kubectl
유틸리티. 이 예에서 는 입니다kubectl
유틸리티는 에 있습니다/usr/local/bin
디렉토리. 대치<binary-name>
필요한 파일 이름:cp kubectl-astra/<binary-name> /usr/local/bin/kubectl-astra
이미지를 로컬 레지스트리에 추가합니다
-
용기 엔진에 적합한 단계 시퀀스를 완료합니다.
-
Astra 디렉토리로 이동합니다.
cd acc
-
Astra Control Center 이미지 디렉토리에 있는 패키지 이미지를 로컬 레지스트리로 푸시합니다. 명령을 실행하기 전에 다음 대체 작업을 수행합니다.
-
Bundle_file을 Astra Control 번들 파일 이름으로 바꿉니다(예:
acc.manifest.yaml
)를 클릭합니다. -
my_registry를 Docker 리포지토리의 URL로 바꿉니다.
-
my_registry_user를 사용자 이름으로 바꿉니다.
-
my_registry_token을 레지스트리에 대한 인증된 토큰으로 바꿉니다.
kubectl astra packages push-images -m BUNDLE_FILE -r MY_REGISTRY -u MY_REGISTRY_USER -p MY_REGISTRY_TOKEN
-
-
레지스트리에 로그인합니다.
podman login [your_registry_path]
-
설명에 명시된 대로 <your_registry> 대체를 만들어 다음 스크립트를 실행합니다.
# You need to be at the root of the tarball. # You should see these files to confirm correct location: # acc.manifest.yaml # acc/ # Replace <YOUR_REGISTRY> with your own registry (e.g registry.customer.com or registry.customer.com/testing, etc..) export REGISTRY=<YOUR_REGISTRY> export PACKAGENAME=acc export PACKAGEVERSION=22.08.1-26 export DIRECTORYNAME=acc for astraImageFile in $(ls ${DIRECTORYNAME}/images/*.tar) ; do # Load to local cache astraImage=$(podman load --input ${astraImageFile} | sed 's/Loaded image(s): //') # Remove path and keep imageName. astraImageNoPath=$(echo ${astraImage} | sed 's:.*/::') # Tag with local image repo. podman tag ${astraImage} ${REGISTRY}/netapp/astra/${PACKAGENAME}/${PACKAGEVERSION}/${astraImageNoPath} # Push to the local repo. podman push ${REGISTRY}/netapp/astra/${PACKAGENAME}/${PACKAGEVERSION}/${astraImageNoPath} done
인증 요구 사항이 있는 레지스트리에 대한 네임스페이스 및 암호를 설정합니다
-
Astra Control Center 호스트 클러스터에 대한 KUBECONFIG를 내보냅니다.
export KUBECONFIG=[file path]
-
인증이 필요한 레지스트리를 사용하는 경우 다음을 수행해야 합니다.
-
를 생성합니다
netapp-acc-operator
네임스페이스:kubectl create ns netapp-acc-operator
응답:
namespace/netapp-acc-operator created
-
에 대한 암호를 만듭니다
netapp-acc-operator
네임스페이스. Docker 정보를 추가하고 다음 명령을 실행합니다.자리 표시자입니다 your_registry_path
이전에 업로드한 이미지의 위치와 일치해야 합니다(예:[Registry_URL]/netapp/astra/astracc/22.08.1-26
)를 클릭합니다.kubectl create secret docker-registry astra-registry-cred -n netapp-acc-operator --docker-server=[your_registry_path] --docker-username=[username] --docker-password=[token]
샘플 반응:
secret/astra-registry-cred created
암호를 생성한 후 네임스페이스를 삭제하는 경우 네임스페이스를 다시 만든 후 네임스페이스에 대한 암호를 다시 생성해야 합니다. -
를 생성합니다
netapp-acc
(또는 사용자 지정 이름) 네임스페이스입니다.kubectl create ns [netapp-acc or custom namespace]
샘플 반응:
namespace/netapp-acc created
-
에 대한 암호를 만듭니다
netapp-acc
(또는 사용자 지정 이름) 네임스페이스입니다. Docker 정보를 추가하고 다음 명령을 실행합니다.kubectl create secret docker-registry astra-registry-cred -n [netapp-acc or custom namespace] --docker-server=[your_registry_path] --docker-username=[username] --docker-password=[token]
응답
secret/astra-registry-cred created
-
[[substep_kubecononfig_secret] (선택 사항) 설치 후 Astra Control Center에서 클러스터를 자동으로 관리하려는 경우 이 명령을 사용하여 배포할 Astra Control Center 네임스페이스 내에서 kubecononfig를 암호로 제공해야 합니다.
kubectl create secret generic [acc-kubeconfig-cred or custom secret name] --from-file=<path-to-your-kubeconfig> -n [netapp-acc or custom namespace]
-
Astra Control Center 운영자를 설치합니다
-
디렉토리를 변경합니다.
cd manifests
-
Astra Control Center 운영자 배포 YAML을 편집합니다 (
astra_control_center_operator_deploy.yaml
)를 클릭하여 로컬 레지스트리 및 암호를 참조합니다.vim astra_control_center_operator_deploy.yaml
YAML 주석이 붙은 샘플은 다음 단계를 따릅니다. -
인증이 필요한 레지스트리를 사용하는 경우 의 기본 줄을 바꿉니다
imagePullSecrets: []
다음 포함:imagePullSecrets: - name: <astra-registry-cred>
-
변경
[your_registry_path]
의 경우kube-rbac-proxy
이미지를 에서 푸시한 레지스트리 경로로 이미지 이전 단계. -
변경
[your_registry_path]
의 경우acc-operator-controller-manager
이미지를 에서 푸시한 레지스트리 경로로 이미지 이전 단계. -
(Astra Data Store Preview를 사용하여 설치하는 경우) 와 관련된 알려진 문제를 참조하십시오 "스토리지 클래스 프로비저닝 및 YAML에 대한 추가 변경 사항".
apiVersion: apps/v1 kind: Deployment metadata: labels: control-plane: controller-manager name: acc-operator-controller-manager namespace: netapp-acc-operator spec: replicas: 1 selector: matchLabels: control-plane: controller-manager template: metadata: labels: control-plane: controller-manager spec: containers: - args: - --secure-listen-address=0.0.0.0:8443 - --upstream=http://127.0.0.1:8080/ - --logtostderr=true - --v=10 image: [your_registry_path]/kube-rbac-proxy:v4.8.0 name: kube-rbac-proxy ports: - containerPort: 8443 name: https - args: - --health-probe-bind-address=:8081 - --metrics-bind-address=127.0.0.1:8080 - --leader-elect command: - /manager env: - name: ACCOP_LOG_LEVEL value: "2" image: [your_registry_path]/acc-operator:[version x.y.z] imagePullPolicy: IfNotPresent imagePullSecrets: []
-
-
Astra Control Center 운영자를 설치합니다.
kubectl apply -f astra_control_center_operator_deploy.yaml
샘플 반응:
namespace/netapp-acc-operator created customresourcedefinition.apiextensions.k8s.io/astracontrolcenters.astra.netapp.io created role.rbac.authorization.k8s.io/acc-operator-leader-election-role created clusterrole.rbac.authorization.k8s.io/acc-operator-manager-role created clusterrole.rbac.authorization.k8s.io/acc-operator-metrics-reader created clusterrole.rbac.authorization.k8s.io/acc-operator-proxy-role created rolebinding.rbac.authorization.k8s.io/acc-operator-leader-election-rolebinding created clusterrolebinding.rbac.authorization.k8s.io/acc-operator-manager-rolebinding created clusterrolebinding.rbac.authorization.k8s.io/acc-operator-proxy-rolebinding created configmap/acc-operator-manager-config created service/acc-operator-controller-manager-metrics-service created deployment.apps/acc-operator-controller-manager created
-
Pod가 실행 중인지 확인합니다.
kubectl get pods -n netapp-acc-operator
Astra Control Center를 구성합니다
-
Astra Control Center 사용자 정의 리소스(CR) 파일을 편집합니다 (
astra_control_center_min.yaml
) 계정, AutoSupport, 레지스트리 및 기타 필요한 구성을 만들려면:astra_control_center_min.yaml
기본 CR이며 대부분의 설치에 적합합니다. 모든 것을 숙지합니다 "CR 옵션 및 잠재적 가치" 고객의 환경에 맞게 Astra Control Center를 올바르게 구축할 수 있습니다. 사용자 환경에 추가 사용자 지정이 필요한 경우 를 사용할 수 있습니다astra_control_center.yaml
대체 CR입니다.vim astra_control_center_min.yaml
인증이 필요하지 않은 레지스트리를 사용하는 경우 을 삭제해야 합니다 secret
줄 내부imageRegistry
그렇지 않으면 설치가 실패합니다.-
변경
[your_registry_path]
이전 단계에서 이미지를 푸시한 레지스트리 경로로 이동합니다. -
를 변경합니다
accountName
계정에 연결할 이름에 대한 문자열입니다. -
를 변경합니다
astraAddress
브라우저에서 Astra에 액세스하기 위해 사용할 FQDN에 대한 문자열입니다. 사용하지 마십시오http://
또는https://
를 입력합니다. 에서 사용하기 위해 이 FQDN을 복사합니다 나중에. -
를 변경합니다
email
문자열을 기본 초기 관리자 주소로 설정합니다. 에서 사용할 이 이메일 주소를 복사합니다 나중에. -
변경
enrolled
을 눌러 AutoSupport to로 이동합니다false
인터넷 연결이 없거나 보관되지 않은 사이트의 경우true
연결된 사이트의 경우. -
외부 인증서 관리자를 사용하는 경우 에 다음 행을 추가합니다
spec
:spec: crds: externalCertManager: true
-
(선택 사항) 이름을 추가합니다
firstName
성을 입력합니다lastName
계정에 연결된 사용자의 입니다. UI 내에서 이 단계를 지금 또는 나중에 수행할 수 있습니다. -
(선택 사항) 을 변경합니다
storageClass
설치에 필요한 경우 다른 Trident storageClass 리소스에 대한 값입니다. -
(선택 사항) 설치 후 클러스터를 Astra Control Center에서 자동으로 관리하려는 경우 이 클러스터에 kubecon무화과 같은 암호를 만들었습니다, 라는 이 YAML 파일에 새 필드를 추가하여 비밀의 이름을 입력합니다
astraKubeConfigSecret: "acc-kubeconfig-cred or custom secret name"
-
다음 단계 중 하나를 수행합니다.
-
* 기타 수신 컨트롤러(ingressType: Generic) *: Astra Control Center의 기본 동작입니다. Astra Control Center를 배포한 후 URL을 사용하여 Astra Control Center를 노출하도록 수신 컨트롤러를 구성해야 합니다.
기본 Astra Control Center 설치는 게이트웨이를 설정합니다 (
service/traefik
)를 입력합니다ClusterIP
. 이 기본 설치에서는 트래픽을 이 컨트롤러로 라우팅하기 위해 추가적으로 Kubernetes IngPressController/Ingress를 설정해야 합니다. 침투를 사용하려면 를 참조하십시오 "부하 분산을 위한 수신 설정". -
* 서비스 로드 밸런서(ingressType:AccTraefik) *: IngressController를 설치하거나 수신 리소스를 생성하지 않으려면 를 설정합니다
ingressType
를 선택합니다AccTraefik
.그러면 Astra Control Center가 구축됩니다
traefik
Kubernetes 로드 밸런서 유형 서비스로서의 게이트웨이Astra Control Center는 "loadbalancer" 유형의 서비스를 사용합니다. (
svc/traefik
Astra Control Center 네임스페이스에서), 액세스 가능한 외부 IP 주소를 할당해야 합니다. 로드 밸런서가 사용자 환경에서 허용되고 아직 로드 밸런서가 구성되어 있지 않은 경우 MetalLB 또는 다른 외부 서비스 로드 밸런서를 사용하여 외부 IP 주소를 서비스에 할당할 수 있습니다. 내부 DNS 서버 구성에서 Astra Control Center에 대해 선택한 DNS 이름을 부하 분산 IP 주소로 지정해야 합니다.
"로드 밸런서" 및 수신 서비스 유형에 대한 자세한 내용은 을 참조하십시오 "요구 사항". -
apiVersion: astra.netapp.io/v1 kind: AstraControlCenter metadata: name: astra spec: accountName: "Example" astraVersion: "ASTRA_VERSION" astraAddress: "astra.example.com" astraKubeConfigSecret: "acc-kubeconfig-cred or custom secret name" ingressType: "Generic" autoSupport: enrolled: true email: "[admin@example.com]" firstName: "SRE" lastName: "Admin" imageRegistry: name: "[your_registry_path]" secret: "astra-registry-cred" storageClass: "ontap-gold"
-
Astra 제어 센터 및 운전자 설치를 완료합니다
-
이전 단계에서 아직 작성하지 않은 경우 를 만듭니다
netapp-acc
(또는 사용자 지정) 네임스페이스:kubectl create ns [netapp-acc or custom namespace]
샘플 반응:
namespace/netapp-acc created
-
에 Astra Control Center를 설치합니다
netapp-acc
(또는 사용자 지정) 네임스페이스:kubectl apply -f astra_control_center_min.yaml -n [netapp-acc or custom namespace]
샘플 반응:
astracontrolcenter.astra.netapp.io/astra created
시스템 상태를 확인합니다
OpenShift를 사용하려는 경우 검증 단계에 유사한 OC 명령을 사용할 수 있습니다. |
-
모든 시스템 구성 요소가 성공적으로 설치되었는지 확인합니다.
kubectl get pods -n [netapp-acc or custom namespace]
각 POD의 상태는 입니다
Running
. 시스템 포드를 구축하는 데 몇 분 정도 걸릴 수 있습니다.샘플 응답
NAME READY STATUS RESTARTS AGE acc-helm-repo-6b44d68d94-d8m55 1/1 Running 0 13m activity-78f99ddf8-hltct 1/1 Running 0 10m api-token-authentication-457nl 1/1 Running 0 9m28s api-token-authentication-dgwsz 1/1 Running 0 9m28s api-token-authentication-hmqqc 1/1 Running 0 9m28s asup-75fd554dc6-m6qzh 1/1 Running 0 9m38s authentication-6779b4c85d-92gds 1/1 Running 0 8m11s bucketservice-7cc767f8f8-lqwr8 1/1 Running 0 9m31s certificates-549fd5d6cb-5kmd6 1/1 Running 0 9m56s certificates-549fd5d6cb-bkjh9 1/1 Running 0 9m56s cloud-extension-7bcb7948b-hn8h2 1/1 Running 0 10m cloud-insights-service-56ccf86647-fgg69 1/1 Running 0 9m46s composite-compute-677685b9bb-7vgsf 1/1 Running 0 10m composite-volume-657d6c5585-dnq79 1/1 Running 0 9m49s credentials-755fd867c8-vrlmt 1/1 Running 0 11m entitlement-86495cdf5b-nwhh2 1/1 Running 2 10m features-5684fb8b56-8d6s8 1/1 Running 0 10m fluent-bit-ds-rhx7v 1/1 Running 0 7m48s fluent-bit-ds-rjms4 1/1 Running 0 7m48s fluent-bit-ds-zf5ph 1/1 Running 0 7m48s graphql-server-66d895f544-w6hjd 1/1 Running 0 3m29s identity-744df448d5-rlcmm 1/1 Running 0 10m influxdb2-0 1/1 Running 0 13m keycloak-operator-75c965cc54-z7csw 1/1 Running 0 8m16s krakend-798d6df96f-9z2sk 1/1 Running 0 3m26s license-5fb7d75765-f8mjg 1/1 Running 0 9m50s login-ui-7d5b7df85d-l2s7s 1/1 Running 0 3m20s loki-0 1/1 Running 0 13m metrics-facade-599b9d7fcc-gtmgl 1/1 Running 0 9m40s monitoring-operator-67cc74f844-cdplp 2/2 Running 0 8m11s nats-0 1/1 Running 0 13m nats-1 1/1 Running 0 13m nats-2 1/1 Running 0 12m nautilus-769f5b74cd-k5jxm 1/1 Running 0 9m42s nautilus-769f5b74cd-kd9gd 1/1 Running 0 8m59s openapi-84f6ccd8ff-76kvp 1/1 Running 0 9m34s packages-6f59fc67dc-4g2f5 1/1 Running 0 9m52s polaris-consul-consul-server-0 1/1 Running 0 13m polaris-consul-consul-server-1 1/1 Running 0 13m polaris-consul-consul-server-2 1/1 Running 0 13m polaris-keycloak-0 1/1 Running 0 8m7s polaris-keycloak-1 1/1 Running 0 5m49s polaris-keycloak-2 1/1 Running 0 5m15s polaris-keycloak-db-0 1/1 Running 0 8m6s polaris-keycloak-db-1 1/1 Running 0 5m49s polaris-keycloak-db-2 1/1 Running 0 4m57s polaris-mongodb-0 2/2 Running 0 13m polaris-mongodb-1 2/2 Running 0 12m polaris-mongodb-2 2/2 Running 0 12m polaris-ui-565f56bf7b-zwr8b 1/1 Running 0 3m19s polaris-vault-0 1/1 Running 0 13m polaris-vault-1 1/1 Running 0 13m polaris-vault-2 1/1 Running 0 13m public-metrics-6d86d66444-2wbzl 1/1 Running 0 9m30s storage-backend-metrics-77c5d98dcd-dbhg5 1/1 Running 0 9m44s storage-provider-78c885f57c-6zcv4 1/1 Running 0 9m36s telegraf-ds-2l2m9 1/1 Running 0 7m48s telegraf-ds-qfzgh 1/1 Running 0 7m48s telegraf-ds-shrms 1/1 Running 0 7m48s telegraf-rs-bjpkt 1/1 Running 0 7m48s telemetry-service-6684696c64-qzfdf 1/1 Running 0 10m tenancy-6596b6c54d-vmpsm 1/1 Running 0 10m traefik-7489dc59f9-6mnst 1/1 Running 0 3m19s traefik-7489dc59f9-xrkgg 1/1 Running 0 3m4s trident-svc-6c8dc458f5-jswcl 1/1 Running 0 10m vault-controller-6b954f9b76-gz9nm 1/1 Running 0 11m
-
(선택 사항) 설치가 완료되었는지 확인하기 위해 을(를) 볼 수 있습니다
acc-operator
다음 명령을 사용하여 기록합니다.kubectl logs deploy/acc-operator-controller-manager -n netapp-acc-operator -c manager -f
accHost
클러스터 등록은 마지막 작업 중 하나이며, 클러스터 등록에 실패하면 배포에 실패하지 않습니다. 로그에 클러스터 등록 실패가 표시되는 경우 클러스터 추가 워크플로우를 통해 등록을 다시 시도할 수 있습니다 "를 클릭합니다" API를 사용합니다. -
모든 Pod가 실행되면 설치가 성공적으로 완료되었는지 확인합니다 (
READY
있습니다True
)를 입력하고 Astra Control Center에 로그인할 때 사용할 일회용 암호를 받습니다.kubectl get AstraControlCenter -n netapp-acc
응답:
NAME UUID VERSION ADDRESS READY astra ACC-9aa5fdae-4214-4cb7-9976-5d8b4c0ce27f 22.08.1-26 10.111.111.111 True
UUID 값을 복사합니다. 암호는 입니다 ACC-
UUID 값 뒤에 옵니다 (ACC-[UUID]
또는, 이 예에서는ACC-9aa5fdae-4214-4cb7-9976-5d8b4c0ce27f
)를 클릭합니다.
부하 분산을 위한 수신 설정
클러스터의 로드 밸런싱과 같은 서비스에 대한 외부 액세스를 관리하는 Kubernetes 수신 컨트롤러를 설정할 수 있습니다.
이 절차에서는 수신 컨트롤러를 설정하는 방법에 대해 설명합니다 (ingressType:Generic
)를 클릭합니다. 이것은 Astra Control Center의 기본 동작입니다. Astra Control Center를 배포한 후 URL을 사용하여 Astra Control Center를 노출하도록 수신 컨트롤러를 구성해야 합니다.
수신 컨트롤러를 설정하지 않으려면 을 설정할 수 있습니다 ingressType:AccTraefik) . Astra Control Center는 "loadbalancer" 유형의 서비스를 사용합니다. (svc/traefik Astra Control Center 네임스페이스에서), 액세스 가능한 외부 IP 주소를 할당해야 합니다. 로드 밸런서가 사용자 환경에서 허용되고 아직 로드 밸런서가 구성되어 있지 않은 경우 MetalLB 또는 다른 외부 서비스 로드 밸런서를 사용하여 외부 IP 주소를 서비스에 할당할 수 있습니다. 내부 DNS 서버 구성에서 Astra Control Center에 대해 선택한 DNS 이름을 부하 분산 IP 주소로 지정해야 합니다. "로드 밸런서" 및 수신 서비스 유형에 대한 자세한 내용은 을 참조하십시오 "요구 사항".
|
단계는 사용하는 수신 컨트롤러의 유형에 따라 다릅니다.
-
이스티오 침투
-
Nginx 수신 컨트롤러
-
OpenShift 수신 컨트롤러
-
Istio Ingress를 구성합니다.
이 절차에서는 "기본" 구성 프로파일을 사용하여 Istio를 구축한다고 가정합니다. -
수신 게이트웨이에 대해 원하는 인증서 및 개인 키 파일을 수집하거나 생성합니다.
CA 서명 또는 자체 서명 인증서를 사용할 수 있습니다. 공통 이름은 Astra 주소(FQDN)여야 합니다.
명령 예:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt
-
암호를 만듭니다
tls secret name
유형kubernetes.io/tls
에서 TLS 개인 키 및 인증서의 경우istio-system namespace
TLS 비밀에 설명되어 있습니다.명령 예:
kubectl create secret tls [tls secret name] --key="tls.key" --cert="tls.crt" -n istio-system
비밀의 이름은 과 일치해야 합니다 spec.tls.secretName
에 제공됩니다istio-ingress.yaml
파일. -
수신 리소스를 에 배포합니다
netapp-acc
v1beta1(또는 1.22 미만의 Kubernetes 버전에서 사용되지 않음) 또는 v1 리소스 유형을 사용하는(또는 사용자 지정 이름) 네임스페이스입니다.출력:
apiVersion: networking.k8s.io/v1beta1 kind: IngressClass metadata: name: istio spec: controller: istio.io/ingress-controller --- apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: ingress namespace: istio-system spec: ingressClassName: istio tls: - hosts: - <ACC addess> secretName: [tls secret name] rules: - host: [ACC addess] http: paths: - path: / pathType: Prefix backend: serviceName: traefik servicePort: 80
v1 새 스키마의 경우 다음 샘플을 따르십시오.
kubectl apply -f istio-Ingress.yaml
출력:
apiVersion: networking.k8s.io/v1 kind: IngressClass metadata: name: istio spec: controller: istio.io/ingress-controller --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: ingress namespace: istio-system spec: ingressClassName: istio tls: - hosts: - <ACC addess> secretName: [tls secret name] rules: - host: [ACC addess] http: paths: - path: / pathType: Prefix backend: service: name: traefik port: number: 80
-
Astra Control Center를 평소처럼 배포합니다.
-
수신 상태를 점검하십시오.
kubectl get ingress -n netapp-acc
응답:
NAME CLASS HOSTS ADDRESS PORTS AGE ingress istio astra.example.com 172.16.103.248 80, 443 1h
-
형식의 암호를 만듭니다[
kubernetes.io/tls
] 에서 TLS 개인 키 및 인증서의 경우netapp-acc
에 설명된 대로 (또는 사용자 지정 이름) 네임스페이스를 사용합니다 "TLS 비밀". -
수신 리소스를 에 배포합니다
netapp-acc
또는 사용자 지정 이름 네임스페이스 중 하나를 사용합니다v1beta1
(Kubernetes 버전 1.22 이하) 또는 에서는 사용되지 않습니다v1
사용되지 않는 스키마나 새 스키마의 리소스 유형:-
을(를) 위한
v1beta1
더 이상 사용되지 않는 스키마는 다음 샘플을 따르십시오.apiVersion: extensions/v1beta1 Kind: IngressClass metadata: name: ingress-acc namespace: [netapp-acc or custom namespace] annotations: kubernetes.io/ingress.class: [class name for nginx controller] spec: tls: - hosts: - <ACC address> secretName: [tls secret name] rules: - host: [ACC address] http: paths: - backend: serviceName: traefik servicePort: 80 pathType: ImplementationSpecific
-
의 경우
v1
새 스키마에 따라 다음 샘플을 수행합니다.apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: netapp-acc-ingress namespace: [netapp-acc or custom namespace] spec: ingressClassName: [class name for nginx controller] tls: - hosts: - <ACC address> secretName: [tls secret name] rules: - host: <ACC addess> http: paths: - path: backend: service: name: traefik port: number: 80 pathType: ImplementationSpecific
-
-
인증서를 구입하고 OpenShift 라우트에서 사용할 수 있도록 준비된 키, 인증서 및 CA 파일을 가져옵니다.
-
OpenShift 경로를 생성합니다.
oc create route edge --service=traefik --port=web -n [netapp-acc or custom namespace] --insecure-policy=Redirect --hostname=<ACC address> --cert=cert.pem --key=key.pem
Astra Control Center UI에 로그인합니다
Astra Control Center를 설치한 후 기본 관리자의 암호를 변경하고 Astra Control Center UI 대시보드에 로그인합니다.
-
브라우저에서 에 사용한 FQDN을 입력합니다
astraAddress
에 있습니다astra_control_center_min.yaml
CR Astra Control Center를 설치했습니다. -
메시지가 표시되면 자체 서명된 인증서를 수락합니다.
로그인 후 사용자 지정 인증서를 만들 수 있습니다. -
Astra Control Center 로그인 페이지에서 에 사용한 값을 입력합니다
email
인치astra_control_center_min.yaml
CR Astra Control Center를 설치했습니다1회 암호 뒤에 옵니다 (ACC-[UUID]
)를 클릭합니다.잘못된 암호를 세 번 입력하면 15분 동안 관리자 계정이 잠깁니다. -
Login * 을 선택합니다.
-
메시지가 나타나면 암호를 변경합니다.
처음 로그인하는 데 암호를 잊은 경우 다른 관리 사용자 계정이 아직 생성되지 않은 경우 NetApp 지원에 암호 복구 지원을 문의하십시오. -
(선택 사항) 기존의 자체 서명된 TLS 인증서를 제거하고 로 바꿉니다 "인증 기관(CA)에서 서명한 사용자 지정 TLS 인증서".
설치 문제를 해결합니다
에 서비스가 있는 경우 Error
상태, 로그를 검사할 수 있습니다. 400 ~ 500 범위의 API 응답 코드를 찾습니다. 이는 고장이 발생한 장소를 나타냅니다.
-
Astra Control Center 운영자 로그를 검사하려면 다음을 입력하십시오.
kubectl logs --follow -n netapp-acc-operator $(kubectl get pods -n netapp-acc-operator -o name) -c manager
다음 단계
를 수행하여 배포를 완료합니다 "설정 작업".