☸️ نحوه نصب Cosnul در Kubernetes – Squad Security Security

در این راهنما ، مرکز داده های کنسول را با نمودار رسمی Helm مستقر می کنید.

برای راه اندازی اصلی نیازی به بروزرسانی هیچ مقداری در نمودار Helm نیست.

با این وجود ، می توانید یک پرونده مقادیر را با پارامترها ایجاد کنید تا اجازه دسترسی پیدا کند. به رابط کاربری کنسول.

اخطار امنیتی. این کتابچه راهنما برای استفاده نیست. به طور پیش فرض ، پیکربندی ناامن کنسول روی نمودار نصب خواهد شد. لطفاً به اسناد Kubernetes مراجعه کنید تا تعیین کنید که چگونه می توانید از امنیت کنسول در Kubernetes در تولید مطمئن شوید. علاوه بر این ، اکیداً توصیه می شود که از یک خوشه Kubernetes به درستی استفاده کرده و از ویژگیهای امنیتی توصیه شده مطمئن شوید که می دانید و فعال می کنید.

شما باید یک خوشه Kubernetes موجود و پنجره ها توسط Helm و kubectl تنظیم شده اند.

اگر خوشه ای از Kubernetes ندارید ، می توانید از این راهنما استفاده کنید:

Expand Consul

شما می توانید با استفاده از نمودار رسمی Helm ، یک مرکز داده کامل کنسول مستقر کنید.

سه سرور کنسول و یک مشتری در تمام گره های Kubernetes روی نمودار نصب خواهند شد.

برای کسب اطلاعات بیشتر در مورد تنظیمات پیش فرض می توانید مقادیر نمودار را مشاهده کنید.

بارگیری نمودار Helm

برای اولین بار ، شما نیاز به کلون کردن نمودار رسمی Helm از مخزن گشوب از HashiCorp.

 $ git  clone  https://github.com/ hashicorp / consul-helm.git 

لازم نیست قبل از استقرار کنسول ، نمودار Helm را به روز کنید ، پیش فرض معقول دارد.

برای اطلاعات بیشتر به اسناد نمودار Helm مراجعه کنید.

نصب کنسول از طریق Helm

برای استقرار کنسول ، باید در همان فهرست مانند نمودار باشید.

 $  cd  konsul-helm 

اکنون می توانید کنسول را با استفاده از نصب کلاه ایمنی مستقر کنید. [19659002] این کار سه سرور و نماینده را در همه گره های Kubernetes مستقر می کند.

این روند باید سریع ، کمتر از 5 دقیقه باشد.

 $ helm install.

نام: mollified-robin منتخب اخر: دوشنبه 25 فوریه 15 15:57:18 2019 نام: وضعیت پیش فرض: جایگزین
نام مستقل وضعیت احیاء سن
mollified-robin-consul-25r6z 0/1 ContainerCreating 0 0s
mollified-robin-consul-4p6hr 0/1 ContainerCreating 0 0s
mollified-robin-consul-n82j6 0/1 ContainerCreating 0 0s
mollified-robin-consul-server-0 0/1 در انتظار 0 0 ثانیه
mollified-robin-consul-server-1 0/1 در انتظار 0 0 ثانیه
mollified-robin-consul-server-2 0/1 در انتظار 0 0 ثانیه 

خروجی نشان داده شده در بالا برای خوانایی کاهش یافته است.

با این حال ، می بینید که در این خوشه Kubernetes با سه گره ، سه سرور کنسول و سه وجود دارد. مشتری کنسول.

دسترسی به UI Consul

برای دسترسی به رابط کاربری ، شما باید مقادیر رابط کاربری را در نمودار به روز کنید.

از طرف دیگر ، اگر نمی خواهید خوشه خود را به روز کنید ، می توانید با استفاده از kubectl حمل و نقل پورت را پیکربندی کنید.

پرونده مقادیر را ایجاد کنید

ابتدا ، یک پرونده با ارزش ایجاد کنید که هنگام بروزرسانی ، بر روی خط فرمان منتقل شود.


 global: 
   datacenter:   hashidc1 
 syncCatalog: 
   فعال: 
 ] ui: 
   service: 
   نوع:   سرور 'LoadBalancer' 
:: 
   وابستگی:   |
     podAntiAffinity: 
   requiredDuringSchedulingIgnoredDuringExecution: 
   - labelSelector: 
   matchLabels: 
   برنامه:   {{ : قالب   "consul.name"    . }} 
   انتشار:   "[ {{.Release.Name}} " 
   مؤلفه:   سرور 
   topologyKey:   kubernetes.io/hostname   

این پرونده به مرکز داده شما تغییر نام می دهد ، همگام سازی دایرکتوری را فعال می کند ، متعادل کننده بار را برای رابط کاربری پیکربندی می کند ، و اتصال را قادر می سازد تا فقط یک زیر سیستم کنسول در هر گره Kubernetes اجازه دهد.

گزینه های همگام سازی دایرکتوری به شما امکان می دهد خدمات Kubernetes را ببینید. در رابط کاربری کنسول.

شروع به روزرسانی

سرانجام ، با استفاده از ارتقاء کلاه و پرچم -f ، که به پرونده مقادیر جدید منتقل می شود ، ارتقاء را آغاز کنید.

این روند همچنین باید سریع باشد ، کمتر از یک دقیقه.

 $ helm upsed konsul -f .yaml  

اکنون می توانید از خدمات دریافت کوبکتل برای تعیین آدرس IP خارجی رابط کاربری کنسول خود استفاده کنید.

 $ kubectl دریافت خدمات
نام TYPE CLUSTER-IP EXTERNAL-IP PORT (S) سن
کنسول ExternalName  consul.service.consul  11d
kubernetes ClusterIP 122.16.14.1  443 / TCP 137d
mollified-robin-consul-dns ClusterIP 122.16.14.25  53 / TCP، 53 / UDP 13d
ClusterIP Noll  8500 / TCP 13d
mollified-robin-consul-ui LoadBalancer 122.16.31.395 36.276.67.195 8 

همچنین می توانید از غلاف های kubectl برای مشاهده روند همگام سازی جدید استفاده کنید.

فرایند همگام سازی دایرکتوری پیش فرض همزمان خدمات کنسول و Kubernetes را همزمان می کند.

 $ kubectl  غلاف های  دریافت کنید
نام مستقل وضعیت احیاء سن
mollified-robin-consul-d8mnp  1  /  1  در حال اجرا  0           15  d
mollified-robin-consul-p4m89  1  /  1  در حال اجرا  0           15  d
mollified-robin-consul-qclqc  1  /  1  در حال اجرا  0           15  d
mollified-robin-consul-server  -0                         1  /  1  در حال اجرا  0           15  d
mollified-robin-consul-server  -1                         1  /  1  در حال اجرا  0           15  d
mollified-robin-consul-server  -2                         1  /  1  در حال اجرا  0           15  d
mollified-robin-consul-sync -atalog-f75cd5846-wjfdk  1  /  1  Running  0  

خدمات به اسم کنسول خدمت اضافه شد.

توجه داشته باشید که هنگام ورود به داشبورد نیازی به تعیین پورت ندارید.

دسترسی به کنسول

علاوه بر دسترسی به کنسول با استفاده از رابط کاربری ، می توانید کنسول را با استفاده از HTTP API کنترل کنید یا مستقیماً با استفاده از کوبکتل به آینه وصل شوید.

Kubectl

برای دسترسی به دایرکتوری غلاف و داده ها ، می توانید کدیکتل را در غلاف اجرا کنید تا جلسه پوسته را شروع کنید.

 $ kubectl  exec  -it mollified-robin-consul-server-0 / bin / sh  

با این کار به شما امکان می دهید تا روی سیستم پرونده پیمایش کرده و دستورات کنسول CLI را در پایین اجرا کنید.

به عنوان مثال ، می توانید اعضای کنسول را مشاهده کنید.

 اعضای کنسول $
بخش وضعیت نوع ساخت پروتکل قطعه DC
mollified-robin-consul-server-0 172.20.2.18:8301 server live 1.4.2 2 hashidc1 
mollified-robin-consul-server-1 172.20.0.21:8301 server live 1.4.2 2 hashidc1 
mollified-robin-consul-server-2 172.20.1.18:8301 server live 1.4.2 2 hashidc1 
gke-tier-2-cluster-default-pool-leri5 172.20.1.17:8301 مشتری زنده 1.4.2 2 hashidc1 
gke-tier-2-cluster-default-pool-gnv4 172.20.2.17:8301 مشتری زنده 1.4.2 2 hashidc1 
gke-tier-2-cluster-default-pool-zrr0 172.20.0.20:8301 مشتری زنده 1.4.2 

کنسول HTTP API

شما می توانید با تماس با یک نماینده محلی که در هاست Kubernetes مستقر است ، از Consul HTTP API استفاده کنید.

اگر می خواهید اطلاعات بیشتری در مورد استفاده از کنسول HTTP API با Kubernetes کسب کنید ، می توانید مستندات را بخوانید.

خلاصه

شما در این راهنما ، مرکز داده های کنسول را با استفاده از نمودار رسمی Helm به Kubernetes مستقر می کنید.

شما همچنین دسترسی رابط کاربری را پیکربندی کرده اید.