آخرین نسخه Kubernetes Kubernetes v1.20.0-rc.0 اکنون در دسترس است. پروژه Kubernetes قصد دارد پشتیبانی Docker Engine را از kubelet محروم کند و پشتیبانی از dockershim در نسخه آینده ، احتمالاً اواخر سال آینده ، حذف خواهد شد. net / net از تصاویر کانتینر شما که با ابزار Docker ساخته شده پشتیبانی نمی کند و دیگر مانند گذشته کار نخواهد کرد.
با این حال خبر بهتر این است که Mirantis و Docker برای حفظ شیم کد توافق کرده اند خارج از Kubernetes ، به عنوان یک رابط CRI سازگار برای موتور Docker. ما با نمونه اولیه عالی از Dims ، در https://github.com/dims/cri-dockerd شروع خواهیم کرد و همچنان به عنوان یک پروژه منبع باز در https: // github در دسترس خواهیم بود. com / Mirantis / cri-dockerd. این بدان معنی است که شما می توانید مانند قبل فقط بر اساس Docker Engine به ساخت Kubernetes بپردازید و فقط از dockershim داخلی به یک خارجی تغییر دهید. داکر و میرانتیس با هم همکاری خواهند کرد تا اطمینان حاصل کنند که مانند گذشته به کار خود ادامه داده و تمام آزمایشات انطباق را پشت سر گذاشته و درست مانند نسخه ساخته شده کار می کند. Docker به ارسال این براق در Docker Desktop ادامه خواهد داد زیرا این یک تجربه عالی برای توسعه دهنده فراهم می کند و Mirantis از این ویژگی در موتور Mirantis Kubernetes استفاده خواهد کرد.
اگر از Docker و Kubernetes استفاده می کنید ، این برای شما چه معنایی دارد؟
اول از همه ، وحشت نکنید … توسعه دهندگان هنوز هم می توانند از پلت فرم Docker برای ساخت ، اشتراک و راه اندازی کانتینرها استفاده کنند کوبرنتس! این تغییر در درجه اول بر اپراتورها و سرپرستان Kubernetes تأثیر می گذارد و بر روند کار توسعه دهندگان تأثیر نمی گذارد. تصاویری که Docker می سازد با OCI (طرح ابتکاری کانتینر باز) مطابقت دارد ، کاملاً در کانتینرها پشتیبانی می شود و در Kubernetes نیز بسیار عالی اجرا می شود.
اگر از Docker استفاده می کنید ، در حال حاضر از Contained استفاده می کنید. ما زمان اجرای Docker را با ظرفیت زیاد و در عین حال ارائه یک تجربه توسعه دهنده عالی در اطراف آن ، ایجاد می کنیم. برای محیط های تولیدی که از حداقل زمان استفاده از کانتینر بهره می برند ، مانند Kubernetes ، و ممکن است دیگر نیازی به تجربه عالی توسعه دهنده Docker نداشته باشند ، منطقی است که مستقیماً از زمانهای سبک مانند کانتینر استفاده کنید.
Docker در سال 2015 با عنوان Open Container Initiation (OCI) ) به منظور پشتیبانی از استانداردهای کانتینر کاملاً قابل تطبیق ، و اطمینان حاصل کنید که هر کانتینر می تواند در هر محیطی کار کند. این موفقیت بزرگی در ترویج نوآوری با حفظ قابلیت همکاری بوده است.
Docker پروژه کانتینر دار را به همراه گوگل و IBM در سال 2016 با هدف این انتقال ایجاد کرد. استهلاک docker-shim (و Docker Engine به عنوان زمان اجرا) نشان دهنده اتمام یک تعهد طولانی مدت برای تهیه یک زمان اجرا مدرن برای Kubernetes است. Containerd به عنوان یک زمان اجرا برای سطح پایین و قابل توسعه برای داکر و Kubernetes ایجاد شد تا هر یک از آنها به مناسب ترین روش استفاده شود.
Containerd در سال 2017 به CNCF اهدا شد ، و با استفاده از پروژه CRI کانتینر شده برای ایجاد ارتباط با Kubernetes و همچنین دیدن تعداد زیادی نوآوری و سرمایه گذاری از سراسر صنعت ، از جمله آمازون ، گوگل ، مایکروسافت و IBM ، رشد کرده است. .
در سال 2019 به یک پروژه فارغ التحصیل CNCF تبدیل شد ، بالاترین سطح پروژه ، که بلوغ آن را نشان می دهد و همچنان تنها زمان اجرای کانتینر با این وضعیت است. طی چند سال گذشته ارائه دهندگان خدمات برجسته Kubernetes مانند AWS و Google به دلیل زمان اجرای Kubernetes به Containerd مهاجرت کرده اند. این روند استهلاک هم اکنون نشان دهنده موفقیت بزرگ این کار و جامعه پر رونق در اطراف کانتینر است.
پشتیبانی از تصاویر کانتینر ساخته شده با ابزار Docker منسوخ نمی شود.
تصاویر ظرفی که با استفاده از Docker می سازید ابزارها همچنان در Kubernetes اجرا می شوند. Buildkit ، زیرساخت ساخت نسل بعدی ما ، دارای معماری انعطاف پذیر است به طوری که اگرچه می توان از آن به عنوان سازنده Docker استفاده کرد ، همچنین می تواند به جای استفاده در زیرساخت هایی که ممکن است Docker در دسترس نباشد ، مستقیماً با containerd یا runc صحبت کند.
Docker متعهد به توسعه محصولی است: ما همچنین به همراه جامعه رو به رشد buildkit برای کمک به شما در استفاده از ساخت Docker در هر کجا و با هر میزبانی از زیرساخت های خود ، سرمایه گذاری بیشتری خواهیم کرد. به طور محلی و در خوشه Kubernetes شما ، زیرا این استهلاک بر این تجربه تأثیر نخواهد گذاشت.
پروژه Kubernetes چه استهلاک می کند؟ آرنو پورتری در مورد این موضوع نظرات خوبی داشت که را در اینجا به اشتراک گذاشت.
پروژه Kubernetes نیز این س FAالات متداول را منتشر کرده است. Kat Cosgrove در توضیح تغییرات خیلی ساده اینجا کار بزرگی انجام داد.
این برای توسعه دهندگان و سرپرستان چه معنایی دارد؟
امروز و در Kubernetes v1.20 ، مدیران Kubernetes می توانند به استفاده از docker ادامه دهند دستورات و دستورات kubectl برای مدیریت خوشه های Kubernetes خود.
سرپرستان Kubernetes می توانند از dockershim در آینده استفاده کنند. برای اطلاعات به روز شده در مورد آینده dockershim و چگونگی نصب shim مستقل ، به وبلاگهای Mirantis و Docker توجه داشته باشید.
در نسخه آینده Kubernetes ، چند نسخه جزئی از هم اکنون ، زمانی که پشتیبانی از dockershim داخلی است ، سرانجام Kubernetes از کوبلت Kubernetes حذف شد ، باید اطمینان حاصل کند که دستورات docker برای بازرسی خوشه های Kubernetes به کار خود ادامه می دهند. توسعه دهندگان می توانند به استفاده از ابزار Docker برای ظروف و تصاویر کانتینر در Kubernetes از [dockerbuild ، docker push
و docker run
docker build
پیشینه بیشتر
KEP-1985: پیشنهاد افزایش Kubernetes برای حذف dockershim از Kubelet
سوالات؟ بازخورد؟
اگر س questionsال یا بازخورد دیگری دارید ، لطفاً با شل شدن Docker تماس بگیرید.
docker push
و docker run
docker build