Що встановлено на вашому сервері k3s?
- k3s зі стабільного каналу офіційного інсталятора, актуальної на момент встановлення версії
- Одновузловий кластер, API Kubernetes на порту 6443 і сертифікат, що включає вашу IP
- Контролер ingress Traefik на портах 80 і 443
- CoreDNS, local-storage і metrics-server, що входять до складу k3s
- Власне середовище виконання containerd від k3s, без установленого Docker
- Файл kubeconfig у /etc/rancher/k3s/k3s.yaml, який читає лише root
- Брандмауер із відкритими портами 22, 80, 443 і 6443, дозволені мережі pod і service
Який розмір потрібен для k3s?
Офіційна документація k3s просить для вузла-сервера щонайменше 2 ядра CPU і 2 ГБ RAM, тож це встановлення починається з 2 ядер. k3s працює на 2 ГБ, але для ваших застосунків лишається мало місця. Як орієнтир, для кількох малих pod розгляньте 4 ГБ, а для бази даних чи більшої кількості служб — 8 ГБ. RAM і ядра збільшуються з вашої панелі; сервер один раз перезапускається, а ваші дані та IP лишаються тими самими. Постійні томи лишаються на тому самому диску.
| Використання | Розмір | Ціна | Обрати |
|---|---|---|---|
| Стартовий | 2 GB RAM · 2 vCore · 40 GB NVMe | $4.51/міс. | |
| Середній | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/міс. | |
| Потужний | 8 GB RAM · 4 vCore · 120 GB NVMe | $13.62/міс. |
Кому підійде?
- Розробникам, які хочуть вивчати Kubernetes на власному кластері
- Командам, які випускають невеликий застосунок через маніфести чи Helm
- Конвеєрам, що розгортають через kubectl
- Усім, хто хоче перевірити локальні маніфести на справжньому сервері
Що буде після замовлення?
- Задайте щонайменше 2 ядра, виберіть розмір і завершіть оплату.
- Ваш сервер запускається, а k3s встановлюється сам. На вкладці «Огляд» дочекайтеся, поки в рядку «Застосунок» з’явиться, що k3s готовий.
- Отримайте файл: scp root@IP:/etc/rancher/k3s/k3s.yaml ~/.kube/config. Це перезаписує будь-який наявний файл, тож спершу скопіюйте його.
- У рядку server цього файлу замініть 127.0.0.1 на IP-адресу вашого сервера.
- Спробуйте: kubectl get nodes. Вузол має показувати Ready.
- Розгорніть застосунок і відкрийте його на портах 80 і 443 через Ingress.
З кожним сервером
- Щоденне резервне копіювання входить у ціну
- Необмежений трафік
- Повний доступ root
- Пізніше можна збільшувати чи зменшувати RAM і CPU, а також збільшувати диск
- Розташування: Istanbul · IST-1.
Корисно знати
- k3s.yaml — це повний ключ доступу до кластера, тож нікому його не показуйте. Порт 6443 відкритий в інтернет, а доступ відбувається за сертифікатом із цього файлу; ви можете обмежити його власною IP через ufw.
- Кластер має один вузол, тож ваші застосунки ненадовго вимикаються, коли сервер перезапускається.
- k3s поновлює сертифікати в адміністративному kubeconfig під час кожного запуску. Час від часу отримуйте свою локальну копію знову, щоб вона не прострочилася.
- Встановлення не додає менеджера сертифікатів. Для HTTPS на ваших Ingress сертифікат задаєте ви самі.
- Оновлення самі не відбуваються. Офіційний спосіб — повторно запустити інсталятор з тими самими параметрами, бо пропущені параметри втрачаються.
- Другому вузлу потрібні 8472/UDP і 10250/TCP. Офіційна документація каже, що 8472 не слід відкривати в інтернет, тож дозвольте лише IP-адресу того сервера.
k3s: запитання й відповіді
Що таке k3s і чим він відрізняється від Kubernetes?
k3s — повністю сумісний полегшений дистрибутив Kubernetes. kubectl і ваші маніфести працюють так само. Компоненти на кшталт Traefik, CoreDNS і локального сховища встановлюються разом із k3s, тож додавати їх окремо не треба.
Скільки RAM потрібно k3s?
Офіційна документація просить для вузла-сервера щонайменше 2 ядра і 2 ГБ RAM. Як орієнтир, 2 ГБ вистачає для самого k3s, 4 ГБ — хороший початок для кількох застосунків, а 8 ГБ — для бази даних і більшої кількості служб.
Як підключитися до мого кластера k3s?
Отримайте файл командою scp root@IP:/etc/rancher/k3s/k3s.yaml ~/.kube/config, замініть у ньому 127.0.0.1 на IP-адресу вашого сервера й виконайте kubectl get nodes. На самому сервері також працює k3s kubectl.
Як відкрити мій застосунок на k3s?
Опишіть Service та Ingress. Контролер ingress Traefik слухає порти 80 і 443 та передає запити вашій службі. Для HTTPS додайте власний сертифікат як Secret.
Як працюють постійні томи на k3s?
k3s містить Local Path Provisioner із класом сховища local-path. Томи створюються в /var/lib/rancher/k3s/storage на сервері, тож потрапляють у щонічну резервну копію. Зберігаються останні 7 днів, і це входить у ціну.
Чи можна використовувати Helm з k3s?
Так. Інструмент helm на вашому комп’ютері підключається через той самий файл kubeconfig. k3s також сам застосовує файли, які ви кладете в /var/lib/rancher/k3s/server/manifests, зокрема ресурси HelmChart.