Використання тому Image в Pod

СТАН ФУНКЦІОНАЛУ: Kubernetes v1.31 [alpha] (стандартно увімкнено: false)

Ця сторінка демонструє, як налаштувати Pod для використання томів image. Це дозволяє монтувати вміст з OCI реєстрів всередині контейнерів.

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

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

Версія вашого Kubernetes сервера має бути v1.31. Для перевірки версії введіть kubectl version.

  • Середовище виконання контейнерів має підтримувати функцію томів image.
  • Вам потрібно мати можливість виконувати команди на хості.
  • Вам потрібно мати можливість підключатися до pod.
  • Вам потрібно увімкнути функціональну можливість ImageVolume.

Запуск Podʼа, що використовує том image

Том image для Podʼа активується шляхом налаштування поля volumes.[*].image у .spec на дійсне посилання та використання його в volumeMounts контейнера. Наприклад:

apiVersion: v1
kind: Pod
metadata:
  name: image-volume
spec:
  containers:
  - name: shell
    command: ["sleep", "infinity"]
    image: debian
    volumeMounts:
    - name: volume
      mountPath: /volume
  volumes:
  - name: volume
    image:
      reference: quay.io/crio/artifact:v1
      pullPolicy: IfNotPresent
  1. Створіть Pod у вашому кластері:

    kubectl apply -f https://k8s.io/examples/pods/image-volumes.yaml
    
  2. Приєднайтесь до контейнера:

    kubectl attach -it image-volume bash
    
  3. Перевірте вміст файлу в томі:

    cat /volume/dir/file
    

    Вивід буде подібний до:

    1
    

    Ви також можете перевірити інший файл з іншим шляхом:

    cat /volume/file
    

    Вивід буде подібний до:

    2
    

Додатково

Змінено August 27, 2024 at 9:57 PM PST: Removing the reviewers section from the front matter (81a711722d)