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

잔글 (봇: Jmnote의 2020-10-24T09:24:52Z 에 작성한 602200 판으로 되돌림)
잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
11번째 줄: 11번째 줄:
==yaml 예시==
==yaml 예시==
===예시1: Pod===
===예시1: Pod===
<source lang='yaml'>
<syntaxhighlight lang='yaml'>
apiVersion: v1
apiVersion: v1
kind: Pod
kind: Pod
23번째 줄: 23번째 줄:
     image: busybox
     image: busybox
     command: ['sh', '-c', 'echo Hello Kubernetes! && sleep 3600']
     command: ['sh', '-c', 'echo Hello Kubernetes! && sleep 3600']
</source>
</syntaxhighlight>
:→ 컨테이너를 1개 가진 Pod 예시이다.
:→ 컨테이너를 1개 가진 Pod 예시이다.
:→ spec.containers 아래에 컨테이너를 명세한다.
:→ spec.containers 아래에 컨테이너를 명세한다.
29번째 줄: 29번째 줄:


===예시2: Pod===
===예시2: Pod===
<source lang='yaml'>
<syntaxhighlight lang='yaml'>
apiVersion: v1
apiVersion: v1
kind: Pod
kind: Pod
41번째 줄: 41번째 줄:
     - name: MYSQL_ROOT_PASSWORD
     - name: MYSQL_ROOT_PASSWORD
       value: "password"
       value: "password"
     resources:
     resyntaxhighlights:
       requests:
       requests:
         memory: "64Mi"
         memory: "64Mi"
50번째 줄: 50번째 줄:
   - name: wp
   - name: wp
     image: wordpress
     image: wordpress
     resources:
     resyntaxhighlights:
       requests:
       requests:
         memory: "64Mi"
         memory: "64Mi"
57번째 줄: 57번째 줄:
         memory: "128Mi"
         memory: "128Mi"
         cpu: "500m"
         cpu: "500m"
</source>
</syntaxhighlight>
:→ 컨테이너를 2개 가진 Pod 예시이다.
:→ 컨테이너를 2개 가진 Pod 예시이다.
:→ spec.containers 아래에 컨테이너를 명세한다.
:→ spec.containers 아래에 컨테이너를 명세한다.
64번째 줄: 64번째 줄:
===예시3: Deployment===
===예시3: Deployment===
{{소스헤더|nginx-deployment.yaml}}
{{소스헤더|nginx-deployment.yaml}}
<source lang='yaml'>
<syntaxhighlight lang='yaml'>
apiVersion: apps/v1
apiVersion: apps/v1
kind: Deployment
kind: Deployment
86번째 줄: 86번째 줄:
         ports:
         ports:
         - containerPort: 80
         - containerPort: 80
</source>
</syntaxhighlight>
:→ 컨테이너를 1개 가진 Deployment의 예시이다.
:→ 컨테이너를 1개 가진 Deployment의 예시이다.
:→ spec.template.spec.containers 아래에 컨테이너를 명세한다.
:→ spec.template.spec.containers 아래에 컨테이너를 명세한다.
95번째 줄: 95번째 줄:
* [[k8s 파드]]
* [[k8s 파드]]
* [[k8s 워크로드]]
* [[k8s 워크로드]]
* [[쿠버네티스 Container Resource Quota]]
* [[쿠버네티스 Container Resyntaxhighlight Quota]]
* [[컨테이너 (인스턴스)]]
* [[컨테이너 (인스턴스)]]
* [[Docker 컨테이너]]
* [[Docker 컨테이너]]

2020년 11월 2일 (월) 00:58 판

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

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"
    resyntaxhighlights:
      requests:
        memory: "64Mi"
        cpu: "250m"
      limits:
        memory: "128Mi"
        cpu: "500m"
  - name: wp
    image: wordpress
    resyntaxhighlights:
      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 }}