전체 글

🎆 Cloud Practice/🧪 Docker, K8s, IaC

쿠버네티스의 Deployment, Namespace, Service에 대해 알아보자

이론 Deployment 배포를 위한 오브젝트 Namespace 격리된 환경을 제공하는 오브젝트 Service 오브젝트들을 외부에 "서비스"하기 위한 오브젝트 = public nodePort: 실제 서버외부에 노출되는 노드들의 포트이다. 30000~32765 까지의 포트가 사용 가능하다. port: (서비스) 포트를 말한다. 서비스는 작은 로드밸런서라고 생각하면 좋다. IP와 port가 존재한다. targetPort: pod의 포트이다. 실습 # $ apt-get install bash-completion $ echo 'source

🎆 Cloud Practice/🧪 Docker, K8s, IaC

쿠버네티스 클러스터를 구축해보자 (온프레미스, kubeadm, v1.24)

이론 쿠버네티스(Kubernetes, k8s) = 컨테이너 오케스트레이션을 위한 오픈 소스 플랫폼이다. CNCF(클라우드 네이티브 컴퓨팅 파운데이션)에서 공식적으로 인증된 컨테이너 오케스트레이션 표준이다. Cloud Native = 클라우드 컴퓨팅을 고려한 환경. 쿠버네티스 로컬(On-premise) 클러스터 구성 (with docker) CNI = Container Network Interface. 각 노드를 연결하고 각 리소스들의 네트워크를 처리할 플러그인이다. (ex. 오버레이 네트워크 및 파드에 아이피 할당하는 역할) 칼리코, 플란넬, 위브넷 등… 쿠버네티스 구성 실습 https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/cr..

🍀 Cloud Architect/DevOps

Azure ACI 배포하기 (with. Docker)

0. Docker Config docker test를 하기 위해 docker 환경 설정을 해준다. 나는 VMware Workstation에서 환경설정을 진행했다. 1. VM에서 환경 구성 (ubuntu-20.04 live server) 2. Docker 다운로드 #docker 설치 스크립트 다운로드 $ curl -fsSL https://get.docker.com -o get-docker.sh # 스크립트 실행 $ sh get-docker.sh # 스크립트 실행 $ chmod 777 get-docker.sh $ ./get-docker.sh 3. Docker 실행 $ systemctl enable --now docker $ systemctl status docker | grep -i active # dock..

🍀 Cloud Architect/DevOps

GitOps 설정 (Github Action Workflow, Branch Protect)

1. Workflow Create FastAPI App # src/main.py # pip install uvicorn # pip install "fastapi[all]" # uvicorn src.main:app from fastapi import FastAPI app = FastAPI( title="FastAPI - Hello World code", description="This is the Hello World of FastAPI.", version="1.0.0", ) @app.get("/") def hello_world(): return {"Hello": "World"} # tests/test_main.py import pytest from fastapi.testclient import TestC..

🍀 Cloud Architect/DevOps

프로젝트 소개 & DevOps/GitOps란?

목표 GitOps를 구현해보자! DevOps란? https://aws.amazon.com/ko/devops/what-is-devops/ 나는 DevOps의 정의를 알아보기 위해 AWS 공식 사이트에 들어가보았다. DevOps는 애플리케이션과 서비스를 “빠른 속도”로 제공할 수 있도록 조직의 역량을 향상시키는 문화 철학, 방식 및 도구의 조합이다. 소프트웨어 기능, 개선 요청 또는 버그 수정 등 하나의 아이디어가 개발에서 배포에 이르는 프로세스의 속도를 높임으로써 더 빨리 프로덕션 환경에 전달될 수 있다. 즉, "빠른 속도"로 사용자에게 서비스를 제공할 수 있도록 Delivery Pipeline을 구축하는 것이 DevOps라고 이해하였다. GitOps란? 깃옵스는 프로젝트에 DevOps를 적용하기 위한 여..

🎆 Cloud Practice/🧪 On-Premise

VPN 서버를 만들어보자

이론 VPN (Virtual Private Network) VPC(Virtual Private Network - 가상 사설망)은 네트워크와 네트워크 혹은 사용자와 네트워크간에 암호화된 암호화된 네트워크 연결을 생성하는 기술이다. VPN은 인터넷 상에 암호화된 터널을 만들기 때문에, 안전한 데이터 통신이 가능하다. VPN은 크게 두 가지 타입이 있다. Site-To-Site VPN : 두 개의 네트워크를 VPN 장치를 이용해서 연결한다. 네트워크 단위에서 직접 연결이 되기 때문에, 사용자는 PC에 VPN 클라이언트등을 설치할 필요 없이 다른 네트워크에 접근할 수 있다. 온-프레미스 데이터 센터를 클라우드에 연결하기 위해서 혹은 회사 네트워크를 클라우드나 온-프레미스 데이터 센터에 연결하기 위해서 사용한다...

🎆 Cloud Practice/🧪 On-Premise

Port Forwarding(DNAT), Zone 기반 방화벽 설정을 해보자

이론 DMZ 내부 네트워크에 존재하지만 외부에서 접근할 수 있는 특수한 네트워크 영역을 말한다. Inbound vs Outbound Stateful vs Stateless 방화벽 Stateful 방화벽은 패킷을 허용하거나 거부하는 결정을 내리기 전에 패킷이 허용된 연결 상태와 일치하는지 확인한다. Stateless 방화벽은 단순한 패킷 필터링을 수행하며, 패킷이 네트워크 규칙을 준수하는지 확인한다. 실습 VyOS, DMZ 실습 VyOS 설정 set : 설정 delete : 삭제 ex) nat 설정 전체를 삭제하고 싶다 => delete nat ex) dnat 설정 전체를 삭제하고 싶다 => delete nat destination ex) rule 2222 dnat 설정을 지우고 싶다 => delete n..

나리 집사
클라우드 개발 일지