LoginSignup
1
2

More than 5 years have passed since last update.

Kubernetes勉強 その2(Pod)

Last updated at Posted at 2018-10-03

引き続き「Kubernetes完全ガイド」読んでお勉強。

Pod と ReplicaSet と Deployment

Pod はリソースの最小単位であり、ReplicaSetPod を管理するリソース。 ReplicaSetPod が停止すると自動的に再起動したりする。
Deployment は、 Pod に含まれるコンテナをバージョンアップする際に、古いコンテナを徐々に減らし、新しいコンテナを徐々に増やすなどの管理をする。

Pod

  • Podはリソースの最小単位。
  • Podは1つ以上のコンテナから構成される(2つや3つの場合もある)。
  • 同じPodに含まれる複数のコンテナはIPアドレスを共有している。
    • 従って、同じPodに含まれるコンテナ同士で同じポート番号を使用することはできない。

Podの作成

こんな感じで設定ファイルを用意する。

sample-pod.yml
apiVersion: v1
kind: Pod
metadata:
  name: sample-pod
spec:
  containers:
    - name: nginx-container
      image: nginx:1.12

起動する。

$ kubectl apply -f sample-pod.yml

pod "sample-pod" created

状態を確認

$ kubectl get pods

NAME         READY     STATUS    RESTARTS   AGE
sample-pod   1/1       Running   0          8s

Podを削除する

$ kubectl delete -f sample-pod.yml

pod "sample-pod" deleted

複数のコンテナを内包するPodの作成

設定ファイルを作る

sample-2pod.yml
piVersion: v1
kind: Pod
metadata:
  name: sample-2pod
spec:
  containers:
    - name: nginx-container
      image: nginx:1.12
    - name: redis-container
      image: redis:3.2

起動する。

$ kubectl apply -f sample-2pod.yml 

pod "sample-2pod" created

状態を確認。2つ走ってる。

$ kubectl get pods

NAME          READY     STATUS    RESTARTS   AGE
sample-2pod   2/2       Running   0          1m

停止する。

$ kubectl delete -f sample-2pod.yml 

pod "sample-2pod" deleted

複数のコンテナを起動する場合、同じポートを使うコンテナを複数起動することはできない。

コンテナにログインしてコマンド実行

$ kubectl exec -it sample-2pod /bin/bash

Defaulting container name to nginx-container.
Use 'kubectl describe pod/sample-2pod -n default' to see all of the containers in this pod.

root@sample-2pod:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

root@sample-2pod:/# cd home/
root@sample-2pod:/home# ls

root@sample-2pod:/home# ls /usr/
bin  games  include  lib  local  sbin  share  src

実際には擬似端末を生成しており、ログインしているわけではないですがSSHでログインしているように操作できるらしい。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2