이 문서는 StatefulSet 에서 로컬 디스크 사용 에 대한 글이다. Kubernetes 에서 디스크 사용은 어려운감이 있다. PersistentVolume 과 PersistentVolumeClaim 이라는 것을 알아야하고 이를 알고나서도 여러가지 속성들때문에 헷깔리는 경우가 많다. PersistentVolume 관련해서 문서를 보면 대부분 클라우드가 제공하는 스토리지를 이용하는 예제가 많다. 그것이 아니라면 nfs 를 이용하는 경우가 많아서 나처럼 집에 컴퓨터를 이용하는 경우에 실습해 보기가 쉽지 않은게 사실이다. StatefulSet 의 경우가 바로 이런 경우였다. StatefulSet 을 연구하기 위해서 여러가지 예제를 찾아봤고 다음과 같은 파일을 찾아냈다.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | --- apiVersion: v1 kind: Service metadata:   name: nginx   namespace: perf-poc   labels:     app: nginx spec:   ports:   - port: 80     name: web   clusterIP: None   selector:     app: nginx --- apiVersion: apps/v1 kind: StatefulSet metadata:   name: web   namespace: perf-poc spec:   selector:     matchLabels:       app: nginx   serviceName: "nginx"   replicas: 2   template:     metadata:       labels:         app: nginx     spec:       terminationGracePeriodSeconds: 10       containers:       - name: nginx         image: k8s.gcr.io/nginx-slim:0.8         ports:         - containerPort: 80           name: web         volumeMounts:         - name: www           mountPath: /usr/share/nginx/html       nodeSelector:         kubernetes.io/hostname: knode   volumeClaimTemplates:   - metadata:       name: www       namespace: perf-poc     spec:       accessModes: [ "ReadWriteOnce" ]       resources:         requests:           storage: 1Gi | 
StatefulSet 은 비상태(stateless) 자원을 생성하는게 […]