Devops
6 posts
Devops
K8S
Proxmox
June 20, 2024
쿠버네티스 온프레미스에 설치하기(with Proxmox)

쿠버네티스 온프레미스에 설치하기(with Proxmox) 쿠버네티스 클러스터를 직접 구성하는 도구 kubeadm 쿠버네티스에서 공식 제공하는 클러스터 생성/관리 도구 kubespray 쿠버네티스 클러스터를 배포하는 오픈소스 프로젝트 다양한 형식으로 쿠버네티스 클러스터 구성가능 온프레미스에서 상용 서비스 클러스터 운영시 유용 다양한 CNI 제공 CNI(Container Network Interface) Container간 통신을 지원하는 VxLAN, Pod Network라고도 부름 다양한 종류의 플러그인이 존재 flannel, calico, weavenet 등이 있다. 본 포스팅에서는 weavenet 샤용 💡CNI란? CNCF(Cloud Native Computing Foundation)의 프로젝트 중 하나인 는 컨테이너 간의 네트워킹을 제어할 수 있는 플러그인을 만들기 위한 표준이다. 다양한 형태의 컨테이너 런타임과 오케스트레이터 사이의 네트워크 계층을 구현하는 방식이 다양하게 …

Devops
December 16, 2023
클라우드 컴퓨팅

클라우드 컴퓨팅 : IaaS, PaaS, SaaS 클라우드 컴퓨팅은 인터넷을 통해 컴퓨팅 리소스와 서비스를 제공하고 액세스하는 모델로, 필요에 따라 확장 가능하며 관리 및 유지보수의 부담을 줄여주는 기술이다. 이러한 클라우드 컴퓨팅 모델에는 주로 IaaS(Infrastructure as a Service), PaaS(Platform as a Service), 그리고 SaaS(Software as a Service)가 있으며, 각각이 사용자에게 제공하는 서비스 수준과 책임 범위가 다르게 구성되어 있다. IaaS 🛠 물리적 자원 제공 : 자유도가 가장 높다 IaaS는 고객에게 서버, 네트워크, OS, 스토리지를 가상화하여 제공하고 관리한다. IaaS는 가상화된 물리적인 자산을 UI 형태의 대시보드 또는 API로 제공한다. IaaS의 고객들은 서버와 스토리지를 접근할 수 있지만 사실상 클라우드에 있는 가상 데이터 센터를 통해 리소스를 전달받는 형태이다. IaaS는 기존의 데이터센터에서…

Devops
K8S
December 16, 2023
쿠버네티스

쿠버네티스 쿠버네티스란? 컨테이너는 애플리케이션을 포장하고 실행하는 좋은 방법이다. 프로덕션 환경에서는 애플리케이션을 실행하는 컨테이너를 관리하고 가동 중지 시간이 없는지 확인해야 한다. 예를 들어 컨테이너가 다운되면 다른 컨테이너를 다시 시작해야 한다. 이 문제를 시스템에 의해 처리한다면 더 쉽지 않을까? 그것이 쿠버네티스가 필요한 이유이다! 쿠버네티스는 분산 시스템을 탄력적으로 실행하기 위한 프레임 워크를 제공한다. 애플리케이션의 확장과 장애 조치를 처리하고, 배포 패턴 등을 제공한다. 예를 들어, 쿠버네티스는 시스템의 카나리아 배포를 쉽게 관리할 수 있다. 쿠버네티스는 다음을 제공한다. 서비스 디스커버리와 로드 밸런싱: 쿠버네티스는 DNS 이름을 사용하거나 자체 IP 주소를 사용하여 컨테이너를 노출할 수 있다. 컨테이너에 대한 트래픽이 많으면, 쿠버네티스는 네트워크 트래픽을 로드밸런싱하고 배포하여 배포가 안정적으로 이루어질 수 있다. 스토리지 오케스트레이션: 쿠버네티스를 사…

Devops
Docker
December 15, 2023
도커 기본 사용법

Docker 도커는 “컨테이너”이다. 컨테이너는 애플리케이션을 실행하기 위한 독립적이고 가벼운 환경을 제공하는 기술이다. 여기에는 여러 가지 구성 요소와 자원이 포함되어 있어, 애플리케이션이 이동성 있게 실행되고 개발 및 배포가 편리하게 이루어진다. 컨테이너는 가상화 기술의 한 형태로, 여러 애플리케이션을 동일한 호스트 시스템에서 격리된 환경에서 실행할 수 있도록 해준다. 컨테이너의 주요 개념과 특징 이식성(Portability): 컨테이너는 애플리케이션 및 모든 종속성을 포함하므로 어디서든 동일한 환경에서 실행될 수 있습니다. 이식성은 개발에서 운영 환경으로, 또는 클라우드 간에 애플리케이션을 쉽게 이동시킬 수 있음을 의미한다. 격리(Isolation): 컨테이너는 호스트 시스템에서 격리된 고립된 환경을 제공한다. 각 컨테이너는 자체 파일 시스템, 네트워크, 프로세스 공간을 가지며 다른 컨테이너와 독립적으로 실행된다. 가볍고 빠른 시작: 가상 머신과 비교해 컨테이너는 더 가볍고 …

Devops
December 15, 2023
CI/CD 단계별 도구

CI/CD 단계별 도구 지속적 통합 (Continuous Integration, CI) 및 지속적인 배포 (Continuous Deployment, CD)는 소프트웨어 개발과 배포를 효율적으로 관리하기 위한 핵심적인 DevOps 원칙이다. 이를 위해 다양한 도구들이 사용되며, 각 단계에서 어떤 도구들이 효과적으로 활용될 수 있는지 알아보자. 1. 지속적 통합 (CI) 주요 목표 코드 변경을 지속적으로 통합하여 품질 확보 자동화된 빌드 및 테스트 수행 주요 도구 1.1 Jenkins 개방형 소스 CI/CD 도구 다양한 플러그인 지원 확장성과 유연성이 뛰어남 1.2 Travis CI 클라우드 기반 CI 도구 깃허브와의 통합 용이 빠른 설정 및 실행 가능 1.3 GitLab CI/CD GitLab 내에서 제공하는 통합 CI/CD 기능 코드 저장소와 강력한 통합 Docker 이미지 레지스트리 지원 2. 지속적 배포 (CD) 주요 목표 자동화된 프로세스로 안정적인 배포 수행 환경에 따…

Devops
December 15, 2023
DevOps란?

DevOps 개요 DevOps는 Development Operations의 약어로, 소프트웨어 개발과 운영을 통합하여 효율성, 협력, 속도, 안정성을 개선하는 개발 및 운영 방법론이다. 주요 특징 소프트웨어 개발과 운영팀 간의 협력과 커뮤니케이션 강화 전체 생명주기 관리: 개발, 배포, 운영, 모니터링 고객 만족과 가치 제공을 핵심 가치로 함 핵심 가치 고객 만족과 가치 제공 협업과 효율성 강화 릴리즈 주기 단축 및 문제 신속 대응 DevOps 방법론 방법론 스크럼, 칸반, 애자일 등의 방법론 적용 협업과 효율성 향상 DevOps 툴체인 계획, 코딩, 구축, 테스트, 배포, 운영, 모니터링 단계에서 다양한 툴 활용 Jira, GitHub, Docker, Jenkins 등 DevOps 이점 비즈니스 및 기술적 이점 빠른 제품 제공 빠른 문제 해결 및 복잡성 감소 확장성 및 가용성 향상 안정적인 운영 환경 리소스 활용률 향상 자동화 향상 시스템 결과 가시성 개선 혁신 촉진 DevOp…