Bottlerocket
dnf install щось
shell
У традиційному сервері адміністратор здатна:
у нього було ім'я,
Admin container — контейнер для глибшого адміністративного доступу. Звичайний серверний Linux, як приклад Ubuntu Server або AlmaLinux, схожий на повний набір інструментів:
12. можна NAS виступає як node → керую через SSM/API/orchestrator. |- | Rollback | Можна повернутися до попередньої версії після проблем. |- | Орієнтація | Kubernetes і ECS. Налаштувати IAM/SSM доступ. | Класичний Linux-підхід. |}
я для контейнерів. | Сприймати його як container appliance OS. |}
SELinux оптимізує обмежити процеси навіть тоді, коли звичайні UNIX-права доступу дозволили б більше. | Немає в класичному сенсі. ! оновити бібліотеку B а як image-based update. приєднався до cluster,
Bottlerocket з'явився у період, коли container infrastructure стала масовою, а класичні server OS почали виглядати занадто великими для Kubernetes/ECS nodes. :contentReference [oaicite:0]{index=0}
|- | Походження | AWS. |}
43. Висновок
38. Базовий чеклист для використання
Людське пояснення: Ubuntu Server — це майстерня з багатьма інструментами. * не general purpose OS;
- незручна для ручного SSH-адміністрування;
- немає package manager;
- сильна AWS-орієнтація;
- потребує Kubernetes/ECS-мислення;
- не підходить для non-container workloads;
- має learning curve для класичних Linux-адміністраторів. |-
| 2020-ті | Bottlerocket розвивається для EKS, ECS, Kubernetes, AWS EC2, Arm, NVIDIA, FIPS та інших variant-сценаріїв. “Які пакети ви хочете встановити на сервер?” Bottlerocket схожий на спеціальний контейнерний “фундамент”:
+--> Bottlerocket worker node
|- | Control container | Керування системою, SSM, API-доступ. Amazon ECS-документація зазначає, що Bottlerocket за замовчуванням має enabled control container, який запускає AWS Systems Manager agent для команд або shell sessions на EC2 Bottlerocket instances. |- | Керування | Bottlerocket API, SSM, orchestrator. Він замінює їх саме в ролі container host, де універсальність не потрібна, а спеціалізація — перевага. Hardware / EC2 Instance / VM
+--> pods
Загальна схема:
== 11. Admin container ==
“Не роби з кожного node ручну унікальну сніжинку. Bottlerocket
apiclient set settings.host-containers.admin.enabled=true
v
Приклади логіки variants:
Bottlerocket — це спеціалізована Linux-based операційна платформа від AWS для запуску контейнерів. Якщо node зламався або став “дивним”, cloud-native підхід часто такий:
</div>
== 18. ECS Updater ==
* EKS worker nodes;
* ECS container instances;
* immutable host OS;
* автоматизовані updates;
* менший attack surface;
* container-only workloads;
* GPU/FIPS/architecture-specific variants;
* platform engineering;
* cloud-native operations. Типова схема:
== 42. Bottlerocket у сучасній інфраструктурі ==
Ключові етапи:
Це критично, бо package manager на host-системі дозволив би:
Bottlerocket навпаки каже:
10. Його головна роль — бути мінімальним, безпечним і автоматизованим container host. |-
| API-driven configuration
| інтуїтивно для автоматизації та fleet management. Amazon Linux
orchestrator integration
+--> Containers
Він не дуже зручний для ручного адміністрування, зате добре підходить для автоматизованих container clusters, де важливі однаковість, безпека, оновлення версій й мінімум зайвого. +--> Bottlerocket container instance
У Bottlerocket ідея інша:
small attack surface
[[Amazon EKS]]
оновлення версій Bottlerocket виконуються не як звичайне:
|-
| Bottlerocket не має package manager
| Це зроблено навмисно, щоб зменшити attack surface і configuration drift. :contentReference [oaicite:11]{index=11}
{| class="wikitable"
'''Bottlerocket''' — це спеціалізована операційна платформа для запуску контейнерів, яку розробляє Amazon Web Services. Значення
[[Amazon Linux]]
бути надійним вузлом для контейнерів
== 15. Bottlerocket і Amazon ECS ==
! Використовувати Update Operator або ECS Updater. |-
| Admin container
| Глибший troubleshooting-доступ, зазвичай вимкнений. |}
Bottlerocket створений із сильним security-фокусом. |}
! Bottlerocket зменшує attack surface, бо не містить багато речей, які не потрібні для container host.
{| class="wikitable"
2.== 17. Update Operator ==
офіційний FAQ Bottlerocket пояснює, що SSM виступає як preferred way to access a Bottlerocket node, а якщо SSM не підходить, можна отримати доступ через SSH за допомогою admin container.== 8. Немає package manager == zypper update У Bottlerocket застосунки мають запускатися в контейнерах, а не встановлюватися в host OS. |- | Bottlerocket immutable | Root filesystem не змінюється як у звичайному Linux. | Kubernetes-only OS. Для Kubernetes виступає як Bottlerocket Update Operator. |- | “Чому не можу без зусиль зайти SSH?” | SSH не виступає як основним шляхом. У класичному Linux оновлення версій — це багато маленьких змін: ! :contentReference [oaicite:2]{index=2} apiclient get
31. Порівняння з Ubuntu Server
! |- | Admin container зазвичай потрібен лише для troubleshooting | Ідея — не адмініструвати node руками щодня. |- | aarch64 variants | Arm-based інстанси. |- | SSH | Не базовий шлях, admin container як fallback. Налаштувати logging і monitoring як containers. | General purpose Linux для AWS. | A/B updates, automatic updates. |- | NVIDIA variants | GPU workloads. це відкрита Linux-based операційна платформа від Amazon Web Services. ! API configuration
Але на практиці найбільш природне середовище для нього — AWS, EKS, ECS і EC2. Якщо хочеться чистий container node — тоді саме так. +--> ECS agent
== 9. API-driven configuration ==
подивитися логи
settings.ntp.time-servers
{| class="wikitable"
== 16. оновлення версій Bottlerocket ==
! | VPS, web servers, databases, Docker host, general server. AWS підкреслює, що Bottlerocket includes only essential software required to run containers, що оптимізує зменшити maintenance overhead і покращити secure workflow. Призначення
{| class="wikitable"
|-
| Не general purpose OS
| Не підходить для звичайного серверного адміністрування. * потрібен звичайний VPS;
* потрібно вручну встановлювати пакети на host;
* потрібен SSH-first administration;
* потрібно запускати non-container services на host;
* команда не використовує Kubernetes або ECS;
* потрібна максимальна гнучкість host-системи;
* інфраструктура не AWS і немає бажання адаптувати Bottlerocket;
* потрібна desktop або general server OS. :contentReference [oaicite:1]{index=1}
+--> control container
а замінити node на новий чистий екземпляр. Bottlerocket здатна бути не найкращим варіантом, якщо: а ваші застосунки запускайте в контейнерах.” user-installed packages |- | базовий фокус | Containers, EKS/ECS, AWS integration. “Я буду чистим і передбачуваним вузлом,
! Типова схема: можна сервер
11. | Використовувати SSM/control container/admin container. | Немає SSH. Хоча Bottlerocket асоціюється з AWS, він виступає як open source і здатна використовуватися не лише в AWS. Критерій запустив containers, package managerAWS у 2020 році описувала Bottlerocket як new special-purpose operating system designed for hosting Linux containers. |- | Менший attack surface | Немає зайвих пакетів і package manager. |- | Доступ | SSM/API/control container/admin container. |- | Package manager | Немає. Перевага == 37. Типові помилки новачків ==
Це відповідає ідеї, що node не оновлюється “сам по собі”, а разом з orchestrator-ом. | У Bottlerocket філософія інша: Типові: Attack surface — це кількість місць, через які систему потенційно можна атакувати. Недолік
- container-first design;
- immutable root filesystem;
- відсутність package manager;
- менший attack surface;
- API-driven configuration;
- integration з EKS/ECS;
- control і admin containers;
- image-based updates;
- rollback;
- update waves;
- open source development. |-
| SSH не виступає як основним способом доступу | Preferred access у AWS-сценаріях — через SSM і control container. не лікувати вручну,
зайти по SSH minimal host OS
+--> update system
== 23. Цікавий факт: Bottlerocket — це Linux, який не хоче бути “універсальним” ==
|
settings.host-containers.admin.enabled
і дозволяти orchestrator-у керувати workload-ами. | DNF/YUM залежно від версії. на інший перевірений образ ОС. Ubuntu Server
Приклад:
* перевіряти оновлення версій для Bottlerocket container instances;
* drain-ити ECS tasks;
* оновлювати instances;
* координувати оновлення версій в cluster;
* зменшувати вплив на workloads. | API-driven через talosctl.<pre>
! |-
| Vendor ecosystem
| AWS. Bottlerocket підтримує Linux containers і OCI-compatible images.[[Amazon EC2]]
* потрібні Kubernetes worker nodes;
* застосовується для Amazon EKS;
* застосовується для Amazon ECS;
* потрібна immutable container OS;
* важлива мінімальна attack surface;
* команда готова до API-driven management;
* потрібні automated updates;
* потрібен rollback;
* workloads запускаються лише в контейнерах;
* інфраструктура вже в AWS;
* виступає як platform engineering-підхід. Bottlerocket
<pre>
Його роль:
== 29. конкурентні переваги Bottlerocket ==
+--> kubelet
перезапустити сервіс
[[SSM]]
<pre>
== 44. Джерела ==
Типові workload-и:
оновити сервіс D
<pre>
Це означає, що він функціонує з сучасним container ecosystem. {| class="wikitable"
поставити пакет 40. Людське пояснення: чим виступає як Bottlerocketsettings.kubernetes.api-server
|