ICP에서 IBM Db2 Developer-C Helm Chart의 Db2를 사용해보십시오.

이 기사에서 전하고 싶은 것



・작업 순서는 조리법로서 공개되고 있습니다만, ICP 2.1.0.3에서의 유의 사항, 작업 전제의 보충이 있는 편이 좋을 것이라고 생각했으므로, 정리해 보았습니다.
・일단, ICP상에서 Persistent Volume의 환경을 만들어 보려고 생각하고 있는 사람용입니다.

작업 환경 정보



Lenovo Thinkpad T430(SSD 256GB x 2, 16GB Mem, Core i7-3740QM) x 2대에서 Win10 64bit, VMWare WorkStation 14 pro. ubuntu 16.04 TLS
※i5-3320M(2코어)에서 i7-3740QM(4코어)로 환장. 90w AC 어댑터 필요.
・인터넷에 액세스 할 수 있는 Wifi 라우터에 유선 접속(인터넷 액세스는 필수는 아닙니다만, Helm Chart의 취득, 갱신 등 다양한 과제가 발생합니다)
· IBM Cloud Private Enterprise Edition 2.1.0.3
・Boot/Master와 Proxy, VA와 Worker를 각각의 t430으로 설정
· 아래 표는 각 VM에 대한 리소스 할당의 예 (IP 주소는 고정, 브리지 연결)


ICP Node
코어
Mem
HDD
호스트 이름
IP 주소


Boot/Master
4개
11GB
160GB
bootmaster1
192.168.11.130

프록시
4개
4GB
160GB
proxy1
192.168.11.131

VA
4개
9.2GB
160GB
va1
192.168.11.132

Worker
4개
4.9GB
160GB
worker1
192.168.11.133


작업 흐름


  • Storage Class를 포함하는 ICP를 소개 kubectl, bx, bx pr, docker 등의 각종 커멘드가 정상적으로 동작하는 것을 확인한다.
  • IBM Db2 Developer-C Helm Chart를 사용하여 Db2 포드를 배치합니다. 선택적으로 WAS Liberty 포드를 배포하는 DockerFile 및 server.xml에 대한 설명.

  • 조리법 보충



    ・Db2의 Pod는 Persistent Volume이 전제가 되어 있는 것 같습니다. Helm chart의 Enable persistence for this deployment의 tooltip에서 "a persistent volume is required."라고 명기되어 있고, 내 환경에서는 에 체크를 넣지 않으면 정상적으로 Db2의 Pod를 deploy할 수 없었습니다.


    · 내 환경에서 Storage Class를 설정하지 않으면 Db2의 Pod를 성공적으로 배포할 수 없었습니다. 매뉴얼에 따르면 Storage Class는 ICP를 설치할 때 작성할 수 있습니다.


    구체적인 작업



    1. ICP의 Install과 Storage Class의 작성
    ICP 설치 절차에 따라 ICP를 설치하고 다양한 명령을 설정합니다. 이 경우 Step 3 또는 Step 4 작업 중에/opt/ibm-cp-app-mod-2.1.0.3/cluster/misc/storage_class에 다음 파일을 작성하십시오. 우선, ICP상에서 PV를 포함한 Pod를 이동하는 것을 목적으로 하고 있는 것과 블록 스토리지를 이용할 수 없는 HW구성이므로, 기술 내용은 Kubernetes의 메뉴얼의 로컬 를, 그대로 사용합니다. 매뉴얼에 따르면 파일 이름에는 제한이 없습니다 (내 환경에서는 sc.yaml이라는 파일 이름으로 설정했습니다).

    sc.yaml
    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: local-storage
    provisioner: kubernetes.io/no-provisioner
    volumeBindingMode: WaitForFirstConsumer
    

    Storage Class를 만드는 방법은 5단계에서 생성된 install log에서 확인하여 sc.yaml이 로드되었음을 알 수 있습니다.

    install.log (발췌)
    TASK [storage : scan storage class yaml files] *********************************
    changed: [localhost] => (item=/installer/cluster/misc/storage_class/sc.yaml)
    
    TASK [storage : get storage class file facts] **********************************
    ok: [localhost] => (item={'_ansible_parsed': True, 'stderr_lines': [], '_ansible_item_result': True, u'end': u'2018-07-13 10:27:55.484712', '_ansible_no_log': False, u'stdout': u'/installer/cluster/misc/storage_class/sc.yaml :0', u'cmd': u"echo /installer/cluster/misc/storage_class/sc.yaml :`grep 'kind:' /installer/cluster/misc/storage_class/sc.yaml | grep -v StorageClass | wc -l`", u'rc': 0, 'item': u'/installer/cluster/misc/storage_class/sc.yaml', u'delta': u'0:00:00.392345', u'stderr': u'', u'changed': True, u'invocation': {u'module_args': {u'creates': None, u'executable': None, u'_uses_shell': True, u'_raw_params': u"echo /installer/cluster/misc/storage_class/sc.yaml :`grep 'kind:' /installer/cluster/misc/storage_class/sc.yaml | grep -v StorageClass | wc -l`", u'removes': None, u'warn': True, u'chdir': None, u'stdin': None}}, 'stdout_lines': [u'/installer/cluster/misc/storage_class/sc.yaml :0'], u'start': u'2018-07-13 10:27:55.092367', '_ansible_ignore_errors': None, 'failed': False})
    

    수동 Access your cluster 작업을 완료하고 kubectl, bx, bx pr, docker와 같은 다양한 명령이 제대로 작동하는지 확인합니다. 참고로 배포가 64bit linux 환경인 경우curl -k -O https://192.168.11.130:8443/api/cli/icp-linux-amd64 필요한 설치 이미지를 사용할 수 있습니다(FTP 필요 없음).

    다음 기사에서는 ICP에서 IBM Db2 Developer-C Helm Chart를 사용하여 Db2 포드를 작성합니다.

    좋은 웹페이지 즐겨찾기