Q1:创建一个secret,并创建2个pod, pod1挂载该secret,路径为/secret, pod2使用环境变量引用该secret,该变量的环境变量名为ABC
- secret名称: my-secret
- pod1名称: pod-volume-secret
- pod2名称: pod-env-secret
A1:secret-test.yaml
apiVersion: v1
kind: Secret
metadata:
name: my-secret
type: Opaque
data:
abc: a2hiCg==
---
apiVersion: v1
kind: Pod
metadata:
name: pod-volume-secret
spec:
containers:
- name: pod1
image: nginx
volumeMounts:
- name: foo
mountPath: "/secret"
readOnly: true
volumes:
- name: foo
secret:
secretName: my-secret
---
apiVersion: v1
kind: Pod
metadata:
name: pod-env-secret
spec:
containers:
- name: pod2
image: nginx
env:
- name: ABC
valueFrom:
secretKeyRef:
name: my-secret
key: abc
kubectl get secret,pods
Q2:创建一个pv,再创建一个pod使用该pv
- 容量: 5Gi
- 访问模式: ReadWriteOnce
A2:pod-pv-pvc.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv0002
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
nfs:
path: /ifs/kubernetes
server: 192.168.1.89
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-pvc
spec:
selector:
matchLabels:
app: pvc
replicas: 1
template:
metadata:
labels:
app: pvc
spec:
containers:
- name: nginx
image: nginx
volumeMounts:
- name: nfs
mountPath: /usr/share/nginx/html
ports:
- containerPort: 80
volumes:
- name: nfs
persistentVolumeClaim:
claimName: my-pvc
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: my-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 3Gi
---
apiVersion: v1
kind: Service
metadata:
name: web-pvc
spec:
ports:
- port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
type: NodePort
Q3:创建一个pod并挂载数据卷,不可以用持久卷
- 卷来源: emptyDir、 hostPath任意
- 挂载路径: /data
A3:pod-emptydir.yaml
apiVersion: v1
kind: Pod
metadata:
name: pod-emptydir
spec:
containers:
- name: write
image: centos
command: ["bash","-c","for i in {1..100};do
echo $i >> /data/hello;sleep 1;done"]
volumeMounts:
- name: data
mountPath: /data
- name: read
image: centos
command: ["bash","-c","tail -f /data/hello"]
volumeMounts:
- name: data
mountPath: /data
volumes:
- name: data
emptyDir: {}
Q4:将pv按照名称、容量排序,并保存到/opt/pv文件
A4:
按照名称:
kubectl get pv --sort-by=.metadata.name > /opt/pv
按照容量:
kubectl get pv --sort-by=.spec.capacity.storage >> /opt/pv
版权声明:本文为weixin_40809179原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。