Kubernetes dockershim да живее

  • Sep 02, 2023

Kubernetes обезценява dockershim, но Mirantis ще продължи да поддържа кода на Kubernetes Docker shim извън Kubernetes като CRI интерфейс за Docker Engine.

Когато Kubernetes 1.23 бъде пуснат към края на 2021 г., това ще стане вече не включват dockershim. Тази програма ви позволява да използвате средата за изпълнение на контейнер Docker containerd в Kubernetes. За съжаление, Docker никога не е бил проектиран да бъде вграден в Kubernetes и е несъвместим с Kubernetes Интерфейс за изпълнение на контейнери (CRI). Корекцията беше за dockershim, за да преодолее пропастта между тях Контейнер на докер и CRI. Поддържането на dockershim обаче беше трудно, така че Kubernetes започна да го обезценява. Мирантис, който сега притежава програмата Docker, ще продължи да поддържа dockershim в Докер двигател и Mirantis Container Runtime с Kubernetes.

трябва да се прочете

Какво е Kubernetes? Как оркестрацията предефинира центъра за данни

След малко повече от четири години проектът се роди от вътрешните усилия на Google за управление на контейнери преобърна най-добре обмислените планове на VMware, Microsoft, Oracle и всеки друг кандидат-крал на данните център.

Прочетете сега

Първо, но трябва да отбележа, че всъщност не се нуждаете „Docker“, който е цял набор от софтуер, за да стартирате Docker контейнери в Kubernetes. Както отбелязват разработчиците на Kubernetes, "Docker все още е полезен инструмент за изграждане на контейнери, а изображенията, които са резултат от стартиране на компилация на docker, все още могат да се изпълняват във вашия клъстер Kubernetes." Но може да се наложи да направете промени, за да избегнете счупването на вашите клъстери, когато dockershim вече не е наоколо, за да ви свърже с Docker време на изпълнение. Вместо това ще трябва да преминете към поддържано време за изпълнение на контейнер, като например runc-базиран контейнер и CRI-O.

Или потребителите на Mirantis Kubernetes Engine (по-рано Docker Enterprise/UCP) могат да се обърнат към Docker-съвместимата среда за изпълнение на контейнери Mirantis. Това ще осигури непрекъсната съвместимост и безпроблемен преход, след като Kubernetes 1.23 пристигне. „Казано просто“, казва Райън Бари за Mirantis, „когато Mirantis актуализира версията на Kubernetes в Mirantis Kubernetes Engine до 1.23, ние също ще актуализираме Mirantis Container Runtime, така че всичко „просто върши работа.'"

как? Като продължим да поддържаме dockershim като отделна програма. За да се гарантира, че работи с Kubernetes, той включва CRI-обвивка, cri-dockerd.

С това dockershim може да работи като отделен демон. Това представя очаквания API за параметрите `--container-runtime=remote` и `--container-runtime-endpoint=` на kubelet, с достатъчно промени, за да премине тестовите пакети critest и kube-e2e.

Това обаче е малко прекалено сложно за комфорт. Mirantis и други разработчици с отворен код работят върху преместването на работните процеси от dockershim директно в cri-dockerd. В този случай работният процес ще бъде просто kubelet -> cri-dockerd -> docker. Това ще намали както използването на ресурси за изпълнението му, така и тежестта на поддръжката на разработката.

Изводът е, че ако искате да се придържате към това, което вече знаете за използването на Docker с Kubernetes, ще можете да го направите с cri-dockerd и dockershim.

Свързани истории:

  • Mirantis ще поддържа остарелите Kubernetes dockershim
  • Mirantis осигурява последователно изживяване на Kubernetes на различни платформи
  • Контейнеризирани облаци OpenStack? Разбира се, казва Мирантис