Kubernetes 10

HPC 환경에서 SLRUM -> K8S 마이그레이션 연구

[기존]slurm 이라는 오픈소스를 활용하여 HPC job을 스케줄링.(시뮬레이션, 검증, DFT 등의 작업을 수행할 때 수억 개의 트랜지스터, 게이트, 배선, 테스트 패턴 등을 메모리에 로드해야함, 대부분의 EDA툴이 대량의 데이터를 캐싱 및 실시간 연산 수행 - 리소스 사용량이 엄청남 -> 베어메탈 서버에 메모리 4TB씩 꼽고 사용중..)문제점: Priority에 따른 scheduling 로직 고도화 및 세부 job 상태 monitoring을 위한 TaskManager 모듈 추가구현.이에 따라 관리 point가 TM, Slurm 두군데가 되어버림. 이를 k8s 전환을 통해 하나의 아키텍처에서 관리 목표 (k8s crd 활용)베어메탈 vs VM vs 컨테이너(K8S)방식장점단점반도체 EDA 환경에서 적..

Kubernetes 2025.02.14

Kubernetes - Istio

2021-09-16 Kubernetes Istio study Summary 연구실 server - master에 Istio 설치 Istio sample app, service 배포 Istio dashboard 관찰 Istio 는 Application network 기능을 유연하고 쉽게 자동화 할 수 있는 networking layer의 service mesh 이다. 서비스 메쉬를 구현할 수 있는 오픈소스. 주요 특징 트래픽 관리 보안 모니터링 Istio 설치 Istio download curl -L https://istio.io/downloadIstio | sh - Move to Istio package dir, path 추가 cd istio-1.11.2 export PATH=$PWD/bin:$PATHI..

Kubernetes 2022.06.03

Minikube 실습

2021-04-30 우분투 VM 생성, Minikube 설치하고 deployment, service 배포 Summary 나의 local 환경에서 VirtualBox 에 ubuntu 이미지로 VM을 생성하고, 해당 VM에 docker와 minikube(worker, master가 통합되어 제공되는 교육용 kubernetes) 를 설치한 후, nginx web server를 돌리는 pod를 생성, 및 배포하도록 deployment 와 service 에 대한 yaml 파일을 작성해본다. 특히, 해당 nginx 웹 서버를 외부에서 접근 가능하도록 service의 NodePort 를 이용한다. VM생성 VirtualBox 에서 ubuntu18.04 version으로 VM을 생성하였음. 쉬우니까 이 과정은 생략한다..

Kubernetes 2022.06.03

Kubernetes Quiz(2)

2021-04-13 Container 기초개념 기존 Hypervisor 가상화 vs Docker & Container 가상화 기존 방식은 HostOS 위에 GuestOS를 생성하고 그 위에서 돌기 때문에 너무 무거움. 반면 Container를 사용하면 단일 Host OS에서 여러개의 process가 각각 독립된 공간으로 인식하고 돌기 때문에 가볍고 빠르다. 격리 기술 -> namespace 와 Cgroup namespace - 사용되는 다양한 변수 등의 name들을 분리해서 각 group이 독자적으로 사용하게 함. (A group B group 이 서로 분리되게 하여 같은 이름(process 1, process 2...)을 사용하더라도 논리적으로 분리돼서 괜찮음.) cgroup - process grou..

Kubernetes 2022.06.03

Kubernetes 실습(4)

2021-04-12 Prometheus 설치, Query 및 Grafana dashboard 연동 Summary Prometheus 설치 Prometheus Query Grafana 연동 Grafana Dashboard 생성 Prometheus 설치 Prometheus 는 OpenSource 기반 Monitoring system으로, Kubernetes node들의 상태를 monitoring 한다. (master node에서 동작.) 간단한 text 형식으로 Metric을 쉽게 노출하고, Grafana 같은 대시보드 시스템에서 graph로 표시 가능하다. PromQL Query Language를 사용한다. 설치 전 먼저 kubectl get nodes로 쿠버네티스 클러스터 상태가 정상인지 확인한다. !참..

Kubernetes 2022.06.02

OpenStack 실습(1)

2021-04-01 Horizon Dashboard를 이용한 instace 생성 및 network 구축. Summary Horizon Dashboard (web server) 를 이용한 Instance 생성. Private network, Router 생성으로 VM instance 간 통신. 실습 1. 동일 Private network 상에서 VM Instance 생성과 통신. Private network 구축. Instance 생성 전에, 먼저 private network를 구축해 주자. 'Network' 탭의 '네트워크' 로 들어가서 '네트워크 생성'을 클릭. network 이름은 private-1으로 하고, subnet과 subnet 세부 정보를 다음과 같..

Kubernetes 2022.06.02

Kubernetes 실습(3)

2021-03-18 DockerHub Image Push & Pull Summary DockerHub로 image를 push 하고, 다른 node에서 image를 pull해봄. DockerHub를 이용하여 Kubernetes Cluster에 POD 생성. Kubernetes Cluster에 POD, Deployment, Service 생성 및 배포 DockerHub 에 image Push, Pull PUSH: (push 작업은 저번에 time 이미지를 만들었던 worker node에서 작업한다.) DockerHub 로그인 docker login docker image tag 걸기 docker tag [이미지명] [DockerHub ID]/[repository명]:[tag명] repository명은 Doc..

Kubernetes 2022.06.02

Kubernetes 실습(2)

2021-03-18 Docker Image 생성 및 배포과정 실습 Summary Docker에서 Dockerfile 을 이용해 Container image를 생성하고 어떻게 배포하는지 과정을 살펴본다. Docker Image 란? service 운영에 필요한 server program, source code 및 library, compile된 실행 파일을 묶는 형태, 특정 process를 실행하기 위한 모든 file과 설정값을 지닌 것. 하나의 image는 여러 container를 생성할 수 있고, Container 삭제 시에도 이미지는 남아있음. docker image 들은 github와 유사한 DockerHub를 통해 형상관리 및 배포가 가능함. Image 생성 시, Dockerfile 이라는 파일로..

Kubernetes 2022.06.02

Kubernetes 실습(1) - Ubuntu

2021-03-11 Docker & Kubernetes 배경지식 및 학습 환경 setting (Ubuntu) Summary 3.11 을 기점으로 4월 중순까지 주1회 Kubernetes 실습을 진행한다. 이번 주차에는 간단히 Cgroup과 Docker에 대해 알아보고 Kubernetes 실습을 위한 환경을 구성해 본다. Cgroup(Control Group) process들의 자원 사용을 제한하고 격리시키는 Linux kernel의 기능이다. Docker & Container Docker & Container는 이 위에서 동작하는 단일 Linux Kernel을 사용하는 제어 Host가, 다수의 분리된 Linux system 을 동작시키기 위한 가상화 기법이다. Docker는 Linux 응용 program..

Kubernetes 2022.06.02

Kubernetes 실습(1)

2021-03-11 Docker & Kubernetes 배경지식 학습 및 환경 setting Summary 3.11 을 기점으로 4월 중순까지 주1회 Kubernetes 실습을 진행한다. 이번 주차에는 간단히 Cgroup과 Docker에 대해 알아보고 Kubernetes 실습을 위한 환경을 구성해 본다. Cgroup(Control Group) process들의 자원 사용을 제한하고 격리시키는 Linux kernel의 기능이다. Docker & Container Docker & Container는 이 위에서 동작하는 단일 Linux Kernel을 사용하는 제어 Host가, 다수의 분리된 Linux system 을 동작시키기 위한 가상화 기법이다. Docker는 Linux 응용 program들을 contai..

Kubernetes 2022.06.02