Зміцнення образів контейнерів Docker

Стандартні образи Istio базуються на ubuntu з доданими додатковими інструментами. Альтернативні образи на основі distroless images також доступні.

Ці образи видаляють всі непотрібні виконувані файли та бібліотеки, що пропонує такі переваги:

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

Дивіться також розділ Why should I use distroless images? у офіційному README distroless.

Встановлення distroless образів

Слідуйте Інструкціям з установки для налаштування Istio. Додайте опцію variant, щоб використовувати distroless images.

$ istioctl install --set values.global.variant=distroless

Якщо вас цікавлять тільки distroless образи для проксі образів для інʼєкцій, ви також можете використовувати поле image.imageType у Proxy Config. Зазначте, що вищезгаданий прапорець variant автоматично налаштує це за вас.

Налагодження

Distroless образи не містять жодних інструментів для налагодження (включаючи оболонку!). Хоча це чудово для безпеки, це обмежує можливість виконання ad-hoc налагодження за допомогою kubectl exec у контейнері проксі.

На щастя, Ефемерні контейнери можуть допомогти в цьому. kubectl debug може прикріпити тимчасовий контейнер до podʼа. Використовуючи образ з додатковими інструментами, ми можемо налагоджувати як раніше:

$ kubectl debug --image istio/base --target istio-proxy -it app-65c6749c9d-t549t
Defaulting debug container name to debugger-cdftc.
If you don't see a command prompt, try pressing enter.
root@app-65c6749c9d-t549t:/# curl example.com

Це розгортає новий тимчасовий контейнер, використовуючи istio/base. Це той самий базовий образ, що використовується в не-distroless образах Istio, і містить різноманітні інструменти, корисні для налагодження Istio. Однак будь-який образ буде працювати. Контейнер також приєднано до простору імен процесу sidecar проксі (--target istio-proxy) та мережевого простору імен podʼа.

Чи була ця інформація корисною?
Чи є у вас пропозиції щодо покращення?

Дякуємо за ваш відгук!