PaaS 221

(데이터시각화) Tableau Map (지도) 기반 시각화 샘플

Tableau Desktop에서 Sample 데이터를 통하여 지도기반 시각화를 진행해보고자 한다. 1. Tableau Desktop의 데이터 레이어에서 '데이터에 연결'을 클릭한다. 2. '슈퍼스토어-샘플'을 클릭한다. 3. 테이블 - 주문 - 위치 - '국가/지역' 을 클릭한다. 4. 표현방식 중에 내가 사용하고자 하는 템플릿을 클릭한다. 5. 맵 기반하에 표현하고싶은 데이터를 '테이블' 에서 선택한뒤 드래그엔 드룹으로 '마크'영역의 '색상'에 놓는다. 6. 색상으로 데이터를 구분할 수 있도록 표시된다. 7. 데이터도 같이 보여주고 싶다면, '레이블' 을 클릭한 후 '마크 레이블 표시'를 클릭한다. 8. 지도 밑바탕을 다르게 바꿔보고 싶다면 상위 메뉴 중 맵 - 백그라운드 레이어 를 선택한다. ※ 시도..

PaaS/Data 2023.11.27

(데이터시각화) Tableau 서버 설치하기

Hardware Requirement가 높다. 물리 4CPU Core 이상, Memory 64GB이상 관련 링크 : https://www.tableau.com/ko-kr/support/releases/server LINUX 버전 1: Tableau Server package 를 설치하고 Tableau Services Manager(TSM)을 시작하자 - server.rpm다운로드 : https://help.tableau.com/current/server-linux/en-us/jumpstart.html - 다운로드가 완료되면 RPM파일을 서버로 이관한다. - RPM 파일이 있는 위치에서 $ sudo yum install tableau-server-2023-3-0.x86_64.rpm ## sudo yum i..

PaaS/Data 2023.11.26

솔루션 별 적합한 Kubernetes 배포 리소스는 어떤것이 있을까?

1. Frontend/Backend Application : Argo Rollout 혹은 Deployment 적합 ※ HPA도 같이 배포한다. 2. 영속성 솔루션 (DBMS, ElasticSearch..) : StatefulSet 적합 ※ 다만 Mount 시키는 Persist Volume은 Share할수 있는 Volume으로 하는것이 좋음. 어쩔수 없이 Drain 또는 노드 셧다운 요구사항이 발생함 3. Monitoring Agent : DaemonSet 적합 4. 네트워크 리소스(Flannel, Ingress) : DaemonSet 적합 ※ Igress Controller : IngressController가 감당할 부하를 고려하여 노드별로 생성하는 것이 좋다. 5. Cluter 구성이 필요한 비영속성..

PaaS/Kubernetes 2023.11.23

Argo Rollout으로 배포한 Replica도 HPA를 탈까?

문득 Argo Rollout으로 배포한 ReplicaSet이 Deployment와 똑같은 매커니즘으로 HPA 적용을 받는지 의문이 들었다. 일단 공식문서에는 적용된다고 설명이 되있긴 하다. https://argo-rollouts.readthedocs.io/en/stable/features/hpa-support/ HPA - Argo Rollouts - Kubernetes Progressive Delivery Controller Horizontal Pod Autoscaling Horizontal Pod Autoscaling (HPA) automatically scales the number of pods in owned by a Kubernetes resource based on observed CPU ut..

PaaS/Kubernetes 2023.11.21

permission denied on key "vm.max_map_count", ignoring 오류 해결하기

컨테이너로 오픈소스를 배포하다보면 아래와같이 init container에서 권한오류가 발생하는 경우가 종종있다. 특히 ElasticSearch 를 배포하는 경우 자주 발생한다. sysctl: permission denied on key "vm.max_map_count", ignoring ulimit: open files: cannot modify limit: Operation not permitted 이유는 /tmp/scripts/init_sysctl.sh 라는 BootStrap을 만들었는데, 이 Shell이 하려는 일의 권한과 설정된 컨테이너 권한이 안맞아서 발생하는 문제이다. 이를 해결하기 위해 다양한 방법이 있겠지만, 필자의 경우에는 다음의 방법을 사용하였다. initContainer가 정의되어 있..

PaaS/Kubernetes 2023.11.19

SonarQube를 k8s에 컨테이너로 배포해보자

SonarQube는 하위에 여러 오픈소스가 배포된다. PostgreSQL, ElasticSearch 를 포함하여 여러 오픈소스가 install된다. SonarQube 공식사이트에 Docker 기반 배포에 대한 가이드가 있는데, 약간 부실하다. 디테일이 빠져있다. https://docs.sonarsource.com/sonarqube/8.9/setup-and-upgrade/deploy-sonarqube-on-kubernetes/ Deploy SonarQube on Kubernetes Learn how to deploy SonarQube on Kubernetes. docs.sonarsource.com 우선 서두에 언급한 바와 같이 SonarQube는 여러 컨테이너로 구성되어 있는데, 이중 sonarqube -..

PaaS/Kubernetes 2023.11.19

k8s 에서 Database Provisioning시 Permission denied

가끔 HostPath를 쓰거나 PV를 써서 로컬 볼륨을 참조할때 Permission 오류가 뜬다. 이때 확인할 내용은 다음과 같다. 해당 Pod가 Provisioning 되는 Node의 kubelet 및 Docker Runtime 수행 권한이 해당 로컬 볼륨을 쓰기에 충분한 권한인지? 배포중인 StatefulSet / Deployment / Pod 의 제약사항에 securityContext가 정의되어 있는지? 필자의 경우에는 두번째 이슈가 있었고 아래와 같이 runAsNonRoot 와 runAsUser가 세팅되어 있었다. 그래서 로컬볼륨 권한은 그냥 1001:1001로 바꾸어 버렸다. $ chown -R 1001:1001 /data

PaaS/Kubernetes 2023.11.16

KubeScape 란?

KubeScape란 IDE, CI/CD, cluster내부에 적용할 수 있는 Kubernetes관련 오픈소스 플랫폼이다. 여기에는 위험 분석, 보안 규정 준수 및 잘못된 구성 검색이 포함됩니다. DevSecOps 실무자 또는 플랫폼 엔지니어를 대상으로 하는 이 제품은 사용하기 쉬운 CLI 인터페이스, 유연한 출력 형식 및 자동화된 스캔 기능을 제공합니다. Kubernetes 사용자와 관리자의 귀중한 시간, 노력, 리소스를 절약해 줍니다. Kubescape는 클러스터, YAML 파일 및 Helm 차트를 스캔합니다. 여러 프레임워크( NSA-CISA , MITRE ATT&CK® 및 CIS Benchmark 포함 ) 에 따라 잘못된 구성을 감지합니다 . IDE에 적용하는 방법을 소개코자 한다. VSCode 에..

PaaS/Kubernetes 2023.11.15