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
끝~
'엔지니어링 > 3scale' 카테고리의 다른 글
[OCP] 3scale 백업 자동화 고도화하기 - 1편(도입부) (0) | 2022.08.31 |
---|---|
[OCP] 3scale Operator 리소스 조정(관리) (0) | 2022.08.24 |
[OCP] 3scale 백업 자동화 크론잡 (0) | 2022.08.24 |
[OCP] 3scale Operator 복원(복구)하기 (0) | 2022.08.19 |
[OCP] 3scale Operator 백업하기 (0) | 2022.08.19 |