전체 글 28

Ansible - 1

Ansible Ansible이란? 다수의 서버를 효율적으로 관리하기 위해 사용되는 환경 구성 자동화 도구입니다. YAML 언어로 작성된 구성 파일을 사용하여 작업을 정의하고, SSH를 통해 원격 시스템에 명령을 전달하거나 API를 통해 다양한 시스템을 통합할 수 있습니다. 특징 Agent-less (에이전트리스) Ansible은 에이전트를 필요로하지 않습니다. 대상 시스템에 에이전트를 설치할 필요가 없어 구성이 간단하고 유지보수가 쉽습니다. SSH 또는 WinRM 사용하여 관리하는 호스트에 연결하고, Ansible 모듈을 이용하여 호스트에 Push됩니다. 대상 호스트에 Push된 모든 모듈은 Ansible에서 작업이 완료된 후 제거됩니다. Ansible Playbook (엔서블 플레이북) Ansible ..

카테고리 없음 2024.01.12

VCS(Version Control System)

VCS(Version Control System)란 버전관리시스템으로 파일 변경 사항을 시간에 따라 기록하고, 필요할 때 특정 버전을 다시 호출할 수 있는 시스템을 말한다. 파일이 누가, 언제, 어떻게 변경되었는지를 기록하며 소스 코드의 변경 사항 추적이 가능하다. VCS를 사용하면 파일을 이전 버전으로 쉽게 되돌릴 수 있고 여러 사람이 협업하는 경우 각자의 작업을 병합하는데 도움이 된다. VCS에는 Git, SVN, Mercurial 등이 존재한다. VCS는 크게 로컬 버전 관리 시스템, 중앙집중식 버전 관리 시스템, 분산 버전 관리 시스템으로 구분할 수 있다. 1. LVCS(Local Version Control Systems) 로컬 버전 관리 시스템(local VCS) 중의 하나로 파일 단위의 버전..

카테고리 없음 2023.11.06

Kubernetes Helm

Helm은 yum처럼 Kubernetes 패키지 매니저이다. Kubernetes는 많은 YAML 파일들을 관리하는데 helm에서 이런 YAML파일들의 집합을 Chart라 한다. 즉 Helm은 이러한 차트를 쉽게 관리하는 도구이다. Helm은 Kubernetes의 하위 프로젝트로 시작되었고 2018년 6월 CNCF 재단의 정식 프로젝트로 승격되었다. Helm은 차트를 만들어서 이를 차트압축파일(tgz)로 저장한다. 또한 차트들이 저장된 차트 저장소(chart repository)와 연계해서 Kubernetes 클러스터에 차트를 설치 삭제 그리고 설치된 차트들의 배포 주기를 관리할 수 있다. Helm을 이용하면 정리된 차트들을 이용해서 필요한 애플리케이션들을 빠르게 설치할 수 있다. Chart: Kubern..

카테고리 없음 2023.09.12

Kubernetes Network & DNS

Kubernetes Network는 크게 Container, Pod, Service로 구분할 수 있다. Container Runtime을 Docker로 가정했을때 네트워크 구조는 다음과 같다. (실제로는 Containerd) Single Node Pod Network Kubernetes는 Pod 단위로 컨테이너들을 관리한다. 그래서 하나의 Pod에 속한 컨테이너들은 동일한 IP를 가진다. Pod에 속한 컨테이너들은 하나의 veth0을 공유하며 모두 동일한 IP를 가진다. 그리고 동일한 IP를 가진 컨테이너들은 각각 다른 포트를 통해 통신이 가능하다. 그러나 각 Pod는 고유한 IP 주소를 가진다. 따라서 각 Pod는 CNI로 구성된 네트워크 인터페이스를 통하여 고유한 IP 주소로 서로 통신할 수 있다. ..

카테고리 없음 2023.09.11