Перейти до основного вмісту
Версія: 4.3.1

Встановлення Helm

Цей посібник показує, як встановити Helm CLI. Helm можна встановити або з вихідного коду, або з попередньо скомпільованих бінарних випусків.

Від проєкту Helm​

Проєкт Helm пропонує два способи завантаження та встановлення Helm. Це офіційні методи отримання випусків Helm. Крім того, спільнота Helm пропонує методи встановлення Helm за допомогою різних менеджерів пакунків. Інформацію про встановлення за допомогою цих методів можна знайти нижче за офіційними методами.

З бінарних випусків​

Кожен випуск Helm надає бінарні випуски для різних операційних систем. Ці бінарні версії можна завантажити та встановити вручну.

  1. Завантажте бажану версію
  2. Перевірте бінарний файл. Див. розділ Перевірка бінарних файлів Helm на цій сторінці.
  3. Розпакуйте його (tar -zxvf helm-v4.0.0-linux-amd64.tar.gz)
  4. Знайдіть бінарний файл helm у розпакованій теці та перемістіть його у потрібне місце (mv linux-amd64/helm /usr/local/bin/helm)

Після цього ви зможете запустити клієнта та знайти чарти для встановлення: helm help.

Примітка: Автоматизовані тести Helm виконуються лише для Linux AMD64 під час GitHub Actions збірок та випусків. Тестування інших операційних систем є відповідальністю спільноти, якій потрібен Helm для цієї операційної системи.

Зі скрипту​

Helm має скрипт встановлення, який автоматично завантажує останню версію Helm і встановлює її локально.

Ви можете завантажити цей скрипт, а потім виконати його локально. Він добре задокументований, щоб ви могли ознайомитися з ним і зрозуміти, що він робить перед його запуском.

$ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-4
$ chmod 700 get_helm.sh
$ ./get_helm.sh

Так, ви можете виконати команду curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-4 | bash, якщо хочете ризикнути.

Через менеджери пакунків​

Спільнота Helm надає можливість встановлювати Helm через менеджери пакунків операційної системи. Вони не підтримуються проєктом Helm і не вважаються надійними постачальниками.

За допомогою Homebrew (macOS)​

Члени спільноти Helm зробили свій внесок у створення формули Helm для Homebrew. Ця формула, як правило, є актуальною.

brew install helm

(Примітка: Існує також формула для emacs-helm, який є іншим проєктом.)

За допомогою Chocolatey (Windows)​

Члени спільноти Helm зробили свій внесок у створення пакунка Helm для Chocolatey. Цей пакунок, як правило, є актуальним.

choco install kubernetes-helm

За допомогою Scoop (Windows)​

Члени спільноти Helm зробили свій внесок у створення пакунка Helm для Scoop. Цей пакунок, як правило, є актуальним.

scoop install helm

За допомогою Winget (Windows)​

Члени спільноти Helm зробили свій внесок у створення пакунка Helm для Winget. Цей пакунок, як правило, є актуальним.

winget install Helm.Helm

За допомогою Apt (Debian/Ubuntu)​

Члени спільноти Helm зробили свій внесок у створення пакунка Apt для Debian/Ubuntu. Цей пакунок, як правило, є актуальним. Дякуємо Buildkite за підтримку репозиторію.

HELM_BUILDKITE_APT_KEY_ID="DDF78C3E6EBB2D2CC223C95C62BA89D07698DBC6"

sudo apt-get install curl gpg --yes

curl -fsSL https://packages.buildkite.com/helm-linux/helm-debian/gpgkey > "${TMPDIR:-/tmp}/helm.asc"

# Переконайтеся, що ідентифікатор ключа збігається, щоб запобігти компрометації репозиторію внаслідок створення ключа, контрольованого зловмисником
if [ "$(gpg --import --import-options=show-only --with-colons "${TMPDIR:-/tmp}/helm.asc" \
| awk -F: '$1 == "fpr" {print $10}' | head -n 1)" != "${HELM_BUILDKITE_APT_KEY_ID}" ]; then
echo "ERROR: Unexpected Helm APT key ID: potential key compromise"
exit 1
fi

# Видаліть конфігурацію, залишену попередніми версіями цих інструкцій
sudo rm -f /etc/apt/sources.list.d/helm-stable-debian.list /usr/share/keyrings/helm.gpg

sudo install -m 0644 -Dt /etc/apt/keyrings/ "${TMPDIR:-/tmp}/helm.asc"

sudo tee /etc/apt/sources.list.d/helm-stable-debian.sources > /dev/null <<EOF
Types: deb
URIs: https://packages.buildkite.com/helm-linux/helm-debian/any/
Suites: any
Components: main
Signed-By: /etc/apt/keyrings/helm.asc
EOF

sudo apt-get update
sudo apt-get install helm

За допомогою dnf/yum (fedora)​

З Fedora 35 Helm доступний у офіційному репозиторії. Ви можете встановити Helm, виконавши:

sudo dnf install helm

За допомогою Snap​

Спільнота Snapcrafters підтримує версію Snap-пакунка Helm:

sudo snap install helm --classic

За допомогою pkg (FreeBSD)​

Члени спільноти FreeBSD зробили свій внесок у створення пакунка Helm для FreeBSD Ports Collection. Цей пакунок, як правило, є актуальним.

pkg install helm

Збірки для розробки​

Окрім випусків, ви можете завантажити або встановити зліпки Helm для розробки.

Збірки Canary​

«Canary» — це версії програмного забезпечення Helm, створені на основі останньої гілки «main». Вони не є офіційними релізами і можуть бути нестабільними. Однак вони дають можливість протестувати найновіші функції.

Бінарні файли Canary Helm зберігаються на сайті get.helm.sh. Ось посилання на найпоширеніші версії:

Збірки з сирців (Linux, macOS)​

Збірка Helm з сирців трохи складніша, але є найкращим варіантом, якщо ви хочете протестувати останню версію Helm.

Вам потрібно мати робоче середовище Go.

git clone https://github.com/helm/helm.git
cd helm
make

За необхідності, буде отримано залежності та збережено їх у кеші, а також перевірено конфігурацію. Потім буде скомпільовано helm та розміщено його у bin/helm.

Перевірка бінарних файлів Helm​

Кожен випуск Helm включає криптографічні підписи, які підтверджують, що бінарний файл був створений та підписаний підтримувачами Helm. Щоб захиститися від атак на ланцюг постачання, завжди перевіряйте автентичність бінарних файлів Helm перед встановленням.

Опубліковані релізи на get.helm.sh (подаються через CDN) зазвичай не можуть бути змінені після публікації релізу на GitHub. Однак ланцюг постачання включає кілька компонентів (CDN, інфраструктура хостингу тощо), тому перевірка підпису важлива навіть для старих або зафіксованих версій.

Вимоги​

Щоб перевірити бінарний файл Helm, вам потрібно мати:

  • Архів з бінарним файлом (наприклад, helm-v4.0.0-linux-amd64.tar.gz)
  • Відповідний файл підпису (наприклад, helm-v4.0.0-linux-amd64.tar.gz.asc)
  • Публічні PGP-ключі підтримувачів Helm

Кроки перевірки​

Щоб перевірити бінарний файл Helm:

  1. Перевірте контрольну суму SHA256, щоб переконатися, що завантаження не було пошкоджене. Наприклад:

    $ sha256sum -c helm-v4.0.0-linux-amd64.tar.gz.sha256sum
    helm-v4.0.0-linux-amd64.tar.gz: OK
  2. Імпортуйте публічні ключі підтримувачів Helm:

    $ curl https://raw.githubusercontent.com/helm/helm/main/KEYS | gpg --import
    примітка

    Уникайте отримання ключів з репозиторію Helm щоразу, коли ви перевіряєте бінарний файл Helm. Натомість імпортуйте ключі один раз і зберігайте їх у безпечному місці, яким ви керуєте. Це захищає вас у разі, якщо репозиторій буде скомпрометовано і ключі будуть замінені; ваша локальна копія дозволяє виявити підробку.

    Ви також можете перевірити ключі підтримувачів на Keybase, де підтримувачі Helm мають профілі, що повʼязують їхні особи з їхніми PGP-ключами.

  3. Перевірте підпис бінарного файлу. Наприклад:

    $ gpg --verify helm-v4.0.0-linux-amd64.tar.gz.asc helm-v4.0.0-linux-amd64.tar.gz
    gpg: Signature made [date] using RSA key ID [key-id]
    gpg: Good signature from "Helm Maintainer <maintainer@example.com>"

    Повідомлення "Good signature" підтверджує, що бінарний файл автентичний і не був підроблений.

    примітка

    Файли підписів безпечні для завантаження з upstream, якщо у вас є надійні копії публічних ключів. Зловмисник не зможе підробити дійсний підпис без приватного ключа, який є лише у легітимного підтримувача.

Часті запитання (FAQ) ​

Чому немає нативних пакунків Helm для Fedora та інших дистрибутивів Linux?​

Проєкт Helm не підтримує пакунки для операційних систем та середовищ. Спільнота Helm може надавати нативні пакунки, і якщо проєкт Helm буде про них поінформований, вони будуть зазначені. Саме так було започатковано та зазначено формулу Homebrew. Якщо ви зацікавлені у підтримці пакунка, ми будемо раді цьому.

Чому ви надаєте скрипт curl ...|bash?​

У нашому репозиторії є скрипт (scripts/get-helm-4), який можна виконати як скрипт curl ..|bash. Передача даних захищена за допомогою HTTPS, а скрипт виконує певну перевірку пакунків, які він завантажує. Однак скрипт має всі звичайні ризики будь-якого shell-скрипта.

Ми надаємо його, тому що він корисний, але радимо користувачам уважно прочитати скрипт перед виконанням. Насправді ми хотіли б мати кращі упаковані релізи Helm.

Як розмістити файли клієнта Helm у місці, відмінному від стандартного?​

Helm використовує структуру XDG для зберігання файлів. Існують змінні середовища, які можна використовувати для перевизначення цих розташувань:

  • $XDG_CACHE_HOME: встановлює альтернативне розташування для збереження кешованих файлів.
  • $XDG_CONFIG_HOME: встановлює альтернативне розташування для збереження конфігурації Helm.
  • $XDG_DATA_HOME: встановлює альтернативне розташування для збереження даних Helm.

Зверніть увагу, що якщо у вас є наявні репозиторії, вам потрібно буде додати їх знову за допомогою helm repo add....

Я хочу видалити локальний Helm. Де знаходяться всі його файли?​

Разом із бінарним файлом helm, Helm зберігає деякі файли у таких місцях:

  • $XDG_CACHE_HOME
  • $XDG_CONFIG_HOME
  • $XDG_DATA_HOME

Наведена нижче таблиця показує стандартну теку для кожного з цих розташувань залежно від операційної системи:

Операційна системаШлях до кешуШлях до конфігураціїШлях до даних
Linux$HOME/.cache/helm$HOME/.config/helm$HOME/.local/share/helm
macOS$HOME/Library/Caches/helm$HOME/Library/Preferences/helm$HOME/Library/helm
Windows%TEMP%\helm%APPDATA%\helm%APPDATA%\helm

Підсумки​

У більшості випадків встановлення є таким же простим, як отримання попередньо зібраного бінарного файлу helm. Цей документ охоплює додаткові випадки для тих, хто хоче робити більш складні речі з Helm.

Після успішного встановлення клієнта Helm ви можете перейти до використання Helm для керування чартами та пошуку чартів для встановлення.