kubernetes勉強メモ2(Pod)
はじめに
kubernetesの勉強メモ
今回は,5つあるリソースのうち一つkubernetesのworkloadsリソースについて
Workloadsリソース
クラスタ上にコンテナを起動させるためのリソース。
全部で8種類のリソースがある。
- Pod
- Replication Controller
- Replicaset
- deployment
- Daemonset
- Statefulset
- Job
- Cronjob
Pod
kubernetesの最小単位のリソース。
podは一つ以上のコンテナからできている。下図のようにpodに対して一つのIPアドレスが割り振られているので、コンテナ同士はlocalhost宛で通信ができる。
基本的に一つのコンテナをpodとすることが多いが。。。
プロキシの役割をするコンテナ、ローカルキャッシュようのコンテナなど二つ以上のコンテナを含んだ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
ちゃんとpodが動いているか確認してみる
$ 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>
ちゃんと動いているのが確認できた!
次に二つのコンテナを持ったpodを作成してみる
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
まとめ
- pod
- k8sのworkloadsリソースの一つ
- 一つ以上のコンテナからできている。
- コンテナの中に入る
-
kubectl exec
コマンドを利用する
- コンテナのログを見る
-
kubectl logs
コマンド
- エラー調査で役立ちそう
参考
- k8sのworkloadsリソースの一つ
- 一つ以上のコンテナからできている。
-
kubectl exec
コマンドを利用する
-
kubectl logs
コマンド - エラー調査で役立ちそう
Author And Source
この問題について(kubernetes勉強メモ2(Pod)), 我々は、より多くの情報をここで見つけました https://qiita.com/higakin/items/c4987bf8ca2fc854209b著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .