Skip to content

Instantly share code, notes, and snippets.

@demchenkoe
Created October 23, 2019 08:11
Show Gist options
  • Save demchenkoe/9cd11885137e09d07cee7bb1fe7ed856 to your computer and use it in GitHub Desktop.
Save demchenkoe/9cd11885137e09d07cee7bb1fe7ed856 to your computer and use it in GitHub Desktop.
Kubernetes. Подключить локальную папку в POD.
#Подключить локальную папку в POD.
#1. создаем PersistentVolume с привязкой к конкретной ноде
#2. создаем PersistentVolumeClaim
#3. прописываем volumes и volumeMounts в deployment
#В deployment не обязательно привязываться к конкретной ноде, kubernetes сам поймет,
#что нужно под запускать на конкретной ноде исходя из настроек PersistentVolumeClaim.
apiVersion: v1
kind: PersistentVolume
metadata:
name: my-pv
spec:
capacity:
storage: 10Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Delete
storageClassName: local-storage
local:
path: /data/pod-data
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- my-k8s-node1
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pv-claim
spec:
storageClassName: local-storage
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
name: my-microservice
namespace: devel
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
k8s-app: my-microservice
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
creationTimestamp: null
labels:
k8s-app: my-microservice
spec:
volumes:
- name: my-pv
persistentVolumeClaim:
claimName: my-pv-claim
containers:
image: my-image:latest
imagePullPolicy: Always
name: my-microservice
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: "/data"
name: my-pv
dnsPolicy: ClusterFirst
imagePullSecrets:
- name: docker-registry-credentials
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment