CentOS7 minimal で Kubernetes ~part 2~
kubernetes/README.md at master · kubernetes/kubernetes · GitHub
Kubernetes Cluster を組んだので、podを動かします。ずっとmasterでの作業です。
docker-strorage-setupの設定(minion)(不要かも)
マニュルには記載がないですが、これで私の環境では動くようになった。
状況は後述。
# Edit this file to override any configuration options specified in # /usr/lib/docker-storage-setup/docker-storage-setup. # # For more details refer to "man docker-storage-setup" DATA_SIZE=4GB
pod 作成
pod-nginx.yamlをつくる
apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 80
podを起動
$ kubectl create -f pod-nginx.yaml
pod 確認
$ kubectl get pods NAME READY STATUS RESTARTS AGE nginx 1/1 Running 0 14m
Volumes を指定したpodも作成
データを永続化するためにVolumesを指定
apiVersion: v1 kind: Pod metadata: name: redis spec: containers: - name: redis image: redis volumeMounts: - name: redis-persistent-storage mountPath: /data/redis volumes: - name: redis-persistent-storage emptyDir: {}
$ kubectl create -f pod-redis.yaml
pods/redis
$ kubectl get pods NAME READY STATUS RESTARTS AGE nginx 1/1 Running 0 23m redis 1/1 Running 0 27s
docker-storage-setup の設定
podを動かすまでdockerではまった。
最初はkubectl create をしても全然PodがRunningにならなかった。
$ kubectl get pods NAME READY STATUS RESTARTS AGE nginx 0/1 Image: nginx is not ready on the node 0 4m
$ kubectl get events Sun, 16 Aug 2015 01:46:15 -0400 Sun, 16 Aug 2015 01:46:15 -0400 1 nginx Pod implicitly required container POD failed {kubelet minion-1} Failed to create docker container with error: no such image
minionのログを見てみると、拡張できないというエラーログが。
# cat /var/log/messages Aug 16 01:46:29 localhost lvm[2293]: Thin centos-docker--pool is now 100% full. Aug 16 01:46:29 localhost lvm[2293]: Insufficient free space: 1 extents needed, but only 0 available Aug 16 01:46:29 localhost lvm[2293]: Failed to extend thin centos-docker--pool.
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 12G 0 disk ├─sda1 8:1 0 500M 0 part /boot └─sda2 8:2 0 11.5G 0 part ├─centos-root 253:0 0 10.3G 0 lvm / ├─centos-swap 253:1 0 1.2G 0 lvm [SWAP] ├─centos-docker--pool_tmeta 253:2 0 12M 0 lvm │ └─centos-docker--pool 253:4 0 20M 0 lvm └─centos-docker--pool_tdata 253:3 0 20M 0 lvm └─centos-docker--pool 253:4 0 20M 0 lvm sr0 11:0 1 1024M 0 rom
100%になってる。
# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert docker-pool centos twi-a-t-M- 20.00m 100.00 0.36 root centos -wi-ao---- 10.27g swap centos -wi-ao---- 1.20g
いろいろググったけど、Linuxに関する知識が貧弱すぎて、よくわからなっかたので、
Setting Up Storage — Project Atomic
を見て、
dockerを再インストール後、
minionの/etc/sysconfig/docker-storage-setupにDATA_SIZE=4GBを追加。
# cat /etc/sysconfig/docker-storage-setup DATA_SIZE=4GB