در این راهنما ، مرکز داده های کنسول را با نمودار رسمی 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 مستقر می کنید.
شما همچنین دسترسی رابط کاربری را پیکربندی کرده اید.