IBM Cloud에서 MobileFirst Server 인스턴스와 MobileFirst Analytics 인스턴스를 구성하려면 아래의 지시사항을 수행하십시오. 이를 달성하기 위해 다음 단계를 수행합니다.
표준(유료 클러스터)의 Kubernetes Cluster 유형을 작성하십시오.
필수 도구(Docker, Cloud Foundry CLI( cf ), IBM Cloud CLI( bx ), IBM Cloud CLI를 위한 Container Service 플러그인( bx cs ), IBM Cloud CLI를 위한 Container Registry 플러그인( bx cr ), Kubernetes CLI(kubectl))를 사용하여 호스트 컴퓨터를 설정하십시오.
MobileFirst Server Docker 이미지를 빌드하여 IBM Cloud 저장소에 푸시하십시오.
마지막으로, Kubernetes Cluster에 Docker 이미지를 실행하십시오.
참고:
Windows OS는 현재 이와 같은 스크립트 실행에 지원되지 않습니다.
IBM Containers에 배치하는 데 MobileFirst Server 구성 도구를 사용할 수 없습니다.
참고: Mobile Foundation을 배치하는 경우 표준(유료 클러스터)의 Kubernetes Cluster 유형이 필요합니다.
ibm-mfpf-container-8.0.0.0 아카이브 다운로드
IBM Cloud Containers를 사용하여 Kubernetes Cluster로 Mobile Foundation을 설정하려면 나중에 IBM Cloud에 푸시할 이미지를 먼저 작성해야 합니다. IBM Fix Central에서 IBM Containers의 MobileFirst Server에 대한 임시 수정사항을 얻을 수 있습니다.
Fix Central에서 최신 임시 수정사항을 다운로드하십시오. Kubernetes 지원은 iFix 8.0.0.0-IF201707051849에서 가능합니다.
아카이브 파일에는 이미지를 빌드하는 데 필요한 파일(dependencies 및 mfpf-libs)과 Kubernetes에서 MobileFirst Server 및 MobileFirst Analytics를 빌드하고 배치하는 데 필요한 파일(bmx-kubenetes)이 있습니다.
IBM Cloud Container Service를 사용하여 Kubernetes Cluster에 배치하는 데 필요한 사용자 정의 파일 및 스크립트가 들어 있습니다.
Dockerfile-mfpf-analytics 및 Dockerfile-mfpf-server
Dockerfile-mfpf-server: MobileFirst Server 이미지를 빌드하는 데 필요한 모든 명령을 포함하는 텍스트 문서입니다.
Dockerfile-mfpf-analytics: MobileFirst Analytics 이미지를 빌드하는 데 필요한 모든 명령을 포함하는 텍스트 문서입니다.
scripts 폴더: 이 폴더에는 구성 파일 세트가 포함된 args 폴더가 들어 있습니다. 또한 IBM Cloud에 로그인하고 MobileFirst Server/MobileFirst Analytics 이미지를 빌드하며 IBM Cloud에서 이미지를 푸시하고 실행하는 데 필요한 스크립트가 들어 있습니다. 스크립트를 대화식으로 실행하거나 구성 파일을 현상태대로 사전 구성하여 실행할 수 있습니다(나중에 자세히 설명함). 사용자 정의할 수 있는 args/*.properties 파일 외에는 이 폴더의 요소를 수정하지 마십시오. 스크립트 사용법 도움말을 보려면 -h 또는 --help 명령행 인수를 사용하십시오(예: scriptname.sh --help).
usr-mfpf-server 및 usr-mfpf-analytics 폴더:
bin 폴더: 컨테이너 시작 시 실행되는 스크립트 파일(mfp-init)이 들어 있습니다. 사용자 고유의 사용자 정의 코드를 추가하여 실행할 수 있습니다.
config 폴더: MobileFirst Server/MobileFirst Analytics에서 사용되는 서버 구성 단편(키 저장소, 서버 특성, 사용자 레지스트리)이 들어 있습니다.
keystore.xml - SSL 암호화에 사용되는 보안 인증서 저장소의 구성입니다. 나열된 파일을 ./usr/security 폴더에서 참조해야 합니다.
ltpa.xml - LTPA 키와 비밀번호를 정의하는 구성 파일입니다.
mfpfproperties.xml - MobileFirst Server와 MobileFirst Analytics의 구성 특성입니다. 다음 문서 주제에 나열된 지원되는 특성을 참조하십시오.
다음 지시사항은 구성 파일을 사용하여 스크립트를 실행하는 방법을 보여줍니다. 대화식 모드에서 선택해야 하는 명령행 인수의 목록도 사용 가능합니다.
initenv.sh – IBM Cloud에 로그인
IBM Containers에서 Mobile Foundation을 빌드하고 실행하는 데 필요한 환경을 작성하려면 initenv.sh 스크립트를 실행하십시오.
Interactive Mode
./initenv.sh
Non-interactive Mode
./initenv.sh args/initenv.properties
prepareserverdbs.sh - MobileFirst Server 데이터베이스 준비 prepareserverdbs.sh 스크립트는 DB2 데이터베이스 서비스를 사용해서 MobileFirst Server를 구성하는 데 사용됩니다. 1단계에서 로그인한 조직과 영역에서 DB2 서비스의 서비스 인스턴스를 사용할 수 있어야 합니다. 다음을 실행하십시오.
Interactive Mode
initenv.sh(선택사항) – IBM Cloud에 로그인
이 단계는 DB2 서비스 인스턴스를 사용할 수 있는 조직과 영역 이외의 조직과 영역에서 컨테이너를 작성해야 하는 경우에만 필수입니다. 값이 예인 경우에는 컨테이너가 작성되고 시작되어야 하는 새 조직과 영역으로 initenv.properties를 업데이트하고 initenv.sh 스크립트를 다시 실행하십시오.
./initenv.sh args/initenv.properties
prepareserver.sh - MobileFirst Server 이미지 준비
MobileFirst Server 및 MobileFirst Analytics 이미지를 빌드하여 IBM Cloud 저장소에 푸시하려면 prepareserver.sh 스크립트를 실행하십시오. IBM Cloud 저장소에서 사용할 수 있는 모든 이미지를 보려면 bx cr image-list를 실행하십시오.
목록은 이미지 이름, 작성 날짜, ID를 포함합니다. Interactive Mode
./prepareserver.sh
Non-interactive Mode
./prepareserver.sh args/prepareserver.properties
IBM Cloud Container Service를 사용하여 Kubernetes 클러스터의 Docker 컨테이너에 MobileFirst Server 및 MobileFirst Analytics를 배치하십시오.
터미널 컨텍스트를 클러스터에 설정하십시오. bx cs cluster-config my-cluster
클러스터 이름을 확인하려면 다음 명령을 실행하십시오. bx cs clusters
출력에서 구성 파일에 대한 경로가 환경 변수를 설정하는 명령으로 표시됩니다. 예를 들면, 다음과 같습니다. export KUBECONFIG=/Users/ibm/.bluemix/plugins/container-service/clusters/my-cluster/kube-config-prod-dal12-my-cluster.yml my-cluster를 클러스터 이름으로 대체한 후 위의 명령을 복사하고 붙여넣어 터미널에서 환경 변수를 설정하고 Enter를 누르십시오.
[MobileFirst Analytics의 경우 필수]: 지속적 볼륨 클레임을 작성하십시오. 이는 지속적 분석 데이터에 사용됩니다. 일회성 단계입니다. 이전에 이미 작성한 경우 PVC를 재사용할 수 있습니다. yaml 파일 args/mfpf-persistent-volume-claim.yaml을 편집한 후 명령을 실행하십시오.
다음 kubectl 명령을 실행하기 전에 모든 변수가 해당 값으로 대체되어야 합니다. kubectl create -f ./args/mfpf-persistent-volume-claim.yaml
후속 단계에서 제공해야 하므로 지속적 볼륨 클레임의 이름을 기록해 두십시오.
수신 도메인을 가져오려면 다음 명령을 실행하십시오. bx cs cluster-get my-cluster
수신 도메인을 기록해 두십시오. TLS를 구성해야 하는 경우 수신 시크릿을 기록해 두십시오.
Kubernetes 배치를 작성하십시오. yaml 파일인 args/mfpf-deployment-all.yaml을 편집하고 세부사항을 채우십시오. kubectl 명령을 실행하기 전에 모든 변수가 해당 값으로 대체되어야 합니다. ./args/mfpf-deployment-all.yaml에는 다음 항목에 대한 배치가 포함됩니다.
MobileFirst Server의 Kubernetes 배치: 세 개의 인스턴스(복제본), 1024MB 메모리 및 1Core CPU로 구성.
MobileFirst Analytics의 Kubernetes 배치: 두 개의 인스턴스(복제본), 1024MB 메모리 및 1Core CPU로 구성.
MobileFirst Server의 Kubernetes 서비스.
MobileFirst Analytics의 Kubernetes 서비스.
MobileFirst Server 및 MobileFirst Analytics에 대한 모든 REST 엔드포인트를 포함하는 전체 설정에 대한 수신(ingress).
MobileFirst Server 및 MobileFirst Analytics 인스턴스에서 환경 변수를 사용할 수 있도록 하는 configMap.
YAML 파일에서 다음 값을 편집해야 합니다.
위에 설명된 대로 bx cs cluster-get 명령의 출력과는 다른 my-cluster.us-south.containers.mybluemix.net의 발생(수신 도메인의 출력 사용)
registry.ng.bluemix.net/repository/mfpfanalytics:latest 및 registry.ng.bluemix.net/repository/mfpfserver:latest - 이미지를 업로드하기 위해 prepareserver.sh에서 사용한 동일한 이름을 사용하십시오.
claimName: mfppvc - PVC를 작성하기 위해 위에서 사용한 대로 동일한 지속적 볼륨 클레임 이름을 사용하십시오.
다음 명령을 실행하십시오. kubectl create -f ./args/mfpf-deployment-all.yaml
참고: 다음 템플리트 yaml 파일이 제공됩니다.
mfpf-deployment-all.yaml: http를 사용하여 MobileFirst Server 및 MobileFirst Analytics를 배치합니다.
mfpf-deployment-all-tls.yaml: http를 사용하여 MobileFirst Server 및 MobileFirst Analytics를 배치합니다.
mfpf-deployment-server.yaml: http를 사용하여 MobileFirst Server를 배치합니다.
mfpf-deployment-analytics.yaml: http를 사용하여 MobileFirst Analytics를 배치합니다.
작성 후 Kubernetes 대시보드를 사용하려면 다음 명령을 실행하십시오. kubectl proxy 브라우저에서 localhost:8001/ui를 여십시오.
IBM Cloud에서 MobileFirst Server가 실행되면 애플리케이션 개발을 시작할 수 있습니다. Mobile Foundation 학습서를 검토하십시오.
MobileFirst Server 수정사항 적용
IBM Fix Central에서 IBM Containers의 MobileFirst Server에 대한 임시 수정사항을 얻을 수 있습니다.
임시 수정사항을 적용하기 전에 기존 구성 파일을 백업하십시오. 구성 파일은 다음 폴더에 있습니다.
Inclusive terminology note: The Mobile First Platform team is making changes to support
the IBM® initiative to replace racially biased and other discriminatory language in our code and content
with more inclusive language. While IBM values the use of inclusive language, terms that are outside of
IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other
industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the
documentation to reflect those changes.