전체 글 122

Diamanti 기능 및 제공 서비스 내역

Diamanti 기능 및 함께 제공하는 Kubernetes 서비스 내역 입니다. Diamanti를 사용하지 않아도 비슷한 형태의 작업들이 필요할 것 같아서 공유합니다. 조금이라도 도움이 되었으면 합니다. Kubernetes Cluster 구축 시 필요한 Open Source Stack 리스트 Diamanti 기능 CNCF 인증 Kubernetes 배포판 제공 : CNCF Certified(1.18.8 까지) Control Plane(Spektra) : 버전 Upgrade 지원 Customized OS(CentOS 기반), 컨테이너 런타임(Docker or CRIO-O) 제공 및 기술 지원 FPGA 하드웨어 Chip 기반 표준 PCIe Type 네트워크 및 스토리지 가속화 카드(Ultima) 제공 자체 C..

Diamanti 제품 소개

Kubernetes 도입의 어려움 위 그래프는 국내 핀테크 기업 뱅크샐러드에서 공개한 일일 배포 횟수 입니다. 2019년 11월 기준으로 일일 평균 약 20회 정도의 비약적인 상승을 이루었습니다. 그에 반하여 일반 회사들의 배포 주기는 어떻게 될까요? 일반적으로 기존 기업들은 평균 9개월에 한 번이라고 합니다. 핀테크 기업과 동일 업계인 금융권에서(20년 이상 업력) 2~3년 마다 대규모 시스템 업그레이드 작업을 한다는 것과 비교하면 뱅크 샐러드 사례는 많은 시사점이 있습니다. 배포 주기가 길다는 것은 그만큼 고객의 요구 사항을 빠르게 수용하지 못한다는 것을 의미 합니다. 두말 할 것 없이 빠른 배포를 통한 즉각적인 고객 만족도 향상은 중요한 비즈니스 성공 요소 입니다. 기업 문화, MSA 등 여러 요인..

Veeam Kasten - On-Prem to Azure AKS 이전

Veeam Kasten(Kubernetes 백업 솔루션) 이용해서 On-Prem Kube Cluster 에서 Azure AKS로 간단한 PostgreSQL Database 이전 작업을 성공하여 해당 내역 공유해 드립니다. 중간에 스토리지(Azure Storage 또는 NFS 서버)를 두고 DB Data + DB 설정 Manifest(YAML 파일)을 Copy 하는 구조 입니다. 이렇게 구성하면 DR 센터 구성 시 별도의 시스템을 구축하지 않고(즉 비용 발생하는 상시 운영 서버를 두지 않고) 스토리지에 정기적으로 Data(snapshot 기반) + 설정을 저장만 하면 됩니다. 그리고 1주일 혹은 한달마다 복구 테스트를 하면 Public Cloud(또는 원격지 On-Prem) DR 센터 구성이 가능합니다. ..

Kube 백업 - Veeam Kasten 테스트 내역 공유

Kubernetes 백업 솔루션 Veeam Kasten 검증한 내용 공유해 드립니다. Kube PVC 백업은 아직 많이 사용 안 하시거나 오픈소스 Velero 혹은 다른 상용 솔루션 사용하시는 것 같은데, Kasten은 나름 장점이 있는 솔루션 같습니다. 라이선스는 커뮤니티 에디션이 있어 무료로 사용도 가능합니다. Enterprise 라이선스 구매하는 경우 저희가 파트너라 기술 지원이 가능합니다. 참고로 Kasten 구매하시면 저희가 Kube 교육도 가능합니다. ^^ https://jerryljh.tistory.com/12 00. Kube 교육 - 개요 및 목차 Why Kube 교육 제가 생각하기에 기업 환경의 Kubernetes 도입의 핵심은 내재화 입니다. 기존 상용 Solution 혹은 SI Pro..

Kube Project 수행 시 필요한 Tool Set List

지난 번 모 고객사 Kube 교육 중 문의하셔서 실제 Kube PJT 진행 시 필요한 업무를 Skill Set과 함께 순서대로 나열해 보았습니다. 제가 현재 사용 중인 Tool Set List라 빠진 부분이 많겠지만 참고 용도로 보시면 될 것 같습니다. Kube 설치 : KubeSpray (or k3s) ~/.kube/config 수정을 통한 원격 클러스터 관리 : VSCode, WSL, Window Terminal 기본 Kube Scheduling 기능 검증 : Desired State Kube Tool 이용 : kubeps, kubens, kubectx Custom 컨테이너 이미지 Build : Docker, dockerfile Docker 이미지 Push 할 로컬 이미지 Registry 설정 및 이..

Diamanti 교육 - dctl, kubectl Tool 설치

WSL 설치 : https://docs.microsoft.com/ko-kr/windows/wsl/install-win10 Diamanti Admin GUI Page 접속 211.56.67.94 (IP 및 user/passwd 개별 문의) 화면 우측 상단 책 모양 클릭 kubectl, dctl Tool 다운로드 Linux 64-bit Download down 받은 kubectl, dctl 파일 WSL User PATH 파일 경로(/usr/local/bin/) Copy Window Download 디렉토리 이동 [spkr@erdia22 Downloads (spkcluster:default)]$ cd /mnt/c/Users/erdia/Downloads/diamanti-tools-linux-amd64/ [spk..

25. Kube 교육 - 중간 점검

Q.1 원격 클러스터 관리 172.16.236.33 서버에 접속하셔서 Root 계정으로 변경 후 /root/.kube/config 파일을 자신의 $HOME/.kube/config 파일로 복사하여 테스트 환경의 API-Server와 통신을 가능하도록 합니다. (기존 k3s api-server와 통신을 하기 위해 신규 config 파일의 이름을 변경합니다.) Q2. Namespace 생성 테스트 환경의 K8s와 API-Server 통신이 완료되면 테스트 환경의 클러스터 자신의 이니셜로 네임스페이스를 생성합니다. Output 2. Q3. Deployment 배포 자신의 이니셜로 네임스페이스를 완성하셨으면 Create 명령어를 사용하셔서 자신의 이니셜 네임스페이스에 nginx 1.20 버전의 이미지를 사용한 n..

24. Kube 교육 - Traefik Ingress L7 스위치

실습 Traefik 설치 Traefik 공인 인증서 변경, 복수 Port 설정 등 기능 검증 Why traefik ingress? MetalLB LoadBalancer는 순수 L4 기능만 필요한 경우 사용하고 TLS 인증서, 도메인 또는 Path 기반의 추가 L7 부가 기능이 필요한 경우 Ingress Controller를 사용해야 합니다. Kubernetes Ingress Controller로는 잘 알려진 NGINX, HAPROXY 등이 있습니다. 그 중 저는 Traefik을 사용합니다. NGINX가 점유율은 가장 높고 저희도 일부 실 서비스에도 사용 중이지만 NGINX Ingress Controller는 경험 상 POD가 재시작되면 hang이 걸리는 등 사소한 문제가 있었습니다. F5가 NGINX 인..

23. Kube 교육 - Polaris(보안 취약점 확인)

실습 Polaris 설치 Polaris 통한 보안 취약점 확인 및 취약점 개선(Redis Helm Chart) Why Polaris 직접 작성한 Kube YAML 파일 또는 Helm Chart를 이용하여 현재 클러스터에 적용된 YAML 파일이 보안 또는 고가용성 측면에서 최적화된 구성이 맞는지 궁금합니다. 물론, 사람들이 많이 사용하는 공식 Helm Chart는 아무래도 더 믿음(?)이 가기도 합니다. Polaris는 보안 및 고가용성을 고려한 자체 체크 리스트 DB를 가지고 있어 현재 실행 중인 Kube Object를 Best-Practice 기준으로 검사합니다. 그리고 그 결과를 웹화면에서 대쉬보드 형태로 제공합니다. 운영자는 해당 권고 사항에 따라 적절히 수정하시면 됩니다. Polaris : Bes..

22. Kube 교육 - HA 및 부하 테스트

실습 Demo 사이트 POD, Node 다운 시 서비스 이상 여부 검증 K6, Vegeta Tool 이용한 부하 테스트 Why HA & 부하 테스트? 현재 저희 고객사 시스템은 서비스 오픈 전 1~2일 정도 개발자 포함 운영자 분들이 모여서 HA 및 부하 테스트를 진행 합니다. 물리 노드 네트워크 케이블도 뽑아 보고 디스크도 뽑아 보면서 운영 상황에 발생 할 수 있는 여러 장애 상황을 미리 검증을 합니다. 물론 결과는 예상과 다르게 다양한 장애 상황이 발생 합니다. 분명히 POD, Node 이중화 되도록 잘 설계하고 적용하였는데 특정 POD는 안 넘어가던지 넘어가는 시간이 예상 시간 보다 훨씬 더 소요되는지 등 다양한 상황이 발생 합니다. 노드의 Local Disk를 사용해서 수동으로 PVC를 삭제해야 ..