컨테이너화된 MID Server 배포 및 자동 구성
에이전트 관리자는 MID 서버 프로파일을 입력하고 인스턴스에 배포 요청을 만들 수 있습니다. 그런 다음 배포 요청을 YAML 파일로 내보내고 이를 사용하여 MID Server를 Kubernetes 또는 OpenShift 클러스터에 배포할 수 있습니다.
컨테이너화된 MID Server는 MID Server를 신속하게 배포할 수 있는 MID Server의 Docker 이미지를 사용합니다. 에 대한 Linux용 MID 서버 Docker 이미지 빌드 설명서에서는 수동으로 준비하고 배포하기 위한 단계를 제공합니다. 다음과 같은 컨테이너식 MID 서버 자동 구성은 프로세스를 단순화하고 확장할 수 있도록 합니다.
MID 서버 프로파일
- mid_server_profile
- mid_profile_config
- mid_profile_wrapper_config
- mid_profile_property
- mid_profile_application_m2m
- mid_profile_capability_m2m
- mid_profile_ip_range_m2m
- mid_profile_cluster_m2m
배포하는 동안 mid_profile_config 및 mid_profile_wrapper_config 매개변수가 K8s 클러스터로 전송됩니다. 이러한 매개변수는 새 MID 서버의 config.xml 및 wrapper-override.conf 를 채웁니다. 다른 매개변수는 인스턴스의 자동 구성에 사용됩니다. 사용자는 인스턴스의 MID 서버 프로파일 모듈에서 MID 서버 프로파일 에 액세스할 수 있습니다.
프로파일을 사용하여 여러 MID 서버를 배포할 수 있으므로 프로파일에 MID 서버 이름이 필요하지 않습니다. 대신, 사용자는 새 배포 요청의 일부로 MID 서버 이름을 입력하라는 요청을 받습니다. mid_profile_wrapper_config의 경우 사용자는 wrapper-override.conf에서 보고 싶은 매개변수를 입력할 수 있습니다. 예:
| 이름 | 값 |
| wrapper.java.maxmemory | 2048 |
| wrapper.java.추가.3 | -djavax.net.debug=ssl:핸드셰이크 |
다른 프로파일 설정은 MID 서버 기록에서와 같은 방식으로 입력할 수 있습니다.
MID 서버 배포 요청
MID 서버 프로필을 작성한 후 사용자는 새 배포 요청을 만들어 배포 프로세스를 준비할 수 있습니다. 배포 요청은 컨테이너 오케스트레이터마다 다를 수 있습니다. 자세한 내용은 MID 서버 배포 요청 문서를 참조하십시오.
수동 배포를 위한 MID 배포 요청 익스포트
사용자는 이를 K8s 배포 YAML 파일로 내보낼 수 있습니다. 사용자는 YAML 파일을 K8s 클러스터에 다운로드하고 kubectl apply –f <yaml_file> 명령을 사용하여 새 MID Server를 배포할 수 있습니다.
Docker 이미지 준비
Docker 이미지를 준비하려면 먼저 MID 서버 Docker 이미지 빌드에 설명된 대로 K8s 클러스터에 MID 서버 이미지를 빌드합니다. 빌드된 이미지를 이미지 레지스트리에 업로드하고 docker pull registry/mid:<tag> 명령을 사용하여 이미지를 로컬 이미지로 끌어옵니다. 원격 레지스트리에서 직접 이미지를 끌어오는 것에 대한 제한 사항은 컨테이너화된 MID 서버용 Docker 레지스트리 설정 II: 자동 구성 [KB1001380] 을 참조하십시오.
Kubernetes 준비
StatefulSet를 사용하여 Kubernetes에서 컨테이너화된 MID 서버를 빌드하고 배포하는 방법[KB1325173]도 참조하십시오.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: default-service-acccount-as-cluster-admin
subjects:
- kind: ServiceAccount
# Reference to upper's `metadata.name`
name: default
# Reference to upper's `metadata.namespace`
namespace: default
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io사용자 지정 서비스 계정을 선택하고 해당 서비스 계정 및 네임스페이스에 ClusterRole 을 할당할 수 있습니다. 기본 네임스페이스는 기본값입니다. 다음 예제 YAML 파일은 사용자 지정 네임스페이스인 mynamespace를 사용합니다.
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: custom-serviceacccount-as-cluster-admin
subjects:
- kind: ServiceAccount
# Reference to upper's `metadata.name`
name: mycustomserviceaccount
# Reference to upper's `metadata.namespace`
namespace: mynamespace
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io
상호 인증을 위해 mid-secrets.properties 또는 PEM 파일에 대해 비밀이 생성됩니다. 비밀을 만드는 방법에 대한 자세한 내용은 다음 섹션 컨테이너식 MID 서버을 참조하십시오.
컨테이너화된 새 MID 서버 자동 구성
MID 서버가 인스턴스에 처음 연결되면 MID 서버 기록이 생성됩니다. MID 서버 기록은 컨테이너 ID, 프로파일 ID 및 배포 이름으로 채워집니다. 새 MID 서버 기록이 profile_id 필드의 프로파일 ID로 업데이트될 때 프로파일에서 MID 자동 구성 비즈니스 규칙이 트리거됩니다. 비즈니스 규칙이 해당 프로파일 ID와 연결된 프로파일 설정을 조회하고 그에 따라 새 MID 서버를 구성합니다.
MID 서버 프로파일을 기존 MID 서버와 동기화
관련 MID 서버가 자동 구성된 지 한참 후에 사용자가 프로파일을 업데이트하면 MID 서버 프로파일이 기존 MID 서버의 설정과 동기화되지 않을 수 있습니다. 사용자는 인스턴스에서 MID 서버와 동기화를 선택하여 프로파일 설정을 기존 MID 서버와 동기화할 수 있습니다.