"쿠버네티스 Container"의 두 판 사이의 차이

93번째 줄: 93번째 줄:
* [[쿠버네티스 Pod]]
* [[쿠버네티스 Pod]]
* [[쿠버네티스 워크로드]]
* [[쿠버네티스 워크로드]]
* [[쿠버네티스 Container Resource Quota]]
* [[컨테이너 (인스턴스)]]
* [[컨테이너 (인스턴스)]]
* [[Docker 컨테이너]]
* [[Docker 컨테이너]]

2019년 6월 17일 (월) 01:02 판

  다른 뜻에 대해서는 컨테이너 (인스턴스) 문서를 참조하십시오.

1 개요

k8s Container
쿠버네티스 Container
  • Pod 내부의 구성요소
  • k8s에서 직접 작업(생성/삭제)할 수 없는 단위
즉, Pod 없이 Container만 생성할 수는 없다.

Module 03 pods.svg

2 yaml 예시

2.1 예시1: Pod

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
  labels:
    app: myapp
spec:
  containers:
  - name: myapp-container
    image: busybox
    command: ['sh', '-c', 'echo Hello Kubernetes! && sleep 3600']
→ 컨테이너를 1개 가진 Pod 예시이다.
→ spec.containers 아래에 컨테이너를 명세한다.
DockerfileCMD처럼, command를 지정할 수 있다.

2.2 예시2: Pod

apiVersion: v1
kind: Pod
metadata:
  name: frontend
spec:
  containers:
  - name: db
    image: mysql
    env:
    - name: MYSQL_ROOT_PASSWORD
      value: "password"
    resources:
      requests:
        memory: "64Mi"
        cpu: "250m"
      limits:
        memory: "128Mi"
        cpu: "500m"
  - name: wp
    image: wordpress
    resources:
      requests:
        memory: "64Mi"
        cpu: "250m"
      limits:
        memory: "128Mi"
        cpu: "500m"
→ 컨테이너를 2개 가진 Pod 예시이다.
→ spec.containers 아래에 컨테이너를 명세한다.
→ 환경변수, 사용량 제한 등을 적용할 수 있다.

2.3 예시3: Deployment

nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80
→ 컨테이너를 1개 가진 Deployment의 예시이다.
→ spec.template.spec.containers 아래에 컨테이너를 명세한다.

3 같이 보기

4 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}