Logo GH

Mesh Service and Traffic Policy (Πολιτική

1) Γιατί εξυπηρετείται το πλέγμα

Το Service Mesh είναι στρώμα υποδομής για την κυκλοφορία Ανατολής-Δύσης (διυπηρεσιακές επικοινωνίες), το οποίο παρέχει ομοιόμορφες δυνατότητες χωρίς να ξαναγράφει τον κωδικό:
  • Προεπιλεγμένη ασφάλεια: mTLS, αυτόματη έκδοση/εναλλαγή πιστοποιητικών, ταυτότητες υπηρεσίας.
  • Πολιτική κυκλοφορίας: δρομολόγηση L7, δοκιμές καναρινιού/AV, υποβάθμιση και σταθερότητα.
  • Παρατηρησιμότητα: μετρήσεις, κούτσουρα, ίχνη, σήματα χρυσού σε κάθε κλήση.
  • Πράξεις: ενιαίες πολιτικές για όλες τις γλώσσες/πλαίσια.

Διαφορά από την πύλη API: πύλη - περίμετρος Βορρά-Νότου. πλέγμα - ανατολικά-δυτικά εντός της δέσμης/οργάνωσης. Συχνά συνεργάζονται.

2) Αρχιτεκτονική: Αεροπλάνα και μοτίβα

Επίπεδο δεδομένων: πληρεξούσιος sidecar (απεσταλμένος/πληρεξούσιος Linkerd/happroxy), ο οποίος αναχαιτίζει την κίνηση pod/VM.
Επίπεδο ελέγχου: διανέμει διαμορφώσεις (διαδρομές, πολιτικές, πιστοποιητικά), κατάσταση καταστημάτων, δημοσιεύει μηχανισμούς παροχής υπηρεσιών.
Ταυτότητα: συνήθως ταυτότητα SPIFFE και αυτόματα πιστοποιητικά X.509 (SPIRE/ενσωματωμένο CA).
Σημεία εισόδου/εξόδου: είσοδος/έξοδος-πύλη για την παρακολούθηση των συνοριακών ροών.
Τρόποι υλοποίησης: sidecar για καθένα από αυτά· ανά κόμβο/κατάσταση περιβάλλοντος σε νέες εφαρμογές.

3) Πολιτική ασφάλειας και μηδενική εμπιστοσύνη

1. mTLS εξ ορισμού - κρυπτογράφηση servis↔servis και αμοιβαία επαλήθευση ταυτότητας.

2. AuthN/AuthZ:
  • AuthN: εμπιστοσύνη μόνο ταυτότητες που εκδίδονται από CA mesh 'a (SPIFFE).
  • AuthZ: δηλωτικός κανόνας «ποιος μπορεί και πώς» (RBAC/ABAC).
  • 3. Έλεγχος απομόνωσης και εξόδου:

  • Επιτρεπόμενα πεδία/υποδίκτυα. αναγκαστική έξοδος μέσω πύλης εξόδου.
  • Παρεμποδίζοντας την άμεση έκβαση από τις εστίες.
  • 4. Μυστική περιστροφή: βραχύβια πιστοποιητικά, αυτόματη αναδιαμόρφωση πληρεξουσίου.

Istio (παράδειγμα: σφαιρικό mTLS αυστηρό):
yaml apiVersion: security. istio. io/v1beta1 kind: PeerAuthentication metadata: { name: default, namespace: istio-system }
spec:
mtls: { mode: STRICT }
Istio (παράδειγμα: να επιτραπεί μόνο η inventory→billing gRPC):
yaml apiVersion: security. istio. io/v1beta1 kind: AuthorizationPolicy metadata: { name: billing-allow, namespace: prod }
spec:
selector: { matchLabels: { app: billing } }
rules:
- from:
- source: { principals: ["spiffe://corp. local/ns/prod/sa/inventory"] }
to:
- operation: { ports: ["8080"], methods: ["POST"], paths: ["/proto. Billing/"] }

4) Πολιτική κυκλοφορίας: εμμονή και δρομολόγηση

4. 1 Χρονοδιαγράμματα και υποχωρήσεις

Χρονοδιακόπτες: πρέπει να ρυθμίζονται στην κλήση (σύνδεση/ανάγνωση/συνολικά).
Επαναλήψεις: μόνο για idempotent λειτουργίες. backoff + jitter· όρια ανά δοκιμή timeout.

Istio (VirtualService):
yaml apiVersion: networking. istio. io/v1beta1 kind: VirtualService metadata: { name: orders }
spec:
hosts: ["orders"]
http:
- route:
- destination: { host: orders, subset: v1, port: { number: 8080 } }
timeout: 5s retries:
attempts: 2 perTryTimeout: 2s retryOn: "5xx,connect-failure,reset"

4. Ανίχνευση εξωτερικού διακόπτη κυκλώματος 2

ΚΤ: περιορίζει τις ταυτόχρονες αιτήσεις/συνδέσεις, προστατεύοντας το ανάντη.
Ακραία: απορρίπτει «κακές» περιπτώσεις κατά σφάλμα/καθυστέρηση.

ISTIO (Ειδικός κανόνας):
yaml apiVersion: networking. istio. io/v1beta1 kind: DestinationRule metadata: { name: orders }
spec:
host: orders trafficPolicy:
connectionPool:
http: { http1MaxPendingRequests: 1024, maxRequestsPerConnection: 100 }
outlierDetection:
consecutive5xxErrors: 5 interval: 5s baseEjectionTime: 30s maxEjectionPercent: 50

4. 3 Καναρίνια και κατά περίπτωση

Σταθμισμένη - Η κίνηση διαιρείται με τα βάρη v1/v2.
Με κεφαλίδα: σημαίες/cookies/ενοικιαστές → να μεταφερθούν στη νέα έκδοση.
Συγγένεια συνεδρίας: hash by key (τακτοποιημένα κλιμακωμένα).

yaml http:
- match: [{ headers: { "x-experiment": { exact: "new" } } }]
route: [{ destination: { host: orders, subset: v2 } }]
- route:
- destination: { host: orders, subset: v1, weight: 90 }
- destination: { host: orders, subset: v2, weight: 10 }

4. Ένεση και υποβάθμιση βλάβης

Καθυστέρηση/σφάλμα έγχυσης για δοκιμή ανθεκτικότητας και SLO.

yaml fault:
delay: { fixedDelay: 300ms, percentage: { value: 10 } }
abort: { httpStatus: 503, percentage: { value: 1 } }

5) Όρια δικτύου: είσοδος/έξοδος και εξωτερικές υπηρεσίες

Πύλη εισόδου: το μοναδικό σημείο εισόδου για εξωτερικούς πελάτες με μάτια. ολοκλήρωση με WAF/OIDC/ratelimits.
Έξοδος: κεντρική έξοδος με κατάλογο επιτρεπόμενων ξενιστών, επιθεώρηση TLS, καταγραφή τηλεμετρίας.
Servey Entry: δηλώνει το εξωτερικό SNI/ξενιστή ως μέρος των ματιών (ισχύουν οι πολιτικές και η αρχή του mTLS).

yaml apiVersion: networking. istio. io/v1beta1 kind: ServiceEntry metadata: { name: payments-external }
spec:
hosts: ["api. payments. com"]
ports: [{ number: 443, name: https, protocol: TLS }]
resolution: DNS location: MESH_EXTERNAL

6) Πολυσύνθετες, πολυσχιδείς και υβριδικές

Κοινόχρηστη PKI/τομέας εμπιστοσύνης: ενιαία ταυτότητα SPIFFE μεταξύ συσπειρώσεων.
Ανακάλυψη τελικού σημείου: σφαίρες εξυπηρέτησης μεταξύ περιοχών. τοπική προτεραιότητα και αποτυχία.
Ζωνική απομόνωση: ανά περιφέρεια πολιτικές, όρια και προτεραιότητες.
VM στα μάτια: σύνδεση κληροδοτημένων/στατιστικών συστημάτων με πληρεξούσια και τις ίδιες πολιτικές.

7) Παρατηρησιμότητα, SLO και λειτουργία

: 'requests _ total', 'request _ performance _ ms {p50, p95, p99}', '5xx _ rate', 'retry _ απόπειρες', 'cb _ state', 'mTLS _ authz _ reference'.
Αρχεία καταγραφής πρόσβασης: δομικά, με «traceparent», «χρήστης/ενοικιαστής», «απάντηση _ σημαίες».
Ιχνηλάτηση: αυτόματη έγχυση κεφαλίδων (πλαίσιο ιχνών W3C), δειγματοληψία, διαστάσεις σε επίπεδο λυκίσκου.
SLO: στόχοι με p99/σφάλματα στη διαδρομή (service→service).
Ειδοποιήσεις: '5xx' ακίδα, 'reset' rise, 'outlier _ ejections', mTLS υποβάθμιση (βλάβες χειραψίας).

8) Επιδόσεις και κόστος

Η Sidecar προσθέτει τιμολόγια (CPU/RAM/καθυστέρηση). Βελτιστοποίηση:
  • Σκληρότητα: να συμπεριληφθεί η πολιτική όπου χρειάζεται· δεν ενεργοποιούν παντού βαρέα φίλτρα.
  • Κοινοπραξίες: διαχωρισμός διαδρομών (κρίσιμης σημασίας/υποβάθρου) σε διαφορετικές διαδρομές και όρια.
  • Προφίλ: p99 σε «ψυχρές» διαδρομές, όγκος τηλεμετρίας (καταγραφές/μονοπάτια ορίου ταχύτητας).
  • Εάν υποστηρίζεται και είναι σκόπιμο, εξετάζονται τρόποι λειτουργίας χωρίς περιβάλλον/sidecarless.

9) Ασφάλεια και συμμόρφωση

Ελάχιστη απαιτούμενη πρόσβαση: Επιτρέπονται ρητά οι οδηγίες και οι μέθοδοι.
Πολιτικές για τους νέους χώρους/ενοικιαστές: όρια δικτύου/αδειοδότησης.
Βασική περιστροφή/AC: προγραμματισμένη και επείγουσα· σύντομα πιστοποιητικά TL.
PII/μυστικά: συγκάλυψη σε κούτσουρα/κομμάτια; κρυπτογράφηση στο σύρμα/σε ηρεμία.
Έλεγχος: ποιος, πότε και ποια πολιτική άλλαξε. ταραχές δύο σταδίων.

10) Ενσωμάτωση στο K8s επίπεδο

Οι πολιτικές Mesh συμπληρώνουν και δεν αντικαθιστούν την NetworkPolicy.
Στην είσοδο/έξοδο-πύλη, μπορείτε να κρεμάσετε PodSecurity/PSA σε ένα επίπεδο κάτω.
NRA/autoscaling: εξετάστε retrays/CB - αλλάζουν φορτίο.
Σχέδια απελευθέρωσης: βάρη καναρινιών μέσω VirtualService + αυτόματη προώθηση SLO.

11) Κατάλογος ελέγχου εφαρμογής

  • Καθορισμένα όρια εμπιστοσύνης και ενεργοποιημένα αυστηρά mTLS.
  • Οι πολιτικές Authz επέτρεψαν: σε ποιον, σε ποιους λιμένες/μεθόδους.
  • Τα χρονοδιαγράμματα/οι επαναλήψεις και η ανίχνευση ακραίων σημείων είναι διαμορφωμένα, ορίζονται ευδιάκριτα μονοπάτια.
  • Καταχωρίζονται οι διαδρομές των Καναρίων Νήσων και το σχέδιο ανατροπής. ένεση βλάβης - μόνο σε μη prod.
  • Οι εξωτερικές εξαρτήσεις προκύπτουν μέσω της πύλης εξόδου και της Service Entry.
  • Οι μετρήσεις, τα αρχεία καταγραφής, τα ίχνη είναι διαμορφωμένα. ταμπλό και προειδοποιήσεις σχετικά με το p99/5xx/CB.
  • Διατίθενται ποσοστώσεις/όρια ανά ενοικιαστή/χώρο ονομάτων.
  • Έτοιμα βιβλία πορείας: διαρροή πιστοποιητικού, αστοχία CA, υποβάθμιση ανάντη, 503/RESET μάζας.
  • Σχέδιο πολλαπλών συνεργατικών σχηματισμών (κοινή PKI, τοπικές προτεραιότητες, σενάρια DR).
  • Ημέρες δοκιμής (ημέρες παιχνιδιού): επίπεδο ελέγχου πτώσης, πλευρικό όχημα ακινητοποίησης, διακοπή δικτύου, δηλητηριώδες ανάντη.

12) Αντι-μοτίβα

Πλέγμα «παντού και αμέσως» χωρίς απογραφή διαδρομής και SLO → δαπανηρή πολυπλοκότητα.
Προκαθορισμένα retrays για όλες τις μεθόδους → εφέ αντίγραφα και χιονοστιβάδες κυκλοφορίας.
Ένα «προσωρινά» → mTLS με αναπηρία παραμένει μόνιμα.
Έξοδος χωρίς πύλη → διαρροή δεδομένων/μη ληφθείσες εξαρτήσεις.
Μια παγκόσμια πολιτική για όλες τις υπηρεσίες → ψευδή ασφάλεια και ψευδώς θετικά αποτελέσματα.
Μηδενική παρατηρησιμότητα: συμπεριλαμβάνονται τα μάτια, αλλά δεν συλλέγονται μετρήσεις/μονοπάτια - χάνουν νόημα.

13) Γρήγορες συνταγές

Linkerd: ενεργοποίηση mTLS και πολιτικής από τον εξυπηρετητή

yaml apiVersion: policy. linkerd. io/v1beta1 kind: Server metadata: { name: billing, namespace: prod }
spec:
podSelector: { matchLabels: { app: billing } }
port: 8080 apiVersion: policy. linkerd. io/v1beta1 kind: ServerAuthorization metadata: { name: billing-allow-inventory, namespace: prod }
spec:
server: { name: billing }
client:
meshTLS:
identities: ["inventory. prod. serviceaccount. identity. linkerd. cluster. local"]

Πρόξενος (L7 πρόθεση + διαχωριστής)

hcl
Kind = "service-router"
Name = "orders"
Routes = [{
Match { HTTP { PathPrefix = "/v1" } }
Destination { Service = "orders" }
}]
Kind = "service-splitter"
Name = "orders"
Splits = [
{ Weight = 90, ServiceSubset = "v1" },
{ Weight = 10, ServiceSubset = "v2" }
]

14) ΣΥΧΝΈΣ ΕΡΩΤΉΣΕΙΣ

Χρειάζεται μια μικρή ομάδα

Εάν 3-5 υπηρεσίες - συχνότερα όχι. Έναρξη με καλές βιβλιοθήκες εισόδου και ανθεκτικότητας. Σύνδεση ματιών όταν υπάρχει ανάγκη για mTLS-προεπιλογή, ομοιόμορφες πολιτικές, και ιχνηλάτηση χωρίς αλλαγές κώδικα.

Πώς να ελέγξετε το κόστος

Μετρήστε τα εναέρια (CPU/RAM/καθυστέρηση) σε κρίσιμες διαδρομές, απενεργοποιήστε τα περιττά φίλτρα, μειώστε τον όγκο των κορμών/διαδρομών, χρησιμοποιήστε τρόπους χωρίς πλευρικό κάνιστρο όπου είναι ασφαλές.

Είναι δυνατή η παρέμβαση σε πλέγματα και χειροκίνητα διαμορφωμένα πληρεξούσια

Ναι, αλλά αποφύγετε διπλή διαδρομή/διπλή επανάληψη. Ένα μόνο μέρος είναι αληθές - το επίπεδο ελέγχου.

Τι είναι πιο σημαντικό: ασφάλεια ή επιδόσεις

Η προεπιλογή είναι η ασφάλεια (mTLS, AuthZ). Οι επιδόσεις επιτυγχάνονται με τη ρύθμιση των ομάδων σύνδεσης, την ανίχνευση ακραίων σημείων, τις οδούς-στόχους.

15) Σύνολα

Το Service Mesh μετατρέπει το δίκτυο μεταξύ των υπηρεσιών σε ένα προγραμματιζόμενο στρώμα με ομοιόμορφες πολιτικές: κρυπτογράφηση και ταυτότητες, λεπτή δρομολόγηση και ανθεκτικότητα, τηλεμετρία και ποσοστώσεις. Ξεκινήστε με κρίσιμες διαδρομές, ενεργοποιήστε STRICT mTLS και ρητή AuthZ, ρυθμίστε timeouts/retrays/CB, έξοδο ελέγχου, μέτρηση p99 και 5xx, περάστε ημέρες παιχνιδιού. Τότε το πλέγμα θα γίνει ενισχυτής της αξιοπιστίας και της ταχύτητας των απελευθερώσεων, και όχι πηγή εκπλήξεων.

Contact

Επικοινωνήστε μαζί μας

Επικοινωνήστε για οποιαδήποτε βοήθεια ή πληροφορία.Είμαστε πάντα στη διάθεσή σας.

Telegram
@Gamble_GC
Έναρξη ολοκλήρωσης

Το Email είναι υποχρεωτικό. Telegram ή WhatsApp — προαιρετικά.

Το όνομά σας προαιρετικό
Email προαιρετικό
Θέμα προαιρετικό
Μήνυμα προαιρετικό
Telegram προαιρετικό
@
Αν εισαγάγετε Telegram — θα απαντήσουμε και εκεί.
WhatsApp προαιρετικό
Μορφή: κωδικός χώρας + αριθμός (π.χ. +30XXXXXXXXX).

Πατώντας «Αποστολή» συμφωνείτε με την επεξεργασία δεδομένων.