Kubernetes Ingress مسیریابی مجدد را در این دوره از کانتینر کردن تعریف کرد و با تمام این روش های مسیریابی ، فکر "روتر من قانون من است" واقعی به نظر می رسد.
ما از nginx-ingress به عنوان سرویس مسیریابی برای برنامه های خود استفاده می کنیم.
چیزهای بیشتری وجود دارد.
یکی از ویژگی های مهم پیکربندی احراز هویت برای برنامه ما است.
از آنجا که همه ترافیک ها از ورود به خدمات ما عبور می کند ، پیکربندی احراز هویت منطقی است.
همانطور که در مخزن ذکر شد ، انواع مختلفی از تأیید اعتبار موجود است ، از جمله:
احراز هویت اساسی (اصلی)
تأیید اعتبار.
احراز هویت خارجی
احراز هویت خارجی Oauth
در این راهنما ، با استفاده از تکنیک اصلی تأیید اعتبار Ingress ، احراز هویت را پیکربندی می کنیم.
پیش نیازها
دسترسی به خوشه کاری kubernetes [
درک اصطلاحات کوبنتز مانند برای غلافها ، استقرارها ، سرویسها ، پیکربندیها ، اینگها و حاشیه نویسی
ابتدا بیایید با اجرای دستور زیر ، منابع را برای مثال از Ingress ایجاد کنیم.
$ kubectl ایجاد -f https: // raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/mandatory.yaml
namespace "ingress-nginx" ایجاد شده است
استقرار "پیش فرض-صفحه-پس زمینه" ایجاد شده است
سرویس "پیش فرض-صفحه-پس زمینه" ایجاد شده است
پیکربندی "nginx-configuration" ایجاد شده است
configmap "tcp-service" ایجاد شده است
configmap "خدمات udp" ایجاد شده است
serviceaccount "nginx-ingress-serviceaccount" ایجاد شد
clusterrole "nginx-ingress-clusterrole" ایجاد
نقش "nginx-ingress-role" ایجاد کرد
rolebinding "nginx-ingress-role-nisa-binding" ایجاد
clusterrolebinding "nginx-ingress-clusterrole-nisa-binding" ایجاد
استقرار "nginx-ingress-Controller" ایجاد شده
اکنون که منابع ورودی ایجاد شده اند ، ما برای دسترسی به آن به یک سرویس نیاز داریم.
برای ایجاد سرویس از مانیفست زیر استفاده کنید:
apiVersion [19659020]: v1 kind : service metadata : حاشیه نویسی : service.beta.kubernetes.io/aws-load-balancer -backend-protokol : tcp label : k8s-addon : ingress-nginx.addons.k8s.io name : ingress-nginx namespace : ingress-nginx spec : externalTrafficPolicy : خوشه ] بنادر ] - name : https port : 443 protokol : TCP [19659034] مقصد TCP targetPort : http انتخاب : برنامه : ingress-nginx نوع : LoadBalancer
حالا بیایید انتهای ELB را بدست آوریم و آنرا به بعضی از نامهای دامنه وصل کنیم.
$ kubectl -f ingress-service.yml
سرویس ingress-nginx ایجاد شد
$ kubectl -n ingress-nginx get svc ingress-nginx -o wide
نام NAME CLUSTER-IP EXTERNAL-IP PORT ( S ) SEGECTOR AGE
ingress-nginx 100.71.250.56 abcghccf8540698e8bff782799ca8h04-1234567890.us-east-2.elb.amazonaws.com 80: 30032 / TCP، 443: 30108 / TCP 10s برنامه = [1945905] بیایید استقرار و خدمات را برای برنامه نمونه کیبانای خود ایجاد کنیم.
برای اجرای کیبانا ما به الاستیک جستجو نیاز داریم.
این مانیفست برای نمونه نمونه است.
--- apiVersion : extensions / v1beta1 نوع : استقرار ابرداده : برچسب ها : app : kibana name ] ] kibana namespace : ingress-nginx spec ] replicas : 1 قالب : metadata [196590] ]: labels : app : kibana spec [19659020]: ظروف : - تصویر [196590201]: kibana: آخرین نام : kibana ] بنادر : [19659137] - bowlPort : 5601 --- apiVersion : v1 kind : service metata 19659020]: حاشیه نویسی : برچسب ها : برنامه : kibana name : kibana ] namespace [196590] : ingress-nginx spec : بنادر : - name ]: kibana port ]: 5601 targetPort : 5601 selector app app app : kibana --- apiVersion ] پسوندها / v1beta1 نوع : استقرار ابرداده : برچسب ها : برنامه : elasticsearch name : elasticsearch namespace : ingress-nginx spec : replicas ] 1 استراتژی : نوع : قالب RollingUpdate قالب : ابرداده : برچسب ها : ]: elasticsearch spec : ظروف : - تصویر : elasticsearch: آخرین نام ] ] بنادر elasticsearch پورت ها : - kontتپورت :: 5601 --- apiVersion : v] ] [] ]: Service metadata : حاشیه نویسی : برچسب ها : برنامه : elasticsearch name : elasticsearch فضای نام : ingress-nginx sp ec : ports : - name ]: elasticsearch port ]: 9200 targetPort : [19659021] 9200 انتخاب کننده : برنامه : elasticsearch
برنامه را ایجاد کنید.
kubectl اعمال -f kibana.yml
استقرار "kibana" ایجاد شده است
خدمات "kibana" ایجاد شده است
استقرار "elasticsearch" ایجاد شده است
service "elasticsearch" ایجاد شده
اکنون که منابع برنامه و بازی را ایجاد کردیم ، زمان آن رسیده که خود Ingress را ایجاد کرده و به برنامه دسترسی پیدا کنید.
$ kubectl -n ingress-ngi nx create -f ingress.yml
ingress "kibana-ingress" ایجاد شد.
اکنون که برنامه ما در حال اجراست ، وقتی می توانیم با استفاده از آدرس http://logstest.myapp-staging.com به داشبورد کیبانا دسترسی پیدا کنیم ، ما به نوار ابزار Kibana ما دسترسی مستقیم داریم و هرکسی که این URL دارد می تواند به سیاههها دسترسی پیدا کند.
اکنون اجازه دهید تأیید اعتبار اولیه را با استفاده از htpasswd تنظیم کنیم.
دستورات زیر را دنبال کنید تا یک راز اعتبار را ایجاد کنید.
بیایید یک پرونده مجوز را با نام کاربری و رمزعبور ایجاد کنیم.
$ htpasswd -c auth kibanaadmin
گذرواژه جدید:
گذرواژه جدید:
دوباره رمزعبور جدید را تایپ کنید:
افزودن گذرواژه برای کاربر kibanaadmin