مقدمه
Kubernetes به ما اجازه می دهد تا اعتبارنامه رجیستری کانتینر خصوصی را با استفاده از imagePullSecrets برای هر غلاف یا برای هر فضای نام بندی پیکربندی کنیم. و برای همیشه.
ما یک برنامه Kubernetes با منبع آزاد باز به نام imagepullsecret-patcher را باز کردیم که به طور خودکار imagePullSecrets را برای حسابهای خدمات پیش فرض در همه مکانهای نام Kubernetes ایجاد و رفع می کند تا اجازه دسترسی پیدا کند. ص تأیید صحت کل خوشه ها در رجیستری کانتینرهای خصوصی.
ما اخیراً چندین خوشه داخلی Kubernetes را ایجاد کردیم و کار بر روی آنها را آغاز کردیم.
خوشه ها باید به رجیستری کانتینرهای خصوصی ما در Google Cloud دسترسی پیدا کنند تا تصویری از ما دریافت کنند. Docker private.
ما می توانیم این کار را با ایجاد یک راز Kubernetes برای اولین بار با استفاده از پیکربندی Docker انجام دهیم.
ating ایجاد راز TLS در Kubernetes
kubectl ایجاد docker-registry image-pull-secret
-n
--docker-server =
--docker-username =
--docker-password =
--docker-email =
به عنوان یک یادداشت ، Google Container Registry (GCR) از روش تأیید اعتبار فایل JSON پشتیبانی می کند ، که از _json_key به عنوان نام کاربری و محتوای کلید خصوصی سرویس خدمات به عنوان رمز عبور استفاده می کند.
بعدی ، دو روش برای استفاده از تصویر مخفی که اخیراً ایجاد کردیم وجود دارد.
یکی از راه های تعیین این موضوع در تعریف Pod است.
نوع: غلاف
ابرداده:
نام: برنامه من
فضای نام: فضای نام من
مشخصات:
ظروف:
- نام: برنامه من
تصویر: رجیستری my-private / my-app: v1
imagePullSecrets:
- name: image-pull-secret
روش دیگر اضافه کردن آن به حساب استاندارد ServiceAccount در فضای نام Pod با استفاده از دستور patch kubectl است.
kubectl patch serviceaccount پیش فرض
-p "" imagePullSecrets ": [{"name": "image-pull-secret"}]}"
-n
ما راه دوم را طی کردیم ، بنابراین مدیران خوشه فقط باید برای هر مکان نام یک بار این کار را انجام دهند ، و توسعه دهندگان همچنین می توانند از اضافه کردن خطوط اضافی به تعاریف استقرار خودداری کنند.
با این حال ، ما انتظار داریم نام های جدید خیلی اوقات ایجاد می شود ، و این یک مسئولیت برای سرپرستان خوشه ما خواهد شد ، زیرا آنها مجبور می شوند وقتی یک فضای نام جدید به خوشه ها اضافه می شوند ، این کار را دوباره انجام دهند.
بنابراین ، با در نظر گرفتن مزایای اتوماسیون ، تعداد کمی وجود دارد. برنامه ما Kubernetes Client-Go است.
پیاده سازی
در اینجا دیاگرامی وجود دارد که گردش کار imagepullsecret-patcher را نشان می دهد.
] به مخزن GitHub.
ما آن را در عمل خواهیم دید
پس از استقرار Kubernetes در خوشه های ما ، می توانیم آن را در عمل مشاهده کنیم!
همانطور که از دو گزارش آخر در این تصویر مشاهده می کنید ، هنگامی که یک نام نام خانوادگی سازگاری جدید ایجاد شد ، به طور خودکار کار را انجام می داد ، یک راز در فضای نام ایجاد می کرد و حساب کاربری پیش فرض را تصحیح می کرد.

تیم ها شروع به استقرار برنامه های خود در فضای نام کردند ، آنها قبلاً احراز هویت را در پرونده شخصی ما بدون مشکل تصویب کردند.