[MEMO] katacodaでLearn Kubernetes ver5 CRI-O and Kubeadm / Stateful Services on Kubernetes
Getting Started With CRI-O and Kubeadm
Container Runtime Interface (CRI) らしい。
なんで、CRIって必要なんだろうと思って調べてみた。これがわかりやすい。 コンテナランタイムの動向を整理してみた件 - Qiita
Docker以外のContainer RuntimeをKubernetesに導入、実装しようと思うと、現状敷居が高いらしく、1枚間に挟むことで、HighLevelのレイヤーができるみたい。
まぁ、いまのところ深くは勉強しないつもりだけど、Docker以外にもRuntimeはいろいろと出てきているみたいで、KubernetesがDocker以外にも導入しやすくしたことで、今後議論の余地が生まれそうだなぁ。
Running Stateful Services on Kubernetes
Running Stateful Services on Kubernetes | Kubernetes | Katacoda
このチャプターは、DockerでNFSのサーバを立てて、--net=hostとすることで、NFSののプロトコルをローカルホストで受けれるようにし、k8sからマウントするみたいだ。
引用
docker run -d --net=host \ --privileged --name nfs-server \ katacoda/contained-nfs-server:centos7 \ /exports/data-0001 /exports/data-0002
PersistentVolume
まだ、今回は読んでないけど、あとで読む Persistent Volumes - Kubernetes
PersistentVolumeで、NFSのサーバをマウントしてる感じかな
- persistentVolumeReclaimPolicyは選べる Retainedだとのこり、 Recycled だと消える。
kind: PersistentVolume metadata: name: your-nfs spec: capacity: storage: 1Gi accessModes: - ReadWriteOnce - ReadWriteMany persistentVolumeReclaimPolicy: Recycle nfs: server: ${IP} path: ${PATH}
PersistentVolumeClaim
自動でPersistentVolumeをマウントするっぽい?
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: your-claim spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi
で次に、podの定義にこれを追加する。
spec: volumeMounts: - name: mount-volume-name mountPath: /mount/path volumes: - name: mount-volume-name persistentVolumeClaim: claimName: your-claim
もし、PersistentVolumeClaimにPersistentVolumeがアサインされておらず、Pendingなら、PodもPending状態になる。