kubernetes 공부 메모 2(Pod)
6563 단어 nginxkuberneteskubectlPOD도커
소개
kubernetes 공부 노트
이번에는 5 개의 리소스 중 하나가 kubernetes workloads 리소스에 대해
워크로드 리소스
클러스터에서 컨테이너를 시작하는 리소스.
총 8종류의 자원이 있다.
클러스터에서 컨테이너를 시작하는 리소스.
총 8종류의 자원이 있다.
포드
kubernetes의 최소 단위 자원.
포드는 하나 이상의 컨테이너로 구성됩니다. 아래 그림과 같이 pod에 하나의 IP 주소가 할당되어 있기 때문에 컨테이너끼리는 localhost로 통신할 수 있다.
기본적으로 하나의 컨테이너를 pod로 하는 경우가 많지만. . .
프록시 역할을 하는 컨테이너, 로컬 캐시 같은 컨테이너 등 2개 이상의 컨테이너를 포함한 pod를 이용할 수도 있다.
실제로 Pod를 만들어 보자.
우선은 nginx 컨테이너가 하나 들어서 pod를 만들어 본다.
manifest 파일은 다음과 같습니다.
apiVersion: v1
kind: Pod
metadata:
# Podの名前をつける
name: container-pod
spec:
containers:
# コンテナの名前をつける
- name: nginx-container
image: nginx:latest
ports:
- containerPort: 60
로 작성해 본다.
$ kubectl apply -f pod1.yaml
제대로 포드가 움직이고 있는지 확인하십시오.
$ kubectl get po -o wide
===== 実行結果 ======
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
container-pod 1/1 Running 0 72s 10.1.0.12 docker-desktop <none> <none>
제대로 움직이고 있는 것을 확인할 수 있었다!
그런 다음 두 개의 컨테이너가있는 포드를 만듭니다.
manifest 파일은 다음과 같습니다.
apiVersion: v1
kind: Pod
metadata:
name: sample-multicontainer
spec:
containers:
- name: nginx-container
image: nginx:1.13
- name: redis-container
image: redis:3.2
로 만들어 보자
제대로 작성할 수 있었는지 확인해 본다.
$ kubectl apply -f pod2.yaml
===== 実行結果 ======
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
sample-multicontainer 2/2 Running 0 20s 10.1.0.44 docker-desktop <none> <none>
작성한 pod의 컨테이너(redis)에 들어간다.
$ kubectl exec -it sample-multicontainer -c redis-container bash
컨테이너 로그를 보려면
$ kubectl logs sample-multicontainer -c redis-container
===== 実行結果 ======
1:C 06 Jun 10:21:04.146 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 3.2.12 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 1
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
1:M 06 Jun 10:21:04.147 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
1:M 06 Jun 10:21:04.147 # Server started, Redis version 3.2.12
1:M 06 Jun 10:21:04.147 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
1:M 06 Jun 10:21:04.148 * The server is now ready to accept connections on port 6379
요약
kubectl exec
명령 사용 kubectl logs
명령 참고
Reference
이 문제에 관하여(kubernetes 공부 메모 2(Pod)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hgaiji/items/c4987bf8ca2fc854209b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)