Product Master 서비스의 DAM (Digital Asset Management) 또는 ML (Machine Learning) 기능을 사용하려면 Helm 차트를 사용하여 MongoDB 를 설치해야 합니다.
시작하기 전에
다음을 설치해야 합니다.
- Helm
- vCPU - 3
- 메모리-2Gi RAM
프로시저
- 인스턴스 관리자로 Red Hat®
OpenShift® 클러스터에 로그인하십시오.
oc login OpenShift_URL:port
- 다음 명령을 사용하여 Product Master 가 설치된 프로젝트 (네임스페이스) 로 변경하십시오.
- 다음 명령을 사용하여 이 서비스에 필요한 권한을 지정하십시오.
oc adm policy add-scc-to-user privileged system:serviceaccount:<namespace>:mongodb-Kubernetes-operator
oc adm policy add-scc-to-user privileged system:serviceaccount:<namespace>:mongodb-database
- 다음 명령을 사용하여 네임스페이스의 모든 릴리스를 나열하십시오.
출력
NAME URL
mongodb https://mongodb.github.io/helm-charts
- 다음 명령을 사용하여
MongoDB helm-charts
저장소를 Helm 에 추가하십시오.
helm repo add MongoDB https://mongodb.github.io/helm-charts
- 다음 명령을 사용하여 MongoDB 를 설치하십시오.
helm install community-operator MongoDB/community-operator
- 다음 명령을 사용하여 PersistentVolume YAML 파일을 작성하십시오.
cat <<EOF| oc apply –f -
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app: productmaster-mongodb-svc
name: logs-volume-productmaster-mongodb-0
namespace: <namespace>
spec:
accessModes:
- ReadWriteOnce
storageClassName: <storage_class>
resources:
requests:
storage: 2G
volumeMode: Filesystem
EOF
cat <<EOF| oc apply –f -
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app: productmaster-mongodb-svc
name: data-volume-productmaster-mongodb-0
namespace: <namespace>
spec:
accessModes:
- ReadWriteOnce
storageClassName: <storage_class>
resources:
requests:
storage: 2G
volumeMode: Filesystem
EOF
- 다음 항목을 사용하여 CR 파일을 생성하고 적용합니다. CR 파일의 사용자 이름 및 비밀번호 필드를 업데이트합니다.
cat <<EOF| oc apply –f -
apiVersion: mongodbcommunity.mongodb.com/v1
kind: MongoDBCommunity
metadata:
name: productmaster-mongodb
spec:
#To create multiple replicas, update the value of the members property to the number of replicas required
members: 1
type: ReplicaSet
version: "7.0.2"
security:
authentication:
modes: ["SCRAM-SHA-1"]
users:
- name: <mongodb_username>
db: admin
passwordSecretRef:
name: my-user-password
roles:
- name: clusterAdmin
db: admin
- name: userAdminAnyDatabase
db: admin
- name: readWriteAnyDatabase
db: admin
- name: backup
db: admin
scramCredentialsSecretName: my-scram
statefulSet:
spec:
serviceName: productmaster-mongodb-svc
selector: {}
# the user credentials will be generated from this secret
# once the credentials are generated, this secret is no longer required
---
apiVersion: v1
kind: Secret
metadata:
name: my-user-password
type: Opaque
stringData:
password: <mongodb_password>
EOF
- 보다 MongoDB 인스턴스와 MongoDB 다음 명령을 사용하여 운영자 상태를 확인합니다.
oc get pods | grep mongodb
NAME READY STATUS RESTARTS AGE
mongodb-kubernetes-operator-857946dd48-wb29f 1/1 Running 0 1m40s
productmaster-mongodb-0 2/2 Running 0 13s
- 다음 명령을 사용하여 MongoDB 인스턴스로 이동하십시오.
oc rsh productmaster-mongodb-0
- 다음 명령을 사용하여 MongoDB 인스턴스가 시작되어 사용자 이름 및 비밀번호로 실행 중인지 확인하십시오.
mongosh
use admin
db.auth (“username”,”password”)
use {{ db_name }
db.createcollection(‘test1’)
- mongodb_cr_openshift 파일에 지정된 것과 동일한 서비스 이름이 있는지 확인하십시오. 다음 명령을 사용하여 서비스 세부사항을 참조하십시오.
oc get svc | grep mongodb
다음에 수행할 작업
IBM® Product Master 설치 중에 app_secrets.yaml 파일에서 다음을 지정하십시오.
| 특성 |
값 |
| mongodb_host |
< mongodb_services_name> |
| mongodb_name |
< mongodb_db_name> |
| mongodb_pass |
< mongodb_password> |
| mongodb_user |
< mongodb_username> |