nginx.yaml
apiVersion: v1
kind: Pod
metadata:
name: mynginx2
labels:
app: nginx
spec:
containers:
- name: mynginx
image: nginx
ports:
- containerPort: 80
volumeMounts:
- name: mydata
mountPath: /var/mydata
- name: home
mountPath: /qh
- name: www
mountPath: /usr/share/nginx/html
- name: myconfig
mountPath: /usr/share
env:
- name: myenv
valueFrom:
configMapKeyRef:
name: myconfig
key: myenv
volumes:
- name: mydata
emptyDir: {}
- name: home
hostPath:
path: /home/qh
- name: www
persistentVolumeClaim:
claimName: mypvc
- name: mynfs
nfs:
path: /home/qh/www
server: 10.103.129.99
- name: myconfig
configMap:
name: myconfig
items:
- path: myfile
key: myfile
mydeploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: mydeploy
labels:
app: deploy_nginx
spec:
selector:
matchLabels:
app: nginx2
replicas: 3
template:
metadata:
name: nginx-app
labels:
app: nginx2
spec:
containers:
- name: nginx-app
image: nginx
ports:
- containerPort: 80
volumeMounts:
- name: mynfs
mountPath: /usr/share/nginx/html
volumes:
- name: mynfs
persistentVolumeClaim:
claimName: mypvc
nfspv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: mynfspv
labels:
nfc: mynfs
spec:
capacity:
storage: 10Gi
volumeMode: Filesystem
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs
nfs:
path: /home/qh/www
server: 10.103.129.99
nfspvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mypvc
spec:
accessModes:
- ReadWriteMany
storageClassName: nfs
resources:
requests:
storage: 5Gi
myservice.yaml
apiVersion: v1
kind: Service
metadata:
name: mysvc
labels:
app: nginx2
spec:
selector:
app: nginx2
ports:
- port: 8080
protocol: TCP
targetPort: 80
myconfig.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: myconfig
data:
myenv: qinhuienv
myfile: qinhuifile