集约化网站建设情况,云商城的网站建设,wordpress程序版本,郑州网站推广哪家效果好有别于《研发工程师玩转Kubernetes——emptyDir》一文中介绍的emptyDir#xff0c;hostPath可以在同一个Node的不同Pod间共享卷。 下面的清单文件利用了Pod亲和性#xff0c;让Pod集中到一个Node上。
apiVersion: apps/v1
kind: Deployment
metadata:name: hostpath-deploy…有别于《研发工程师玩转Kubernetes——emptyDir》一文中介绍的emptyDirhostPath可以在同一个Node的不同Pod间共享卷。 下面的清单文件利用了Pod亲和性让Pod集中到一个Node上。
apiVersion: apps/v1
kind: Deployment
metadata:name: hostpath-deployment
spec:selector:matchLabels:app: hostpath-containerreplicas: 2template:metadata:labels:app: hostpath-containerspec:affinity:podAffinity:requiredDuringSchedulingIgnoredDuringExecution:- labelSelector:matchExpressions:- key: appoperator: Invalues:- hostpath-containertopologyKey: kubernetes.io/hostnamecontainers:- name: hostpath-containerimage: busyboxcommand: [/bin/sh, -c ,if [ -f /tempdir/lockfile ] ! { set -C; 2/dev/null /tempdir/lockfile; }; then tail -f /tempdir/lockfile; else exec 3/tempdir/lockfile; if [ -n \$POD_NAME\ ]; then name$POD_NAME; else name\unknown\; fi; while true; do echo \this is $name.$name write something to lockfile\; echo \$name write something to lockfile\ 3; sleep 5; done; fi]volumeMounts:- name: hostpath-volumemountPath: /tempdirenv:- name: POD_NAMEvalueFrom:fieldRef:fieldPath: metadata.namevolumes:- name: hostpath-volumehostPath:path: /tmptype: Directory我们观察创建的两个Pod中文件的内容
kubectl exec pods/hostpath-deployment-65cddc7df8-9qtlv -it -- tail -f /tempdir/lockfilehostpath-deployment-65cddc7df8-9qtlv write something to lockfile hostpath-deployment-65cddc7df8-9qtlv write something to lockfile hostpath-deployment-65cddc7df8-9qtlv write something to lockfile …… kubectl exec pods/hostpath-deployment-65cddc7df8-ltbgs -it -- tail -f /tempdir/lockfilehostpath-deployment-65cddc7df8-9qtlv write something to lockfile hostpath-deployment-65cddc7df8-9qtlv write something to lockfile hostpath-deployment-65cddc7df8-9qtlv write something to lockfile …… 可以看到它们的文件内容一样即可以证明它们可以共享同一个文件。 我们在hostpath映射的宿主机目录/tmp下可以找到lockfile文件且其内容也是明文可读的。
参考资料
https://kubernetes.io/zh-cn/docs/concepts/storage/volumes/#hostPath