امروزه، با افزایش استفاده از Kubernetes برای مدیریت برنامهها، یکی از چالشهای مهم، مدیریت ترافیک ورودی به کلاسترهاست. Contour به عنوان یک کنترلر Ingress متنباز، این کار رو برای ما آسونتر میکنه. توی این مقاله، میخواهیم Contour رو معرفی کنیم، ویژگیهاش رو بررسی کنیم، چند تا از رقباش رو نام ببریم و در نهایت یه نمونه ساده از راهاندازیش رو آموزش بدیم.

برای معرفی باید بگم که Contour یه کنترلر Ingress متنبازه که توسط Heptio (که الان بخشی از VMware شده) توسعه داده شده. این ابزار از Envoy Proxy استفاده میکنه و به طور خاص برای مسیریابی Layer 7 طراحی شده. این یعنی Contour میتونه ترافیک HTTP و HTTPS رو به خوبی مدیریت کنه.
برای راهاندازی Contour، مراحل زیر رو دنبال کنید:
helm repo add bitnami https://charts.bitnami.com/bitnami helm install my-release bitnami/contour
پیکربندی ابتدایی:
یه فایل پیکربندی برای IngressRoute بسازید:
apiVersion: projectcontour.io/v1 kind: HTTPProxymetadata: name: example namespace: default spec: virtualhost: fqdn: example.com routes: - conditions: - prefix: / services: - name: example-service port: 80
اعمال فایل پیکربندی به کلاستر:
kubectl apply -f example-httpproxy.yaml
بررسی وضعیت Contour:
مطمئن بشید که همه پادها و سرویسهای مربوطه به درستی در حال اجرا هستن:
kubectl get pods -n projectcontour
kubectl get svc -n projectcontour
اگه بخواییم نتیجه گیری کنیم Contour یه کنترلر Ingress قدرتمند و کارآمده که امکانات زیادی برای مدیریت ترافیک ورودی به کلاسترهای Kubernetes داره. با ویژگیهای برجسته و یکپارچگی با Envoy، این ابزار میتونه نیازهای پیچیده مسیریابی و بالانس بار رو به خوبی پوشش بده. در مقایسه با رقباش، Contour با سادگی در پیکربندی و عملکرد بالا متمایز میشه و گزینه مناسبی برای تیمهای توسعه و عملیات به حساب میاد.