[Nginx] Directives, Context 그리고 Configuration
·
DevOps
Nginx는 'nginx.conf' 설정 파일에서 Nginx 서버에 관한 다양한 설정을 정할 수 있다. 파일 안에는 Directives와 Context이 모여 Configuration을 만든다. 계층 순서대로 Directives부터 Configuration까지 알아보도록 하자. DirectivesDirectives는 config 파일 안의 지시어다. 파일의 가장 기본 단위이자 서버가 실행하는 명령어라 생각하면 된다. Directives는 크게 두 가지로 나뉜다.Single DirectivesBlock Directives말 뜻대로 Directives는 한 줄로 구성할 수 있고, 중괄호를 사용해 섹션 혹은 블록처럼 구성할 수 있다. 같은 내용의 설정이 많이 필요한 경우 Directives를 블록으로 구성해..
[Kubernetes] Labels & Selectors
·
DevOps/Kubernetes
쿠버네티스에서 리소스(쿠버네티스 내에선 Object이라 불린다)를 구별하는 Label과 Selector를 알아보자.Label & Selectors Labels & Selectors라벨과 셀렉터라는 개념은 처음 들어본다. 아마 쿠버네티스에서 리소스를 구별할 때 쓰는 것 같은데, 공식문서를 보고 의미를 찾아보자. 1️⃣ 라벨이란?"metadata": { "labels": { "key1" : "value1", "key2" : "value2" }}라벨은 리소스에 붙이는 키-값 쌍 데이터이다. 파드와 같이 쿠버네티스에서 사용하는 리소스들에 붙이는 이름표다.라벨은 파드를 처음 생성할 때 붙일 수도 있고, 그 후에도 사용자가 원할 때 언제든지 붙일 수 있다.한 리소스 당 하나의 라벨을 붙일 수도 있고,..
[Kubernetes] 쿠버네티스 네트워크 개요(CNI, Pod-to-Pod, Service, Ingress)
·
DevOps/Kubernetes
이번 글은 쿠버네티스의 네트워크에 관해 설명한다.CNI, Pod-to-Pod, Service, Ingress CNICNI는 컨테이너 네트워크 인터페이스의 약자로, 쿠버네티스 안에서 컨테이너들의 네트워크를 설정하기 위한 인터페이스다.쿠버네티스는 Pod 안의 컨테이너들의 네트워크를 '직접' 설정하지 않는다. Pod는 각자 IP와 볼륨을 필요로 한다는 규칙만 언급할 뿐 구현은 외부 플러그인에 맡기고 있다.다양한 네트워크 플러그인이 존재하며, 서버와 클러스터의 상황에 따라 적절한 외부 플러그인을 선택할 수 있다. 💡 쿠버네티스 네트워크 모델클러스터의 모든 파드는 고유한 IP 주소를 갖는다. 이는 즉 파드간 연결을 명시적으로 만들 필요가 없으며 또한 컨테이너 포트를 호스트 포트에 매핑할 필요가 거의 없음을 의..
[Kubernetes] 쿠버네티스 아키텍처(Architecture)
·
DevOps/Kubernetes
이번 포스트에서는 쿠버네티스의 기본적인 리소스와 아키텍처에 관해 공부한다.Architecture, Minikube, kubectl, Namespace, Pod Architecture 쿠버네티스는 크게 클라우드의 전체적인 리소스를 관리하는 Control Plane, 실제 서비스가 동작하는 Node Plane으로 구성되어 있다. 두 부분을 합쳐 클러스터로 구성한다. 참고로 Control Plane, Node Plane 각각 클러스터로 구성할 수 있다.Controle Plane과 Node Plane 각각에 대해 알아보자. 📍 Control Plane Component클러스터를 관리하는 컴포넌트 집단이다. 여러 대의 컴퓨터가 합쳐져서 각각의 컴포넌트를 실행한다.컨트롤 플레인 컴포넌트를 실행하는 여러 대의 컴퓨..