2022년 1월 11일 화요일

v-list-item-group 주의점

 v-list-item-group 사용시 v-model을 활용하여 선택된 데이터를 관리한다.


이 때, 관리되는 데이터는 Array 여야만 하고,  선택 된 리스트의 순서(인덱스)가 저장 됨.


v-list-item의 항목을 동적으로 변화시키는 과정에서 v-model의 값이 의도하지 않는 값으로 세팅되는 현상 발생..


해결법 :  v-list-item의 key 값을 index 값으로 할당하여야 정상 작동.. 

아무 생각 없이 list 값들 (항목들)이 고유해서 해당 값을 그대로 key 값으로 사용했었는데.. 

idx로 key를 변경하니 정상작동.. 개빡..


<기존 코드>


     <v-list-item-group

      v-model="fil.selected"

       multiple

     >

     <v-list-item  v-for="(v, k) in fil.list" :key="k" active-class="text--accent-4"  >


<변경 코드>

    <v-list-item-group

      v-model="fil.selected"

       multiple

     >

     <v-list-item  v-for="(v, k, idx) in fil.list" :key="idx" active-class="text--accent-4"  >


사소하지만 오랜 시간 걸린 버그다 --.. v-model에 들어가는 값 수정만 몇번을 했는지.. 에휴-오늘의 삽질 끝

2022년 1월 10일 월요일

쿠버네티스 클러스터 - (Google Cloud Platform)

 2022/01/11 현재 일자 기준 구글 클라우드 플랫폼기반으로 간단한 쿠버네티스 클러스터 구성과 쿠버네티스 웹 UI 연결까지를 정리한다.


GCP는 첫 가입시 일정기간 무료로 사용 가능.


간단하게 프로젝트를 하나 생성 (이름은 아무거나..)


왼쪽 상단 메뉴바를 클릭하면 아래쪽에 Kubernetes Engine 항목 선택



Kubernetes 클러스터 만들기 선택 (UI상으로 쉽게 만들 수 있음)



GKE standard 선택 


클러스터  위치, 이름 설정 (위치(리전)만 바꾸어서 실행 했다..)



조금만 기다리면 클러스터 상태가 초록색으로 변함



클러스터를 눌러보면 클러스터의 세부 정보가 나오고,  웹 UI 연결을 위해서는 클러스터에서 설정을 해야되기 때문에 쉘 연결을 해야한다. 이때 구글은 Cloud Shell이라는 기능을 제공하는데 이를 통해 클러스터에 연결 가능하다.



Cloud Shell에서 실행을 선택



웹 아래 쪽에서 Shell 창이 생기고 승인 버튼이 생긴다.
(승인 누르면 된다. - 가끔 구글 로그인 요청이 다시 생길 수 있다)


쿠버네티스 웹 UI(대쉬보드) 실행시키기 위해서는 다음과 같은 명령어를 수행
(참고 : https://github.com/kubernetes/dashboard)


대쉬보드 서비스 생성 (8001포트로 자동 생성 된다)


Localhost로 연결을 할 수는 없기 때문에 Cloud Shell 제공 기능을 활용해야한다.
Shell의 우측 상단에 세 번째 버튼을 누르면 xxxx포트에서 미리보기를 통해 웹 UI에 연결 가능한다. 포트를 8001 포트로 접속해야 되기 때문에 포트 변경을 선택한다.


                        포트를 8001 포트로 변경 후 변경 및 미리보기를 선택한다.


접속을 하게 되면  JSON이 리턴 되는 화면이 생성되고, URL을 변경해야한다.


/?authuser=0 부분을 아래와 같이 변경한다.
(api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login)

(참고 : https://github.com/kubernetes/dashboard)


URL을 변경하고 접속하면 쿠버네티스 대쉬보드가 연결 되고, 연결을 위한 Token을 입력하라는 창이 생성된다. Token은 Cloud Shell에서 다시 확인 가능하다.

기존 창은 대쉬보드 웹 서비스가 실행된 상태이기 때문에, +버튼을 눌러 새로운 Shell 창을 연다.


                            kubectl config view를 통해 Token 확인 가능하다    


    아래쪽에  access-token 뒷 부분을 복사하고, 웹 Token 입력 창에 입력하여 연결한다.


정상적으로 웹 UI에 접속이 된다. 관리 중 컨테이너가 없어 별다른 내용은 안나온다.

쿠버네티스 클러스터로 생성되었기 때문에 클러스터 내의 노드 정보(성능 메트릭)는 확인 할 수 있다.


이상, 구글 클라우드 플랫폼을 활용한 쿠버네티스 클러스터 구성 및 대쉬보드 확인 방법을 정리하였다.

쿠버네티스 책을 보면서 설정을 하려다보니 잘 실행되지 않아 별도로 수행한 결과를 기록해본다..