Щоб скористатися цією функцією, вам (або адміністратору кластера) потрібно увімкнути функціональну можливість EmptyDirVolumeMode для всіх відповідних компонентів у вашому кластері.
Перегляньте Увімкнення або вимкнення функціональних можливостей для отримання додаткової інформації.
Ця сторінка показує, як встановити біти прав доступу Unix на теці тому emptyDir за допомогою поля mode.
Вам треба мати кластер Kubernetes, а також інструмент командного рядка kubectl має бути налаштований для роботи з вашим кластером. Рекомендується виконувати ці настанови у кластері, що має щонайменше два вузли, які не виконують роль вузлів управління. Якщо у вас немає кластера, ви можете створити його, за допомогою minikube або використовувати одну з цих пісочниць:
Версія вашого Kubernetes сервера має бути v1.37.Для перевірки версії введіть kubectl version.
Вам потрібно, щоб функціональна можливість EmptyDirVolumeMode була увімкнена на API-сервері та на kubelet.
Поле emptyDir.mode дозволяє встановити біти прав доступу Unix (від 0000 до 01777 у вісімковій системі) на теці тому. Якщо не вказано, тека створюється зі стандартними правами 0777.
Наприклад, щоб створити спільну теку /tmp зі встановленим sticky bit так, щоб лише власники файлів могли видаляти власні файли:
apiVersion: v1
kind: Pod
metadata:
name: emptydir-mode-demo
spec:
containers:
- image: registry.k8s.io/busybox
name: test-container
command: ["sleep", "3600"]
volumeMounts:
- mountPath: /tmp
name: tmp-volume
volumes:
- name: tmp-volume
emptyDir:
mode: 01777
Створіть Pod у вашому кластері:
kubectl apply -f https://k8s.io/examples/pods/emptydir-volume-mode.yaml
Перевірте, що Pod працює:
kubectl get pod emptydir-mode-demo
Перевірте права доступу на змонтованому томі:
kubectl exec emptydir-mode-demo -- ls -ld /tmp
Вивід подібний до:
drwxrwxrwt 2 root root 4096 Jul 28 00:00 /tmp
t наприкінці підтверджує, що sticky bit встановлено.
Видаліть Pod, який ви створили для цієї вправи:
kubectl delete pod emptydir-mode-demo
emptyDir