IKS + Db2 on IBM Cloud에서 DB 액세스 앱을 실행해 보았습니다 (9. 액세스 테스트)

소개



IKS + Db2 on IBM Cloud에서 DB 액세스 앱을 실행해 보았습니다. 」의 마지막회, 제9회입니다.
여기에서는, 브라우저로부터의 액세스 테스트를 실시하는 것과 동시에, kubernetes 의 스케일 아웃 기능을 보고 싶습니다.

실시 내용은 다음과 같습니다.
  • 브라우저에서 액세스
  • Pod 가늠자
  • 테이블 정보 재설정
  • 끝에

  • 제8회까지 준비는 모두 끝나고 있으므로, 브라우저로부터 액세스 하면 좋을 뿐입니다.
    액세스 경로는 아래 그림의 주황색 화살표입니다.



    브라우저에서 액세스



    브라우저에서 액세스할 때의 URL은 다음과 같은 형식으로 되어 있습니다.
    http://ノードIP:ポート/コンテキストルート/クラス名
    각각 다음과 같습니다.


    품목
    내용
    확인 방법 개요


    노드 IP
    kubernetes 노드의 IP
    kubectl get nodes -o wide

    포트
    NodePort에서 지정한 공개 포트
    kubectl get svc

    컨텍스트 루트
    앱을 만들 때 지정한 프로젝트 이름 (과 동일)
    이클립스 프로젝트 (속성)

    클래스 이름
    앱을 만들 때 지정한 클래스 이름
    이클립스 프로젝트 트리


    각각 다음과 같이 되어 있습니다.

    ■ 노드의 IP
    # kubectl get nodes -o wide
    NAME            STATUS   ROLES    AGE   VERSION        INTERNAL-IP     EXTERNAL-IP      OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
    10.77.166.249   Ready    <none>   9h    v1.17.11+IKS   10.77.166.249   173.xxx.xxx.xxx   Ubuntu 16.04.7 LTS   4.4.0-189-generic   containerd://1.3.4
    

    (※173.xxx.xxx.xxx의 부분입니다)

    ■포트
    # kubectl get svc
    NAME              TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
    kubernetes        ClusterIP   172.21.0.1       <none>        443/TCP          9h
    liberty-counter   NodePort    172.21.135.121   <none>        8080:30080/TCP   53m
    

    (※이번은 30080)

    ■ 컨텍스트 루트/클래스



    ■ URL
    결국 이번 URL은 다음과 같습니다.
    http://173.xxx.xxx.xxx:30080/LibertyCounter/Counter
    즉시 액세스해 봅니다.



    여러 번 액세스하면 카운터가 올라갑니다.
    (복수 포드 상태에서 간단한 리로드는 동일한 포드로 이동하는 것 같습니다.이 경우 하드 리로드를 수행하십시오. (브라우저에 따라 다른 방법이 있습니다. Chrome의 경우 Ctrl + F5)



    포드 스케일



    그런 다음 포드 수를 늘리십시오. 제8회 로 만든 yaml 파일의 replicas 를 1->3 으로 늘려 보겠습니다.
    # cat liberty-counter_Deploy.yaml
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      creationTimestamp: null
      labels:
        app: liberty-counter
      name: liberty-counter
    spec:
      replicas: 3
      selector:
        matchLabels:
          app: liberty-counter
    ...(略)...
    

    수정된 yaml 파일을 적용합니다.
    # kubectl apply -f liberty-counter_Deploy.yaml
    deployment.apps/liberty-counter configured
    
    # kubectl get pods
    NAME                               READY   STATUS    RESTARTS   AGE
    liberty-counter-56b4795b97-9knbv   1/1     Running   0          114m
    liberty-counter-56b4795b97-vflvs   1/1     Running   0          51s
    liberty-counter-56b4795b97-vg8vv   1/1     Running   0          51s
    

    Pod가 3개로 되어 있는 것을 알 수 있습니다.
    새 Pod는 부팅하는 데 약간의 시간이 걸립니다.

    그런 다음 액세스를 반복하면 다음과 같이 부하가 분산되어 있음을 알 수 있습니다.
    (마지막 9knbv에 대한 액세스가 많은 이유는 포드를 늘리기 전에 여러 번 액세스했기 때문입니다.)



    테이블 정보 재설정



    이번에는 Db2 테이블 정보를 재설정하는 방법을 만들지 않았습니다.
    그 때문에, 여러가지 액세스하고 있으면 낡은 데이터가 쌓여 가기 어려워져 옵니다.
    참고로 테이블 정보를 재설정하는 방법을 설명합니다. (이것 이외의 방법도 있습니다)

    다섯 번째 샘플 테이블 만들기 를 참고로, 다음의 SQL 를 발행합니다.
    truncate table ユーザー名.test01 immediate
    그러면 테이블의 데이터가 지워집니다.
    그런 다음 다시 액세스하면 액세스 횟수가 1부터 순차적으로 증가합니다.

    끝에



    IKS + Db2 on IBM Cloud에서 DB 액세스 앱을 실행해 보았습니다. 」에서는,
    "클라우드 준비에서 애플리케이션을 태우고 움직일 때까지"를 가능한 한 간단하게,
    대충 해 보는 것으로 이해를 깊게하는 것을 목표로 했습니다.
    개인적으로는 실제로 해 보는 것으로 일련의 기사에 쓴 이상의 여러가지 것을 이해할 수 있어, 클라우드에서 위해 해 본다는 것의 장애물이 내려갔습니다.
    이 일련의 기사가 클라우드 (특히 IBM Cloud)에 입문하는 사람들에게 조금이라도 도움이 되길 바랍니다.

    앞으로도 또 다른 테마로 뭔가 써 가면 좋겠습니다.

    ← : IKS + Db2 on IBM Cloud에서 DB 액세스 앱을 실행해 보았습니다 (8.IKS에 컨테이너 배포)
    ↑ : IKS + Db2 on IBM Cloud에서 DB 액세스 앱을 실행해 보았습니다 (1. 개요)

    끝났어! 라고 보여주면서 번외편을 추가했습니다!
    번외편, 컨테이너 이미지 업데이트

    좋은 웹페이지 즐겨찾기