برنامه نویسی

داشبورد خط لوله EKS tekton را با ssl فعال کنید

Summarize this content to 400 words in Persian Lang
در این آموزش سعی خواهیم کرد تا داشبورد tekton-pipeline را با استفاده از متعادل کننده بار برنامه با ssl فعال در خوشه AWS EKS در معرض دید قرار دهیم.

عکس از ATM عرفات علی در Unsplash

پیش نیاز

خوشه EKS
Kubectl در دستگاه محلی شما پیکربندی شده است
خط لوله تکتون نصب شده است

زمینه

Tekton Dashboard یک رابط کاربری مبتنی بر وب برای منابع Tekton Pipelines و Tekton Triggers است. نصب آن با پیروی از دستورالعمل های رسمی نصب با استفاده از kubectl بسیار آسان است. در خوشه kubernetes خود مدیریتی خود، می توانید به راحتی آن را با کنترل کننده ورودی در معرض دید قرار دهید، اما در EKS باید یک کنترل کننده ورودی نصب کنید که AWS Load Balancer Controller است که اگر می خواهید به سرعت به چیزی دست پیدا کنید، برای من کمی دردسر به نظر می رسد. به جای اینکه از سرویس برای رسیدن به این هدف استفاده کنم.

داشبورد Tekton را نصب کنید

را نصب کنید داشبورد تکتون با استفاده از اسناد رسمی

نمایش داشبورد Tekton با سرویس (بدون https)

ایجاد یک سرویس نوع LoadBalancer (یعنی tekton-dashboard-svc.yaml) با مانیفست های زیر:

apiVersion: v1
kind: Service
metadata:
labels:
app: tekton-dashboard
name: tekton-dashboard
namespace: tekton-pipelines
spec:
type: LoadBalancer
ports:
– name: http
port: 9097
protocol: TCP
targetPort: 9097
selector:
app.kubernetes.io/component: dashboard
app.kubernetes.io/instance: default
app.kubernetes.io/name: dashboard
app.kubernetes.io/part-of: tekton-dashboard
sessionAffinity: None

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این سرویس را با استفاده از kubectl ایجاد کنید:

$ kubectl apply -n tekton-pipelines -f tekton-dashboard-svc.yaml

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این یک LoadBalancer در aws ایجاد می کند، با آدرس load balancer می توانید به داشبورد دسترسی داشته باشید یا همچنین می توانید این loadBalancer را با نام دامنه خود ترسیم کنید. tekton-dashboard.myeks.com با استفاده از سرویس Route53.

نمایش Tekton Dashboard با سرویس و https فعال است

افشای داشبورد Tekton با سرویس LoadBalancer بسیار آسان بود حالا می خواهیم https را فعال کنیم. برای این کار باید مراحل زیر را انجام دهیم:

مرحله 1: ایجاد گواهی

با استفاده از AWS Certificate Manager برای دامنه خود گواهی ایجاد کنید tekton-dashboard.myeks.com. اطمینان حاصل کنید که گواهی را نیز تأیید می کنید.

مرحله 2: با گواهینامه سرویس ایجاد کنید

حاشیه نویسی های زیر را با گواهی arn اضافه کنید:

service.beta.kubernetes.io/aws-load-balancer-ssl-cert: “arn of the certificate created above”
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: “https”

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بنابراین سرویس مانند زیر خواهد بود (یعنی tekton-dashboard-svc-ssl.yaml):

apiVersion: v1
kind: Service
metadata:
annotations:
# Note that the backend talks over HTTP.
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
# TODO: Fill in with the ARN of your certificate.
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: “arn of the certificate created above”
# Only run SSL on the port named “https” below.
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: “https”
labels:
app: tekton-dashboard
name: tekton-dashboard-ssl
namespace: tekton-pipelines
spec:
type: LoadBalancer
ports:
– name: http
port: 80
protocol: TCP
targetPort: 9097
– name: https
port: 443
protocol: TCP
targetPort: 9097
selector:
app.kubernetes.io/component: dashboard
app.kubernetes.io/instance: default
app.kubernetes.io/name: dashboard
app.kubernetes.io/part-of: tekton-dashboard
sessionAffinity: None

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این سرویس را با استفاده از kubectl ایجاد کنید:

$ kubectl apply -n tekton-pipelines -f tekton-dashboard-svc-ssl.yaml

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر سرویس را با استفاده از tekton-dashboard-svc.yaml ایجاد کرده اید، می توانید آن سرویس را حذف کنید.مدتی صبر کنید، load balancer ایجاد می شود و اکنون می توانید از https استفاده کنید.

مرحله 3: از نام دامنه استفاده کنید

اکنون LoadBalancer خود را از این سرویس پیدا کنید:

$ kc get svc tekton-dashboard-ssl -n tekton-pipelines

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

آدرس LoadBalancer را در آدرس زیر دریافت خواهید کرد External-IP میدان

– با URL، LoadBalancer را در کنسول AWS بیابید و در Listener که وجود دارد بررسی کنید 443 بندر برای گواهی SSL گواهینامه ای را که در آن تعریف کرده اید بررسی کنید Service در لودبالانسر وصل شده است.- از AWS Route53، نام دامنه خود را مرتبط کنید (به عنوان مثال. tekton-dashboard.myeks.com) با LoadBalancer. اگر برای اولین بار این کار را انجام می‌دهید، می‌توانید ترافیک مسیریابی AWS را به یک مستندات متعادل کننده بار ELB دنبال کنید.

همین حالا شما می توانید داشبورد tekton را با استفاده از https://tekton-dashboard.myeks.com مرور کنید 🎉

NB. عکس ضمیمه شده در این پست مربوط به محتوا نیست، فقط به آن پیوست شده است soothe your eyes 🙂

مراجع:https://stackoverflow.com/questions/56534589/is-there-a-way-to-configure-an-eks-service-to-use-https

در این آموزش سعی خواهیم کرد تا داشبورد tekton-pipeline را با استفاده از متعادل کننده بار برنامه با ssl فعال در خوشه AWS EKS در معرض دید قرار دهیم.

تصویر رودخانه و قایق بنگلادش، Shaplabill، Jointapur، Sylhet، بنگلادش

عکس از ATM عرفات علی در Unsplash

پیش نیاز

  • خوشه EKS
  • Kubectl در دستگاه محلی شما پیکربندی شده است
  • خط لوله تکتون نصب شده است

زمینه

Tekton Dashboard یک رابط کاربری مبتنی بر وب برای منابع Tekton Pipelines و Tekton Triggers است. نصب آن با پیروی از دستورالعمل های رسمی نصب با استفاده از kubectl بسیار آسان است. در خوشه kubernetes خود مدیریتی خود، می توانید به راحتی آن را با کنترل کننده ورودی در معرض دید قرار دهید، اما در EKS باید یک کنترل کننده ورودی نصب کنید که AWS Load Balancer Controller است که اگر می خواهید به سرعت به چیزی دست پیدا کنید، برای من کمی دردسر به نظر می رسد. به جای اینکه از سرویس برای رسیدن به این هدف استفاده کنم.

داشبورد Tekton را نصب کنید

را نصب کنید داشبورد تکتون با استفاده از اسناد رسمی

نمایش داشبورد Tekton با سرویس (بدون https)

ایجاد یک سرویس نوع LoadBalancer (یعنی tekton-dashboard-svc.yaml) با مانیفست های زیر:

apiVersion: v1
kind: Service
metadata:
  labels:
    app: tekton-dashboard    
  name: tekton-dashboard
  namespace: tekton-pipelines
spec:
  type: LoadBalancer
  ports:
    - name: http
      port: 9097
      protocol: TCP
      targetPort: 9097
  selector:
    app.kubernetes.io/component: dashboard
    app.kubernetes.io/instance: default
    app.kubernetes.io/name: dashboard
    app.kubernetes.io/part-of: tekton-dashboard
  sessionAffinity: None
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این سرویس را با استفاده از kubectl ایجاد کنید:

$ kubectl apply -n tekton-pipelines -f tekton-dashboard-svc.yaml
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این یک LoadBalancer در aws ایجاد می کند، با آدرس load balancer می توانید به داشبورد دسترسی داشته باشید یا همچنین می توانید این loadBalancer را با نام دامنه خود ترسیم کنید. tekton-dashboard.myeks.com با استفاده از سرویس Route53.

نمایش Tekton Dashboard با سرویس و https فعال است

افشای داشبورد Tekton با سرویس LoadBalancer بسیار آسان بود حالا می خواهیم https را فعال کنیم. برای این کار باید مراحل زیر را انجام دهیم:

مرحله 1: ایجاد گواهی

با استفاده از AWS Certificate Manager برای دامنه خود گواهی ایجاد کنید tekton-dashboard.myeks.com. اطمینان حاصل کنید که گواهی را نیز تأیید می کنید.

مرحله 2: با گواهینامه سرویس ایجاد کنید

حاشیه نویسی های زیر را با گواهی arn اضافه کنید:

service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn of the certificate created above"
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "https"
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

بنابراین سرویس مانند زیر خواهد بود (یعنی tekton-dashboard-svc-ssl.yaml):

apiVersion: v1
kind: Service
metadata:
  annotations:
    # Note that the backend talks over HTTP.
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
    # TODO: Fill in with the ARN of your certificate.
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: "arn of the certificate created above"
    # Only run SSL on the port named "https" below.
    service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "https"
  labels:
    app: tekton-dashboard
  name: tekton-dashboard-ssl
  namespace: tekton-pipelines
spec:
  type: LoadBalancer
  ports:
    - name: http
      port: 80
      protocol: TCP
      targetPort: 9097
    - name: https
      port: 443
      protocol: TCP
      targetPort: 9097
   selector:
    app.kubernetes.io/component: dashboard
    app.kubernetes.io/instance: default
    app.kubernetes.io/name: dashboard
    app.kubernetes.io/part-of: tekton-dashboard
  sessionAffinity: None
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

این سرویس را با استفاده از kubectl ایجاد کنید:

$ kubectl apply -n tekton-pipelines -f tekton-dashboard-svc-ssl.yaml
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اگر سرویس را با استفاده از tekton-dashboard-svc.yaml ایجاد کرده اید، می توانید آن سرویس را حذف کنید.
مدتی صبر کنید، load balancer ایجاد می شود و اکنون می توانید از https استفاده کنید.

مرحله 3: از نام دامنه استفاده کنید

اکنون LoadBalancer خود را از این سرویس پیدا کنید:

$ kc get svc tekton-dashboard-ssl -n tekton-pipelines
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

آدرس LoadBalancer را در آدرس زیر دریافت خواهید کرد External-IP میدان

– با URL، LoadBalancer را در کنسول AWS بیابید و در Listener که وجود دارد بررسی کنید 443 بندر برای گواهی SSL گواهینامه ای را که در آن تعریف کرده اید بررسی کنید Service در لودبالانسر وصل شده است.
– از AWS Route53، نام دامنه خود را مرتبط کنید (به عنوان مثال. tekton-dashboard.myeks.com) با LoadBalancer. اگر برای اولین بار این کار را انجام می‌دهید، می‌توانید ترافیک مسیریابی AWS را به یک مستندات متعادل کننده بار ELB دنبال کنید.

همین حالا شما می توانید داشبورد tekton را با استفاده از https://tekton-dashboard.myeks.com مرور کنید 🎉

NB. عکس ضمیمه شده در این پست مربوط به محتوا نیست، فقط به آن پیوست شده است soothe your eyes 🙂

مراجع:
https://stackoverflow.com/questions/56534589/is-there-a-way-to-configure-an-eks-service-to-use-https

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا