전체 글 122

Kubernetes PVC Replication

PVC Replication 테스트 내역 공유합니다. 테스트 내역 PVC Replication POD 재기동 후 원본이 아닌 복제된 PVC로 마운트 Redis Application 이상 및 동일 데이터 유무 확인 Why Kube Volume Replication Kubevirt 환경에서 동일한 윈도우 이미지를 여러 사람이 사용하려면(예를 들어, 동일한 보안 설정이 적용된 Golden 이미지) 현재 사용 중인 PVC 볼륨을 복제해야 한다. Kube는 Volume Snapshot을 이용해서 PVC 복제가 가능하다. 하지만 Snapshot을 지원하지 않는 Storage Class도 있다. 이 경우에 PVC 복제 기능을 사용하면 된다. PVC Replication 참조 https://kubernetes.io/k..

Diamanti 특별 프로모션

안녕하세요 SPK 이정훈입니다. Diamanti 특별 프로모션 정보 공유 드립니다. Why Diamanti . H/W + S/W Full Stack Kubernetes 전용 Appliance : CNCF 공식 인증 Kubernetes Platform : 자체 CNI/CSI + OS/Container Run Time/Prometheus/Helm/Harbor/GitLab 등 포함 . 강력한 성능의 노드 당 POD 집적도 향상을 통한 TCO 절감 : NVMe, SR-IOV 기반의 스토리지/네트워크 가속화 카드 장착 : 기존 VM HCI 대비 노드 당 3배 이상 MariaDB POD 집적도 향상(고객 사 실 운영 사례) . Full Stack Kubernetes Support 및 적극적인 기술 내재화 지원 : ..

02. kube 실습 과제 - kubectl 환경 최적화 및 kube tool 설치

실습 과제 kubectl 환경 최적화 : 자동 완성, Alias 설정 kubectl tool 설치 : kubeps, kubekrew, kubectx, kubens 시간이 가장 소중한 자원이라 엔지니어는 항상 시간을 줄일 수 있는 도구를 찾아야 한다고 생각합니다. 아마 우리가 하는 일의 대부분은 예전에도 하였고 다음에도 할 일입니다. (니체의 영원회귀는 언제나 맞는 말입니다.) 귀챠니즘이 가장 큰 적인데 매번 작업 시 다음에 어떻게 더 빠르게 할 수 있을까 생각하며 조금이라도 더 생각하는 게 퇴근 시간을 앞당길 수 있는 길이라 생각합니다. Kubectl 환경 최적화 - 자동 완성 및 Alias 설정 관련 링크 : https://kubernetes.io/ko/docs/tasks/tools/included/o..

01. Kube 실습 과제 - Kubespray 이용 Kube Cluster 설치

Kube 실습 과제 WSL, Window Terminal, Visual Studio Code 설치 Kubespray 이용 Kubernetes Cluster 설치(1 or 3 node) : crio, metallb 사용 조건 Kubectl 설치 및 Remote Kube Cluster 관리를 위한 Local PC 환경 세팅 Kube Cluster의 물리 노드 정보 및 전체 POD 정보 확인 Why WSL, Window Terminal, Visual Studio Code Kube 작업을 하면 반복되는 일들이 많습니다. Cluster도 여러 번 지웠다 만들었다 하고, POD도 이름만 달리해서 NGINX, HTTPD 등 설치하구요. 이러한 반복 작업을 빠르게 하려면 Tool이 필요합니다. 흔히 개발자 분들이 개발..

Kube snapshot scheduler

오늘은 kube 환경에서 snapshot 생성을 정해진 시간에 실행하고 보관 주기(retention) 설정이 가능한 snapshotscheduler kube tool 소개해 드립니다. 많은 Kube 툴들이 그렇지만, 이 툴도 설치에서 사용까지 5분 정도면 가능합니다. 빠르게 검증해서 사용하기 유용합니다. Test 내역 Kube Snapshot Schedule 설정 : 매 6시간 마다 snapshot 생성 및 4 Copy 보관(최대 24H 보관) : 매일 새벽 3시 snapshot 생성 및 7 Copy 보관(7일 보관) snapshot 복구 검증 snapshot 사용 용량 확인은 실패 (^^) snapshot을 사용하기 위해서는 kube 환경의 snapshot을 지원하는 (당연하지만) storage가 있어..

[kubectl df-pv] Kube PV 사용량 확인 Tool

오늘도 얇디 얇은 ^^ Kube Tool 관련 정보 공유 합니다. Kube PV가 실제로 사용하는(allocate, PVC 할당량이 아니라) Disk 사용량을 확인하려면 개별 POD 접속해서 일일이 df 명령어로 확인 해야 합니다. 하지만 kubectl df-pv Tool 사용하시면 빠르게 확인 가능합니다. 사용법 공유 합니다. Test 내역 kubectl df-pv 설치 전체 Namespace 및 개별 Namespace 단위 PV Disk 사용량 확인 (--help 옵션 리스트) 그럼 설치부터 해 보겠습니다. 설치는 kube krew 사용하여 아주 간단합니다. (사전에 kubectl krew 설치가 필요합니다.) kubectl krew 설치는 아래 링크 참고 부탁 드립니다. https://github...

Kubernetes Snapshot 백업/복구

Kube 환경에서도 기존 storage 벤더에서 제공하는 snapshot 기능을 사용 가능합니다. kube 환경답게 snapshot도 manifest YAML 파일 형태를 사용합니다. 그럼, 테스트 내역 공유합니다. Test 내역 snapshot 지원 storage class 확인 snapshot 생성 snapshot 통한 application pvc 복구(mysql) 흥미로운건 DB 임에도 불구하고 db dump 등의 추가 작업을 하지 않았는데 snapshot으로 복구한 pvc로 정상적으로 DB가 기동된다는 것입니다. (제가 DB에 대하여 잘 몰라서 그런 것 같은데) DB도 파일 시스템에 정상적으로 write만 된 파일만 있으면 정상적으로 복구되는 게 신기 하였습니다. 먼저, snapshot을 사용하기..

Kasten - Grafana 및 EKS MySQL 서비스 복구 검증

Kubernetes Backup Solution, Kasten을 이용하여 Kube Application 복구 테스트 내역을 공유해 드립니다. 백업/복구 케이스 사례 사용자 실수 등으로 Grafana 대시보드 삭제 시 이전 시점 복구 시스템 이상 등으로 인한 Local Kube Cluster pvc, pod 삭제 시 복구 : 원격 public 클라우드(EKS) 복구 검증 각 상황 별 백업 및 복구 시간 그리고 원격지 DR 센터 운영을 위한 S3 및 EKS/VM 비용, 예상 RTO/RPO 내용까지 같이 포함 하였습니다. Kasten 설치, 설정 등의 자세한 사항은 이전 포스팅을 참조 바랍니다. Grafana 대시보드 복구 먼저 대시보드 삭제 전 현재 시점 기준으로 백업을 실행 합니다. Policy - mon..

Diamanti - NVMe over Ethernet PVC

오늘은 디아만티의 2가지 핵심 기능(SR-IOV, NVMe) 중 NVMe PVC를 소개해 드리 겠습니다. 디아만티는 별도 외장 스토리지를 사용하지 않고 Local NVMe Disk를 Kubernetes Storage Class로 사용합니다. Native 환경에서 Kube Storage를 구성하시려면 별도 상용 스토리지(NVMe 스토리지는 아주 고가 입니다.)를 구입 하시던지 혹은 OpenSource Storage를 사용하셔야 합니다. Local 서버에 장착된 NVMe Disk는 디아만티에서 자체 개발한 NVMe Storage Controller 카드(PCIe Type)에 연결됩니다. 외부 분산 환경 네트워크 스토리지가 아니라 로컬 디스크를 사용하므로 노드 당 1M IOPS 및 under 100 us la..

Diamanti 핵심 기능 - SR-IOV

디아만티 2가지 핵심 기능(SR-IOV, Local NVMe Disk) 중 첫번째 Network SR-IOV 기능을 소개해 드리겠습니다. 쿠버네티스 환경에서 네트워크를 구성하려면 3rd party CNI(Container Network Interface) 솔루션 (Calico, Flannel 등)을 사용합니다. 모든 CNI는 기본적으로 아래와 같이 호스트 서버의 물리 NIC를 컨테이너 NIC로 iptables, network namespace 등의 기능을 통하여 매핑하는 구조입니다. 이런 경우 중간 단계에서 NAT를 사용해야 하며 그 과정에서 성능이 저하합니다. 그리고 추상화 과정이 필요하므로 네트워크에 익숙하지 않은 개발자 및 운영자 분들은 이해하기가 쉽지 않습니다. 무엇보다 문제가 발생할 경우 Tro..