Встановлення прав доступу на том emptyDir

Встановлення прав доступу на том emptyDir

СТАН ФУНКЦІОНАЛУ: Alpha since Kubernetes v1.37; (стандартно вимкнено)
More information about this feature

To use this feature, you (or a cluster administrator) will need to enable the EmptyDirVolumeMode feature gate for all relevant components in your cluster.

See Enable Or Disable Feature Gates for more information.

Ця сторінка показує, як встановити біти прав доступу Unix на теці тому emptyDir за допомогою поля mode.

Перш ніж ви розпочнете

Вам треба мати кластер Kubernetes, а також інструмент командного рядка kubectl має бути налаштований для роботи з вашим кластером. Рекомендується виконувати ці настанови у кластері, що має щонайменше два вузли, які не виконують роль вузлів управління. Якщо у вас немає кластера, ви можете створити його, за допомогою minikube або використовувати одну з цих пісочниць:

Версія вашого Kubernetes сервера має бути v1.37.

Для перевірки версії введіть kubectl version.

Вам потрібно, щоб функціональна можливість EmptyDirVolumeMode була увімкнена на API-сервері та на kubelet.

Створення Podʼа, який використовує том emptyDir з власними правами доступу

Поле 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
  1. Створіть Pod у вашому кластері:

    kubectl apply -f https://k8s.io/examples/pods/emptydir-volume-mode.yaml
    
  2. Перевірте, що Pod працює:

    kubectl get pod emptydir-mode-demo
    
  3. Перевірте права доступу на змонтованому томі:

    kubectl exec emptydir-mode-demo -- ls -ld /tmp
    

    Вивід подібний до такого:

    drwxrwxrwt 2 root root 4096 Jul 28 00:00 /tmp
    

    t наприкінці підтверджує, що sticky bit встановлено.

  4. Видаліть Pod, який ви створили для цієї вправи:

    kubectl delete pod emptydir-mode-demo
    

Що далі