본문 바로가기

시스템

[Part4] [3] Kubernetes Manifest 작성을 위한 Helm 활용 1. Kubernetes Manifest 작성 방법 소개: deployment.yaml 는 쿠버네티스 클러스터에 배포를 주문하는 명세라고 할 수 있다.Object 생성/업데이트 명령어 $ kubectl apply -f {Manifest 파일}Object의 생성/업데이트 비교 명령어 (Dry run) $ kubectl diff -f {Manifest 파일} Manifest기반으로 생성된 Object 생성/업데이트 현황 출력 명령어 $ kubectl get -f {Manifest 파일} -o yaml  - apply 말고 replace로 적용하는 방법이 존재하고 kubectl.kubernetes.io/last-applied-configuration 에서 확인 가능함- kubectl create로 생성하면 보.. 더보기
Part2. Docker 활용 Artifact 관리를 위한 Nexus 활용- Artifact 관리를 위한 Nexus 활용 소개: 사내 망에 별도의 리포지토리를 구축하기 위함(1) 보안의 이유(2) 라이브러리 버전 관리 용이 - meta 데이터 기반으로 라이브러리 정보와 버전 관리(3) 공유와 협업 관리 레포지토리의 종류  - Nexus 설치 및 AWS S3 연결 Nexus 설치 및 AWS S3 연결 - Nexus 설치 및 관리 계정 생성 - AWS S3 연결 Blob Store 및 Repository 생성사전 준비사항 - Nexus 서버용 AWS EC2 1개 VM 생성 및 접근 허용     - Instance Type : t3.medium (2Core/4GB Mem/30GB EBS)     - Security Group Inbound.. 더보기
[Part4] [1] Terraform을 활용한 AWS EKS 생성 1. Terraform을 활용한 AWS EKS 생성 소개- Terraform은 Infrastructure as Code(IaC)를 위한 도구입니다.- AWS EKS는 Kubernetes와 완전히 호환되어 쉬운 마이그레이션을 가능하게 합니다. 2. 실습 환경 구성을 위한 AWS 네트워크 및 EKS 설계- VPC 생성 (Secondary CIDR 포함)- Subnet 및 Internet Gateway 생성- Route Table 생성- EKS Cluster 생성- EKS Node Group 생성- POD (Container) 배포 - VPC는 기본적으로 하나가 생성되어 있다.- 두개의 Public Subnet을 사용할 것이다. SubNet은 TAG를 필요로 한다. 클러스터간 통신을 위해서 TAG를 필요로 한.. 더보기
Part4. 개발자를 위한 Kubernetes 활용 개발자를 위한 Kubernetes 활용 파트 컨셉 1. 클라우드 인프라 기반 컨테이너 플랫폼 환경 설계 및 구축 수행 2. 컨테이너 플랫폼 기반 개발 환경 구성 3. 컨테이너 플랫폼의 안정적인 운영 방안 마련   개발자를 위한 Kubernetes 활용 파트 구성 0. 개발자를 위한 Kubernetes 활용 소개 1. Terraform을 활용한 AWS EKS 생성 2. AWS EKS 기본 Plugin 구성 방법 3. Kubernetes Manifest 작성을 위한 Helm 활용 4. Kubernetes 배포를 위한 GitHub와 ArgoCD 활용 5. Kubernetes 안정성 강화 방법 6. Kubernetes Custom 관리 방법 7. Kubernetes 보안 강화 방법 8. Kubernetes 트러.. 더보기
RestAPI, FastAPI, Flask 차이 REST API정의: REST API는 특정 프레임워크가 아니라 웹 서비스를 설계하는 아키텍처 스타일입니다. REST(Representational State Transfer) 원칙을 따르는 API를 의미합니다.목적: 클라이언트와 서버 간의 통신을 위한 구조를 제공.특징:자원 기반 구조.HTTP 메서드(예: GET, POST, PUT, DELETE)를 사용하여 자원 조작.상태 무저장(stateless).URI를 통해 자원 식별.FastAPI정의: FastAPI는 Python으로 작성된 현대적인 고성능 웹 프레임워크입니다.목적: 빠르고 쉽게 RESTful API를 만들기 위해 설계됨.특징:고성능: Starlette과 Pydantic을 기반으로 하여 비동기 기능과 데이터 검증을 지원.자동화된 문서화: Swa.. 더보기
SELECT 기본 용법 ▣ 기본 문법 SELECT select_expr} [FROM table_references] [WHERE where_condition] [GROUP BY {col_name | expr | position}] [HAVING where_condition] [ORDER BY {col_name | expr | position}] [LIMIT {[offset,] row_count | row_count OFFSET offset}]; SELECT 열_이름 FROM 테이블_이름 WHERE 조건식 GROUP BY 열_이름 HAVING 조건식 ORDER BY 열_이름 LIMIT 숫자 예시) SELECT mem_name, addr FROM member WHERE addr IN('경기', '전남', '경남'); -- OR와 .. 더보기
원격 서버에 Jupyter NoteBook으로 접근하기 원격 리눅스 서버에 XRDP를 설치하면 '원격 GUI 접속'이 되지만, 잘 안되는 경우가 많다. 차선으로 생각할 수 있는 방법이 원격 서버에 Jupyter Notebook으로 접근하는 것이다. 1. 원격 서버에서 열어줄 포트 번호를 지정한다. - 아래 예시에서는 8890 포트로 들어오는 것은 Jupyter Notebook으로 연결하겠다는 것이다. # Replace with your selected port number jupyter notebook --no-browser --port= ex) jupyter notebook --no-browser --port=8890 --allow-root 2. 로컬 머신에서 SSH로 원격 서버에 접속한다. # Replace with the port number you s.. 더보기
Dockerfile로 부터 Container 생성 개요 Dockerfile은 텍스트 파일로서 이미지(image)를 빌드 할때 호출 할 수 있는 명령어(+인자) 목록을 담고 있다. 주요 명령어 주요 명령어로는 FROM, CMD, ENTRYPOINT, VOLUME, ENV이 있다. 예시) #Pull base image FROM ubuntu #Install Apache RUN apt-get update -y && apt-get install apache2 apache2-utils -y#Define default port EXPOSE 80 ENTRYPOINT [ "/usr/sbin/apache2ctl" ]#Define default command CMD [ "-D", "FOREGROUND" ] FROM : 도커 이미지 이름을 적는다 RUN : 사용할 디펜던시와.. 더보기