NGINX Hizmet Ağı kullanılabilir

NGINX Hizmet Ağı kullanılabilir

Önizleme sürümünü sunmaktan mutluluk duyuyoruz NGINX Hizmet Ağı (NSM), Kubernetes ortamlarındaki konteyner trafiğini yönetmek için NGINX Plus tabanlı bir veri düzlemi kullanan, paket halindeki hafif bir hizmet ağıdır.

NSM ücretsizdir Скачать здесь. Geliştirme ve test ortamlarında deneyeceğinizi umuyoruz ve geri bildirimlerinizi sabırsızlıkla bekliyoruz GitHub'da.

Mikro hizmet metodolojisinin uygulanması, teslimatın ölçeği ve karmaşıklığı arttıkça zorluklarla doludur. Hizmetler arasındaki iletişim daha karmaşık hale gelir, sorunların hata ayıklaması daha zor hale gelir ve giderek daha fazla hizmetin yönetilmesi için daha fazla kaynak gerekir.

NSM size aşağıdakileri sağlayarak bu sorunları çözer:

  • güvenlikbu artık her zamankinden daha önemli. Bir veri ihlali, bir şirkete her yıl milyonlarca dolarlık gelir ve itibar kaybına neden olabilir. NSM, tüm bağlantıların mTLS kullanılarak şifrelenmesini sağlar, böylece ağ üzerinden bilgisayar korsanları tarafından çalınabilecek hiçbir hassas veri kalmaz. Erişim kontrolü, hizmetlerin diğer hizmetlerle nasıl iletişim kurduğuna ilişkin politikaları belirlemenize olanak tanır.
  • Trafik Yönetimi. Bir uygulamanın yeni bir sürümünü gönderirken, hata durumunda uygulamaya gelen trafiği kısıtlayarak başlamak isteyebilirsiniz. NSM'nin akıllı konteyner trafik yönetimi sayesinde, zaman içinde trafiği artıracak yeni hizmetler için bir trafik kısıtlama politikası belirleyebilirsiniz. Hız sınırlama ve devre kesiciler gibi diğer özellikler, tüm hizmetlerinizin trafik akışı üzerinde tam kontrol sahibi olmanızı sağlar.
  • Görüntüleme. Binlerce hizmeti yönetmek, hata ayıklama ve görselleştirme kabusu olabilir. NSM, NGINX Plus'ta bulunan tüm özellikleri görüntüleyen yerleşik bir Grafana kontrol paneliyle bu durumun üstesinden gelmeye yardımcı olur. Ayrıca uygulanan Açık İzleme, işlemleri ayrıntılı olarak izlemenize olanak tanır.
  • Hibrit teslimatlar, eğer şirketiniz de diğerlerinin çoğu gibi tamamen Kubernetes üzerinde çalışan altyapıyı kullanmıyorsa. NSM, eski uygulamaların gözetimsiz bırakılmamasını sağlar. Uygulanan NGINX Kubernetes Giriş Denetleyicisinin yardımıyla eski hizmetler mesh hizmetleriyle (ve bunun tersi) iletişim kurabilecek.

NSM ayrıca konteyner trafiğine şeffaf bir şekilde şifreleme ve kimlik doğrulama uygulayarak sıfır güven ortamlarında uygulama güvenliğini sağlar. Ayrıca işlem görünürlüğü ve analizi sağlayarak dağıtımları hızlı ve doğru bir şekilde başlatmanıza ve sorunları gidermenize yardımcı olur. Ayrıca ayrıntılı trafik kontrolü sağlayarak DevOps ekiplerinin uygulama bölümlerini dağıtmasına ve optimize etmesine olanak tanırken geliştiricilerin dağıtılmış uygulamalarını oluşturmasına ve kolayca bağlamasına olanak tanır.

NGINX Hizmet Ağı nasıl çalışır?

NSM, yatay (hizmetten hizmete) trafik için birleşik bir veri düzleminden ve dikey trafik için tek bir kontrol düzlemi tarafından yönetilen yerleşik bir NGINX Plus Giriş Denetleyicisinden oluşur.

Kontrol düzlemi, NGINX Plus veri düzlemi için özel olarak tasarlanmış ve optimize edilmiştir ve NGINX Plus sepetleri arasında dağıtılan trafik kontrol kurallarını tanımlar.

NSM'de ağdaki her hizmet için sepet proxy'leri kurulur. Aşağıdaki açık kaynak çözümlerle arayüz oluştururlar:

  • Grafana, Prometheus parametre görselleştirmesi, yerleşik NSM paneli çalışmalarınızda size yardımcı olur;
  • Ağdaki gelen ve giden trafiği yönetmek için Kubernetes Giriş Denetleyicileri;
  • Ağdaki sertifikaları yönetmek, dağıtmak ve güncellemek için SPIRE, CA;
  • Rota güncellemeleri gibi mesajları kontrol düzleminden sepetlere göndermek için ölçeklenebilir bir sistem olan NATS;
  • Açık İzleme, dağıtılmış hata ayıklama (Zipkin ve Jaeger desteklenir);
  • Prometheus, NGINX Plus sepetlerinden istek sayısı, bağlantı ve SSL anlaşmaları gibi özellikleri toplar ve saklar.

Fonksiyonlar ve bileşenler

Bir veri düzlemi olarak NGINX Plus, sepet proxy'sini (yatay trafik) ve Giriş denetleyicisini (dikey) kapsayarak hizmetler arasındaki konteyner trafiğini yakalar ve yönetir.

Özellikler şunları içerir:

  • Karşılıklı TLS (mTLS) kimlik doğrulaması;
  • Yük dengeleme;
  • Hata toleransı;
  • Hız sınırı;
  • Devre kesme;
  • Mavi-yeşil ve kanarya konuşlandırmaları;
  • Giriş kontrolu.

NGINX Service Mesh'in Başlatılması

NSM'yi çalıştırmak için şunlara ihtiyacınız vardır:

  • Kubernetes ortamına erişim. NGINX Service Mesh, Amazon Elastic Container Service for Kubernetes (EKS), Azure Kubernetes Service (AKS), Google Kubernetes Engine (GKE), VMware vSphere ve donanım sunucularına dağıtılan normal Kubernetes kümeleri dahil olmak üzere birçok Kubernetes platformunda desteklenir;
  • Araç kubectlNSM'nin kurulacağı makineye yüklenmiş;
  • NGINX Service Mesh sürüm paketlerine erişim. Paket, Kubernetes kümesinde bulunan kapsayıcıların özel bir kayıt defterine yüklenmesi için gereken NSM görüntülerini içerir. Paket ayrıca şunları içerir: nginx-meshctlNSM'yi dağıtmak için gerekli.

NSM'yi varsayılan ayarlarla dağıtmak için aşağıdaki komutu çalıştırın. Dağıtım sırasında, bileşenlerin başarıyla kurulduğunu belirten mesajlar ve son olarak NSM'nin ayrı bir ad alanında çalıştığını belirten bir mesaj görüntülenir (öncelikle indirmek ve kayıt defterine yerleştirin, yakl. çevirmen):

$ DOCKER_REGISTRY=your-Docker-registry ; MESH_VER=0.6.0 ; 
 ./nginx-meshctl deploy  
  --nginx-mesh-api-image "${DOCKER_REGISTRY}/nginx-mesh-api:${MESH_VER}" 
  --nginx-mesh-sidecar-image "${DOCKER_REGISTRY}/nginx-mesh-sidecar:${MESH_VER}" 
  --nginx-mesh-init-image "${DOCKER_REGISTRY}/nginx-mesh-init:${MESH_VER}" 
  --nginx-mesh-metrics-image "${DOCKER_REGISTRY}/nginx-mesh-metrics:${MESH_VER}"
Created namespace "nginx-mesh".
Created SpiffeID CRD.
Waiting for Spire pods to be running...done.
Deployed Spire.
Deployed NATS server.
Created traffic policy CRDs.
Deployed Mesh API.
Deployed Metrics API Server.
Deployed Prometheus Server nginx-mesh/prometheus-server.
Deployed Grafana nginx-mesh/grafana.
Deployed tracing server nginx-mesh/zipkin.
All resources created. Testing the connection to the Service Mesh API Server...

Connected to the NGINX Service Mesh API successfully.
NGINX Service Mesh is running.

Gelişmiş ayarlar dahil daha fazla seçenek için şu komutu çalıştırın:

$ nginx-meshctl deploy –h

Ad alanında kontrol düzleminin düzgün çalışıp çalışmadığını kontrol edin nginx-mesh, bunu beğenebilirsin:

$ kubectl get pods –n nginx-mesh
NAME                                 READY   STATUS    RESTARTS   AGE
grafana-6cc6958cd9-dccj6             1/1     Running   0          2d19h
mesh-api-6b95576c46-8npkb            1/1     Running   0          2d19h
nats-server-6d5c57f894-225qn         1/1     Running   0          2d19h
prometheus-server-65c95b788b-zkt95   1/1     Running   0          2d19h
smi-metrics-5986dfb8d5-q6gfj         1/1     Running   0          2d19h
spire-agent-5cf87                    1/1     Running   0          2d19h
spire-agent-rr2tt                    1/1     Running   0          2d19h
spire-agent-vwjbv                    1/1     Running   0          2d19h
spire-server-0                       2/2     Running   0          2d19h
zipkin-6f7cbf5467-ns6wc              1/1     Running   0          2d19h

Manuel veya otomatik ekleme politikalarını belirleyen dağıtım ayarlarına bağlı olarak, NGINX sepet proxy'leri uygulamalara varsayılan olarak eklenecektir. Otomatik eklemeyi devre dışı bırakmak için şunu okuyun: burada

Örneğin uygulamayı dağıtırsak uyku ad alanında varsayılanve ardından Pod'u kontrol edin - iki çalışan konteyner göreceğiz, uygulama uyku ve ilgili sepet:

$ kubectl apply –f sleep.yaml
$ kubectl get pods –n default
NAME                     READY   STATUS    RESTARTS   AGE
sleep-674f75ff4d-gxjf2   2/2     Running   0          5h23m

Uygulamayı da izleyebiliyoruz uyku NGINX Plus panelinde, yerel makinenizden sepete erişmek için bu komutu çalıştırarak:

$ kubectl port-forward sleep-674f75ff4d-gxjf2 8080:8886

Sonra içeri giriyoruz burada tarayıcıda. Uygulamayı izlemek için Prometheus'a da bağlanabilirsiniz. uyku.

Erişim kontrolü, hız sınırlama ve devre kesme gibi trafik politikalarını yapılandırmak için ayrı ayrı Kubernetes kaynaklarını kullanabilirsiniz; bunun için bkz. belgeleme

Sonuç

NGINX Hizmet Ağı şu adresten ücretsiz olarak indirilebilir: F5 portalı. Geliştirme ve test ortamlarınızda deneyin ve sonuçlar hakkında bize yazın.

NGINX Plus Giriş Denetleyicisini denemek için etkinleştirin ücretsiz deneme süresi 30 gün boyunca veya Bize Ulaşın kullanım örneklerinizi tartışmak için.

Çeviri: Pavel Demkovich, şirket mühendisi Güney köprüsü. Aylık 15 RUB karşılığında sistem yönetimi. Ve ayrı bir bölüm olarak - bir eğitim merkezi slurm, pratik yapın ve pratikten başka bir şey değil.

Kaynak: habr.com

Yorum ekle