[ArgoCD] Helm-Charts를 통해 Harbor를 GitOps 방식으로 배포
·
공부/DevOps
개요폐쇄망 환경에서 작업하다보면 인터넷에 접근할 수 없기 때문에 당연하게 생각했던 서비스들을 사용하지 못 하는 경우가 있습니다. 특히, 개발을 하다보면 이미 누군가가 구현해놓은 라이브러리나 패키지들을 활용하게 되는데 이러한 것들을 인터넷을 통해 다운받을 수 없게 될 뿐만 아니라 개발 결과물을 저장하기도 어렵게 됩니다. 그래서 폐쇄망 환경에서는 다양한 open source를 활용하여 폐쇄망 내부에 이러한 저장소를 직접 구축해야 합니다. 그 중 대표적인 open source가 Nexus repository와 Harbor registry가 있습니다. 이번 포스팅에서는 이 중 Harbor registry저장소를 배포하기 위해 ArgoCd를 사용해보겠습니다. ArgoCD의 경우 이전 포스팅을 통해 배포할 수 있습..
[k8s] argoCD 배포 총 정리
·
공부/DevOps
ArgoCD란?오늘은 k8s를 통해 서비스를 운영할 때 자동 배포 도구로 많이 사용하는 ArgoCD를 사용해보려고 합니다. ArgoCD란 k8s를 위한 선언적 GitOps 지속적 배포 도구입니다. Git 저장소에 정의된 애플리케이션 상태를 그대로 반영하는 것이 ArgoCD입니다. 실행 중인 애플리케이션을 지속적으로 모니터링하고 현재 상태와 Git에 저장된 상태를 비교하며 상태를 동기화 합니다. ArgoCD의 아키텍처는 다음과 같습니다. 각 컴포넌트의 역할은 다음과 같습니다.ServerAPI Server 및 dashboardRepo ServerGit의 yaml 파일을 바탕으로 yaml manifest 생성Application Controllerk8s 리소스 모니터링 및 변경 사항 발생 시 Git의 내용을..
k8s HA architecture 구축
·
카테고리 없음
k8s HA Architecture이제 HA를 고려한 k8s architecture를 알아봅시다. HA를 위해 control plane node와 worker node를 다중화하고 Load Balancer를 통해 control plane과 worker 간 통신을 진행합니다. 보통 etcd의 위치에 따라 architecture 구조가 달라집니다. etcd가 각 control plane node 안에 존재한다면 stacked etcd topology이며 etcd cluster가 외부에 존재한다면 external etcd topology입니다. HA를 고려한 k8s cluster 구축저는 VM을 사용하여 다음과 같은 아키텍처를 구축해보려고 합니다. control plane node 3개worker node ..
Offline 환경에서 K8S 설치하는 법 (kubectl, kubelet, kubeadm)
·
카테고리 없음
개요폐쇄망 환경에서는 외부 인터넷에 접근할 수 없기 때문에 apt와 같은 패키지 관리자를 사용하여 패키지를 설치하기가 어렵습니다. proxy server라도 존재한다면 인터넷을 통해 패키지를 설치할 수 있지만 그렇지 못 한 상황 또한 존재합니다. 이번 포스팅에서는 다음과 같은 환경에서 k8s 관련된 파일들을 설치해보려고 합니다.인터넷에 접근할 수 없는 폐쇄망 환경이다.폐쇄망 환경에서 Linux 위에 k8s cluster 구축을 위한 파일들을 설치하려고 한다. 인터넷망 환경에서 Linux를 실행할 수 있다.인터넷망에서 폐쇄망으로 파일을 전송할 수 있다.proxy server가 존재하지 않는다.이번 포스팅에 앞서 k8s 구조에 대해 이해하고 오는 것을 추천합니다. 다음 개념을 이해하고 있으면 무엇을 설치해야..
VM으로 On-Premise 환경에서 k8s cluster 구축하기
·
카테고리 없음
개요On-Premise 환경에서 k8s cluster를 구축해보려고 합니다. container 기술 개념 정리k8s에 대해 이해하기 위해 먼저 container 기술에 대한 개념 정리를 하려고 합니다. container 기술이란?container 기술이란 가상화 기술의 한 종류로 guest OS를 사용하지 않기 때문에 가상 환경 생성 비용이 비교적 낮은 기술입니다. 가상화 기술에는 hosted OS형, 하이퍼바이저형, 컨테이너형이 있는데 각 기술의 차이점은 다음과 같습니다.Low-Level container runtime이란?저수준 container runtime은 Linux 기준으로 namespace와 cgroup와 같은 기능을 통해 container를 실행하는 기능만을 제공합니다. 여기서 namesp..
서버 가상화와 네트워크 가상화
·
카테고리 없음
개요본 포스팅은 그림으로 이해하는 가상화와 컨테이너 책을 읽고 정리한 내용입니다.https://product.kyobobook.co.kr/detail/S000200276975 그림으로 이해하는 가상화와 컨테이너 | 이가라시 타카유키 - 교보문고그림으로 이해하는 가상화와 컨테이너 | 쉽고 재미있게 시작하는 가상화와 컨테이너!가상화는 규모가 큰 시스템이나 서비스를 구성하는 데 없어서는 안 될 중요한 기술이다. 특히 가상화의 한product.kyobobook.co.kr 가상화 기술에 대해 알아봅시다.가상화란?가상화란 실체가 없는 것을 마치 존재하는 것처럼 보이게 하는 기술을 말합니다. 가상화 기술을 적용하면 하나의 물리 서버에서 여러 대의 가상 서버를 만들 수도 있고 여러 대의 물리 서버에서 하나의 가상 서버..