Logo GH

Windows Mesh և քաղաքականություն 2019

1) Ինչու՞ պետք է Peter Mesh

Peter Mesh-ը ենթակառուցվածքային շերտ է east-west-ի համար (www.west), որը տալիս է միանձնյա հնարավորություններ առանց կոդի վերաշարադրման

Լռելյայն անվտանգությունը 'mTSA, ավտոմատ ճշգրտումը/հավաստագրերի լուծումը, ծառայությունների ինքնությունը։

Քաղաքական գործիչը բացատրում է, որ L7-ի երթուղայնացումը, կանարյան/AV թեստերը, դեգրադացիան և կայունությունը։

Դիտարկումը 'չափումներ, լույսեր, հետքեր, ոսկու ազդանշաններ յուրաքանչյուր զանգի վրա։

Վիրահատություններ 'միասնական քաղաքականություններ բոլոր լեզուների/շրջանակների համար։

Տարբերությունը API նավից 'դարպասը' հյուսիսային-հարավային պարիմետր; mesh - east-west ներսում/կազմակերպության մեջ։ Հաճախ միասին են աշխատում։

2) Ճարտարապետություն ՝ ինքնաթիռներ և փամփուշտներ

DirePlane: sidecar-2019 (Envoy/Linkerd-proxy/haproxy), որը ընդհատում է ենթաօրենսդրությունը/VM։

Contll Plane: բաժանում է կազմաձևը (երթուղիներ, քաղաքականություններ, հավաստագրեր), պահպանում է վիճակը, հրապարակում է դիսկոների ծառայությունը։

Identity: Սովորաբար SPIFE ID-ը և ավտոմատ X.59 հավաստագրերը (SPIRE/ներկառուցված CA)։

Մուտքի/ելքի կետերը ՝ ingress/egress-gateway, որպեսզի վերահսկեն սահմանային հոսքերը։

Ներդրման ռեժիմները 'sidecar յուրաքանչյուր տակ; Նոր ռեալիզացիաներում

3) Անվտանգության քաղաքականությունը և zero-trust

1. MTMS by 210: ծածկագրում և փոխադարձ վավերացում ծառայությունն է։

2. AuthN/AuthZ:
  • AuthN 'վստահում ենք միայն CA mesh' a (SPIFFE) թողարկված նույնականություններին։
  • AuthZ: «Ով կարող է և ինչպես» (RBAC/ABAC)։
  • 3. Մեկուսացումը և egress-վերահսկողությունը

Թույլատրված օրինագծեր/ենթաօրենսդրություններ; հարկադիր ելքը egress-gateway-ի միջոցով։

Ուղղակի ելքերի արգելափակում։

4. Գաղտնիքների վերացումը 'կարճ գոյատևող հավաստագրեր, ավտոմատ վերամշակում։

Istio (օրինակ ՝ գլոբալ mTSA խիստ)

yaml apiVersion: security. istio. io/v1beta1 kind: PeerAuthentication metadata: { name: default, namespace: istio-system }
spec:
mtls: { mode: STRICT }

Istio (օրինակ ՝ թույլ տալ միայն entory probilling 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 Թայմաուտներ և գետեր

Timeouts: Նրանք անպայման դիմում են մարտահրավեր (connational/read/overall)։

Retries 'միայն idempotent վիրահատությունների համար։ backoff + jitter; per-try 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 Circuit Breaker и outlier detection

CB 'սահմանափակում է միաժամանակ հարցումները/միացումը, պաշտպանելով ապստրիմները։

Systier: փակցնում է «վատ» instans սխալներով/լատենտով։

Istio (DestinationRule):
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 Կանարյան և պայմաններով

Weighted 'v1/v2 քաշների բաժանումը։

Header-based: Դրոշներ/տիկնիկներ/tenae-ը կարող է տեղափոխվել նոր տարբերակը։

Session affinity: Hash բանալին (կոկիկ մասշտաբով)։

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. 4 Fox Inject և քայքայումը

Ձերբակալման/սխալների միգրացիան կայունության և SLO-ի փորձարկման համար։

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

5) Ցանցային սահմանները ՝ ingress/egress և արտաքին ծառայություններ։

Ingress-gateway: Միակ մուտքի կետը արտաքին հաճախորդների համար mesh; ինտեգրումը WAF/OIDC/ratelimits-ի հետ։

Egress-gateway: Կենտրոնական ելքը թույլատրված հանրակացարանների ցուցակով, TIM-ստուգումը, հեռուստացույցի ձայնագրությունը։

International Entry: հայտարարում է արտաքին SDI/host որպես mesh (քաղաքականությունը և mTRC-origination կիրառելի են)։

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) Multi-cluster, multi-network և հիբրիդ

Ընդհանուր PKI/trast տիրույթը 'միասնական SPIFFE ինքնությունը կլաստերների միջև։

Endpoint discovery: Ծառայությունների գնդակներ տարածաշրջանի միջև; տեղական գերակայություն և failover։

Զոնալ մեկուսացում 'տեղեկատվական-տարածաշրջանային քաղաքականություններ, սահմաններ և գերակայություններ։

VM-ը mesh-ում 'legacy/Stateful համակարգերը ինտեգրման և նույն քաղաքական գործիչների հետ։

7) Դիտարկումը, SLO-ն և գործողությունը

Метрики: `requests_total`, `request_duration_ms{p50,p95,p99}`, `5xx_rate`, `retry_attempts`, `cb_state`, `mTLS_authz_denied`.

Մուտքի լոգները 'կառուցվածքային, «traceparent», «user/tenae», «response _ flags»։

Թրեյսինգը 'վերնագրերի Auto-միգրացիան (W3C Trace Express), semplign, երգված է hop մակարդակում։

SLO 'նպատակներ r99/սխալ երթուղով (NOKO)։

Ալերտներ ՝ «5xx», «reset», «dier _ ejections», mTSA (handshake failures)։

8) Արտադրողականությունը և արժեքը

Sidecar ավելացնում է կեղծ (CPU/RAM/latency)։ Մենք օպտիմիզացնում ենք

Գոտկատեղը 'ներառել քաղաքականությունը այնտեղ, որտեղ անհրաժեշտ է։ ամենուր ծանր ֆիլտրեր չմիացնել։

Պուլներ 'բաժանել ճանապարհները (կրիտիկական/ֆոնային) տարբեր ուղղություններով և սահմաններով։

Ավելացումը 'p99 «սառը» երթուղիներում, հեռուստացույցի ծավալը (rate-limit logs/treiss)։

Դիտարկեք ambient/sidecarless ռեժիմները, եթե աջակցվում և համապատասխանում են պահանջներին։

9) Անվտանգություն և բաղադրիչներ

Նվազագույն անհրաժեշտ հասանելիությունը 'հստակ թույլ տալ ուղղություններ և մեթոդներ։

Նյարդային քաղաքականությունները/տենանտները 'ցանցային/հեղինակային սահմանները։

Միգրացիան 2019/SA 'պլանավորված և արտակարգ; կարճ TTL հավաստագրեր։

PII/գաղտնիքները 'դիմակավորում լոգարաններում/treiss; կոդավորումը լարերի վրա/հանգույցի մեջ։

Աուդիտ 'ով, երբ և ինչ քաղաքականություն փոխեց։ Երկհարկանի ապուրաններ։

10) Ինտեգրումը K8S մակարդակի հետ

Mesh քաղաքական գործիչները լրացնում են, և չեն փոխարինում NetworkPolicy-ին։

Ingress/egress-gateway-ում կարելի է կախել PodExpress/PSA մակարդակից ցածր։

NRA/Autockeiling 'հաշվի առեք ռետրերը/RF-ը, նրանք փոխում են բեռը։

Ածխաջրածինների պլանները 'Virtium Express +-ի միջոցով կանարական քաշը ավտոմատ առաջխաղացումը SLO-ով։

11) Ներդրման չեկի ցուցակ

  • Որոշված են վստահության սահմանները և ներառում են STRICT mTSA-ը։
  • Ներառում է AuthZ քաղաքականությունը 'ով, ում վրա, որ պորտերում/2019։
  • Timeouts/retries և www.ier det.ru, որոշվում են idempotent ճանապարհները։
  • Գրված են կանացի երթուղիներ և rollback պլան։ fox-inj.ru-ը միայն prod-ում է։
  • Արտաքին կախվածությունները բերվել են egress-gateway և Windows Entry-ի միջոցով։
  • Փոխաբերություններ, լույսեր, ճանապարհներ; dashbords և alerts p99/5xx/CB-ում։
  • Նախատեսված են քվոտաներ/per-ten.ru/namespace։
  • Medrunbooks: արտահոսք, CA հրաժարվելը, apstrim քայքայումը, զանգվածային 503/RESET։
  • Multi-cluster պլանը (ընդհանուր PKI, տեղական գերակայություններ, DR սցենարներ)։
  • Թեստ-օրեր (game days) 'անկում www.l plane, stop sidecar, ցանցի կոտրվածք, «թունավոր» apstrim։

12) Anti-patterna

Mesh «ամենուր և անմիջապես» առանց երթուղիների և SLO-ի բացառման, թանկ բարդություն է։

Retrai- ն լռելյայն է բոլոր մեթոդների համար, որոնք ցույց են տալիս էֆեկտներն ու լավինը։

Անջատված mTSA «ժամանակավորապես» կոմպոզիցիան մնում է ընդմիշտ։

Egress-ը առանց դարպասի տվյալների արտահոսքի/անհասկանալի կախվածություն ունի։

Համաշխարհային քաղաքականությունից մեկը բոլոր ծառայությունների համար ֆալշ անվտանգությունն է և կեղծ գործիքները։

Զրոյական obervability: միացրեցինք mesh-ը, բայց մենք չենք հավաքում մետրեր/treiss, մենք կորցնում ենք իմաստը։

13) Արագ բաղադրատոմսեր

Linkerd: Ներառել mTSA և policy։

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"]

Consul (L7 intent + splitter)

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) FAQ

Արդյո՞ ք mesh փոքրիկ թիմի կարիքը։

Եթե 3-5 ծառայություններ ավելի հաճախ չկան։ Սկսեք լավ ingress և կայունության գրադարաններից։ Միացրեք mesh-ը, երբ հայտնվում է mTRC-լռելյայն, մեկ քաղաքական և ուղու կարիքը առանց կոդի փոփոխության։

Ինչպե՞ ս վերահսկել արժեքը։

Չափեք կեղծ (CPU/RAM/latency) կրիտիկական ճանապարհների վրա, անջատեք ավելցուկ ֆիլտրերը, նվազեցրեք լոգարանների/թրեյսների ծավալը, օգտագործեք ռեժիմներ առանց sidecar այնտեղ, որտեղ դա անվտանգ է։

Հնարավո՞ ր է միջամտել mesh և ձեռքով տրամադրված պայմաններին։

Այո, բայց խուսափեք կրկնակի ուղղումից/կրկնվող հոսանքներից։ Միակ տեղը իրական է 'www.l plane։

Ի՞ նչն է ավելի կարևոր 'անվտանգությունը կամ արտադրողականությունը։

Լռելյայն անվտանգությունն է (mTSA, AuthZ)։ Արտադրողականությունը հասնում է connational pooice, www.ier detae, նպատակային երթուղիներով։

15) Արդյունքները

Windows Mesh-ը վերածում է ծառայությունների միջև ցանցը ծրագրավորված շերտի միասնական քաղաքականներով 'կոդավորումը և ինքնությունը, բարակ միկրոկլորտիզացիան և կայունությունը, հեռաչափությունը և քվոտան։ Սկսեք քննադատական ճանապարհներից, միացրեք STRICT mTSA-ը և ակնհայտ AuthZ-ը, տվեք թայմաուտներ/ռետտա/IV, վերահսկեք egress, չափեք p99 և 5xx-ը, կատարեք game days։ Այդ ժամանակ mesh կդառնա ածխաջրերի հուսալիությունը և արագությունը, ոչ թե անսպասելիության աղբյուրը։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Telegram
@Gamble_GC
Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։