쿠버네티스: 두 판 사이의 차이
기술노트
(IT 용어 정리 - 쿠버네티스 추가) |
편집 요약 없음 |
||
1번째 줄: | 1번째 줄: | ||
== | == 쿠버네티스(Kubernetes)란? == | ||
쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션을 자동으로 관리하고 운영하는 오픈 소스 플랫폼입니다. 쉽게 말해, 여러 개의 컨테이너를 효율적으로 관리해주는 시스템입니다. | |||
컨테이너는 애플리케이션과 이를 실행하는 데 필요한 모든 라이브러리 및 종속성을 패키지로 묶은 것입니다. 쿠버네티스는 이런 컨테이너를 효율적으로 배포하고, 확장하며, 관리할 수 있게 해줍니다. | |||
== 주요 개념 == | |||
* '''노드(Node)''': 컨테이너가 실제 실행되는 서버(물리적 서버 또는 가상머신)입니다. | |||
* '''파드(Pod)''': 쿠버네티스의 가장 기본적인 배포 단위이며, 하나 이상의 컨테이너를 포함합니다. | |||
* '''서비스(Service)''': 여러 파드에 접근할 수 있는 네트워크 인터페이스를 제공합니다. | |||
* '''배포(Deployment)''': 파드를 생성하고 관리하는 데 사용됩니다. | |||
== 간단한 예제 == | |||
다음은 쿠버네티스를 이용해 간단한 웹 서버(Nginx)를 실행하는 예제입니다. | |||
=== 파드 생성하기 === | |||
아래 YAML 파일을 작성하여 저장합니다 (예: ''nginx-pod.yaml''). | |||
<syntaxhighlight lang="yaml"> | |||
apiVersion: v1 | |||
kind: Pod | |||
metadata: | |||
name: nginx-example | |||
spec: | |||
containers: | |||
- name: nginx | |||
image: nginx:latest | |||
ports: | |||
- containerPort: 80 | |||
</syntaxhighlight> | |||
다음 명령어로 파드를 생성합니다. | |||
<syntaxhighlight lang="bash"> | |||
kubectl apply -f nginx-pod.yaml | |||
</syntaxhighlight> | |||
파드 상태를 확인합니다. | |||
<syntaxhighlight lang="bash"> | |||
kubectl get pods | |||
</syntaxhighlight> | |||
=== 서비스로 접근하기 === | |||
파드에 외부에서 접근할 수 있게 서비스로 노출하려면 다음 YAML 파일을 사용합니다 (예: ''nginx-service.yaml''). | |||
<syntaxhighlight lang="yaml"> | |||
apiVersion: v1 | |||
kind: Service | |||
metadata: | |||
name: nginx-service | |||
spec: | |||
selector: | |||
app: nginx-example | |||
type: NodePort | |||
ports: | |||
- port: 80 | |||
targetPort: 80 | |||
nodePort: 30080 | |||
</syntaxhighlight> | |||
서비스를 적용합니다. | |||
<syntaxhighlight lang="bash"> | |||
kubectl apply -f nginx-service.yaml | |||
</syntaxhighlight> | |||
이제 브라우저에서 `http://<노드IP>:30080`로 접근하면 Nginx 웹 서버가 실행 중인 것을 확인할 수 있습니다. | |||
== 쿠버네티스를 사용하는 이유 == | |||
* 컨테이너의 효율적 관리 및 자동화 | |||
* 서비스 확장성 및 신속한 배포 | |||
* 높은 가용성과 안정적인 서비스 운영 | |||
쿠버네티스를 사용하면 컨테이너 기반의 복잡한 애플리케이션도 간편하게 관리할 수 있습니다. |
2025년 5월 5일 (월) 13:16 기준 최신판
쿠버네티스(Kubernetes)란?
쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션을 자동으로 관리하고 운영하는 오픈 소스 플랫폼입니다. 쉽게 말해, 여러 개의 컨테이너를 효율적으로 관리해주는 시스템입니다.
컨테이너는 애플리케이션과 이를 실행하는 데 필요한 모든 라이브러리 및 종속성을 패키지로 묶은 것입니다. 쿠버네티스는 이런 컨테이너를 효율적으로 배포하고, 확장하며, 관리할 수 있게 해줍니다.
주요 개념
- 노드(Node): 컨테이너가 실제 실행되는 서버(물리적 서버 또는 가상머신)입니다.
- 파드(Pod): 쿠버네티스의 가장 기본적인 배포 단위이며, 하나 이상의 컨테이너를 포함합니다.
- 서비스(Service): 여러 파드에 접근할 수 있는 네트워크 인터페이스를 제공합니다.
- 배포(Deployment): 파드를 생성하고 관리하는 데 사용됩니다.
간단한 예제
다음은 쿠버네티스를 이용해 간단한 웹 서버(Nginx)를 실행하는 예제입니다.
파드 생성하기
아래 YAML 파일을 작성하여 저장합니다 (예: nginx-pod.yaml).
apiVersion: v1
kind: Pod
metadata:
name: nginx-example
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
다음 명령어로 파드를 생성합니다.
kubectl apply -f nginx-pod.yaml
파드 상태를 확인합니다.
kubectl get pods
서비스로 접근하기
파드에 외부에서 접근할 수 있게 서비스로 노출하려면 다음 YAML 파일을 사용합니다 (예: nginx-service.yaml).
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx-example
type: NodePort
ports:
- port: 80
targetPort: 80
nodePort: 30080
서비스를 적용합니다.
kubectl apply -f nginx-service.yaml
이제 브라우저에서 `http://<노드IP>:30080`로 접근하면 Nginx 웹 서버가 실행 중인 것을 확인할 수 있습니다.
쿠버네티스를 사용하는 이유
- 컨테이너의 효율적 관리 및 자동화
- 서비스 확장성 및 신속한 배포
- 높은 가용성과 안정적인 서비스 운영
쿠버네티스를 사용하면 컨테이너 기반의 복잡한 애플리케이션도 간편하게 관리할 수 있습니다.