반응형

ocp 오퍼레이터를 이용하면 rehat 에서 제공하는 솔루션을 손쉽게 올릴 수 있다.
프로젝트에서 3scale 이관을 맡았었는데 설치방법과 백업&리스토어를 기록해두려한다.

Operator 설치

ocp 콘솔 > Operators > OperatorHub 메뉴에서 3scale을 검색


Redhat Integration - 3scale 을 선택하고 install 클릭

설치할 namespace(3scale) 선택, install

설치 중

설치 완료

 

PV 생성

3scale은 PV가 총 4개가 필요한데, 그중 1개 (system-storage)가 RWX 형식의 pv 여야만 한다.
필자는 aro 환경에서 사용중이기 때문에 스토리지클래스로 pv 동적할당을 사용한다.

Azure Redhat Openshift

만약 Azure 환경에서 ARO를 올렸을 경우 AzureFile Disk를 StorageClass로 붙여주면 된다.(worker node에 기본적으로 생성된 azureDisk 는 RWO 밖에 지원하지 않음)

변수정의

LOCATION="KoreaCentral"
CLUSTER="aro-cluster-dev"
AZURE_FILES_RESOURCE_GROUP="Z-KC-JOON-AZUREFILES-RG"
AZURE_STORAGE_ACCOUNT_NAME="aroazurefilesa"
ARO_RESOURCE_GROUP="Z-KC-JOON-RG"
SUBSCRIPTION_ID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
ARO_SERVICE_PRINCIPAL_ID=$(az aro show -g $ARO_RESOURCE_GROUP -n $CLUSTER --query servicePrincipalProfile.clientId -o tsv)
STORAGECLASS=azure-file

스토리지 계정 생성

az storage account create --name $AZURE_STORAGE_ACCOUNT_NAME --resource-group $AZURE_FILES_RESOURCE_GROUP --kind StorageV2 --sku Standard_LRS

리소스그룹 권한 설정

az role assignment create --role Contributor --scope /subscriptions/$SUBSCRIPTION_ID/resourceGroups/$AZURE_FILES_RESOURCE_GROUP  --assignee $ARO_SERVICE_PRINCIPAL_ID

ARO 클러스터 권한 설정

ARO_API_SERVER=$(az aro list --query "[?contains(name,'$CLUSTER')].[apiserverProfile.url]" -o tsv)
oc login -u kubeadmin -p $(az aro list-credentials -g $ARO_RESOURCE_GROUP -n $CLUSTER --query=kubeadminPassword -o tsv) $ARO_API_SERVER
oc create clusterrole azure-secret-reader --verb=create,get --resource=secrets
oc adm policy add-cluster-role-to-user azure-secret-reader system:serviceaccount:kube-system:persistent-volume-binder

스토리지클래스 만들기

cat << EOF > azure-storageclass-azure-file.yaml
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: $STORAGECLASS
provisioner: kubernetes.io/azure-file
parameters:
  location: $LOCATION
  secretNamespace: kube-system
  skuName: Standard_LRS
  storageAccount: $AZURE_STORAGE_ACCOUNT_NAME
  resourceGroup: $AZURE_FILES_RESOURCE_GROUP
reclaimPolicy: Delete
volumeBindingMode: Immediate
EOF"
oc create -f azure-storageclass-azure-file.yaml

이제 azure-file 이라는 스토리지클래스가 생성되었다.

APIManager 설치

installed Operators > 3scale > APIManager > Create instance

이름과 와일드카드 도메인을 입력한다.(보통 ocp cloud domain을 기입함)
설치하면 '3scale-admin.와일드카드도메인'과 같은 도메인이 생성된다.

System Storage PVC Azurefile storageclass 변경
- System>File Storage>Persistent Volume Claim>Storage Class Name
- azure-file 은 위에서 생성한 storageClass Name이다.

create 클릭

기다리면 오퍼레이터가 설치를 진행하고, 가장 마지막에 route가 생성된다.

[root@bastion ~]# oc get po -n 3scale
NAME                                                         READY   STATUS    RESTARTS   AGE
apicast-production-1-fq22k                                   1/1     Running   0          10m
apicast-staging-1-kk8pq                                      1/1     Running   0          10m
backend-cron-1-gl8jc                                         1/1     Running   0          10m
backend-listener-1-45jst                                     1/1     Running   0          10m
backend-redis-1-6b8cp                                        1/1     Running   0          10m
backend-worker-1-7kpz5                                       1/1     Running   0          10m
system-app-1-bb8l6                                           3/3     Running   0          10m
system-memcache-1-2nkq2                                      1/1     Running   0          10m
system-mysql-1-l9xgh                                         1/1     Running   0          10m
system-redis-1-mrmvp                                         1/1     Running   0          10m
system-sidekiq-1-dw4zx                                       1/1     Running   0          10m
system-sphinx-1-k9lcp                                        1/1     Running   0          10m
threescale-operator-controller-manager-v2-78775d79cd-sbzp4   1/1     Running   0          10m
zync-1-lm6q6                                                 1/1     Running   0          10m
zync-database-1-gj26f                                        1/1     Running   0          10m
zync-que-1-xxlql                                             1/1     Running   0          10m

대시보드 접속

route 의 3scale-admin.<wildcard-dmain> 확인
계정 패스워드는 secrets > system-seed


끝~

반응형
복사했습니다!