Table of Contents
חלוקת כלי Docker בקנה מידה מציגה מורכבות בתנועה, ניהול תעודות SSL, וזיהוי שירות טיפול. Traefik, דינמיקה לאחור לאחור Proxy ואיזון עומס, אוטומטית את המשימות האלה על ידי שילוב ישירות עם Docker. בניגוד לפרוקסיות המסורתיות הדורשות תצורה ידנית עדכונים בכל פעם שהמיכל מתחיל או מפסיק, Traefik מקשיב ל-Dockeremon ו-Reconforms עצמו מספק את התכונות המתקדמות של ההתקנה, כדי לשפר את התצורה, כדי לשפר את התצורה, כדי להפיץ את התכונות המתקדמות, כדי לתקן את התצורה, כדי לתקן את התכונות.
מה זה Traefik?
Traefik הוא קוד פתוח לאחור Proxy ומאזן עומס שנבנה במיוחד עבור מיקרו-שירותים וארכיטקטורה מקוטבת.זה תומך בספקים מרובים - Docker, Kubernetes, Consul, Amazon ECS ואחרים - המאפשר גילוי שירות אוטומטי וגילוי שירות דינמי. כאשר מיכל חדש מתחיל עם התווית המתאימה, Traefik מזהה אותו באופן מיידי ואת כללי ה- rout ללא הפעלת מחדש תכונות ידניות או הפעלה:
- (FLT:0) אוטומטי / TLSFLT:1 עם ניהול תעודה אוטומטית באמצעות Let's Encrypt (ACME).
- (ב) ,0) ,5 ,5 ,5 , , , , ).
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ,0) ,Lowad BalanceofFLT:1) על פני מספר מקרי מכולה.
- (ב) ,0) תצורה של תצורה תצורה של תצורה:0 (Dynamicische תצורה של תצורה 1) באמצעות קובץ, תוויות או API.
(האדריכלות של טרף מפרידה בין ה-FLT:0) נקודות כניסה ל-[[1924]] ל[[1924]], [[1924]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]]]]], [[1924]]]]]]]]]]]]]], [[1924]]]]]]]]]]]], [[1924]]]]]]]]]]]]]], [[1924]]]]]]]]]]]], [[1924]], [[1924]]]]]]]]]], [[1924]]]]]]]]]]]]]]]]]]]]]] ו[[1924]], [[1924]]]], [[1924]]]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]
Prerequisites
לפני צלילה לתוך ההתקנה, ודא שיש לך את הדברים הבאים:
- שרת או מכונה מקומית הפועלת ב-FLT:0 (Docker Engineve) 1 (הגרסה 20.10 ואילך המומלצת).
- היכרות בסיסית עם פקודות דוקר ומושגים ברשת.
- שם דומיין (לדוגמא HTTPS) ויכולת להצביע רשומות DNS לשרת שלך.
- נמלים (FLT:0)80IRLT:1 ו-(FLT:2 443FirLT 3: 3) פתוח על חומת האש עבור HTTP ו- HTTPS תנועה.
אם אתה משתמש בספק ענן כמו AWS או DigitalOcean, ודא שקבוצת האבטחה שלך מאפשרת תנועה בשפע בנמלים אלה.
עקבו אחרי Traefik
סעיף זה עובר דרך השלבים הבסיסיים: יצירת רשת דוקר ייעודית, שיגור מיכל Traefik עם תצורה מתאימה, ולוודא כי הוא פועל נכון.
יצירת רשת Docker
כל המכולות - Traefik עצמו ואת מיכלי היישום - צריך לשתף את אותה רשת Docker לתקשורת חלקה.
docker network create traefik-net
באמצעות רשת מותאם אישית מונעת קונפליקטים עם רשת גשר ברירת המחדל ומאפשרת מכולות לפתור אחד את השני בשם. Traefik ישתמש בתווית Docker כדי לגלות שירותים, אבל קישוריות רשת היא הכרחית לתנועה כדי להגיע למכלי היישום.
עקבו אחרי Traefik Container
שיגור Traefik עם הפקודה הבאה. Note כי אנו הרשים את השקע Docker כדי לאפשר ל- Traefik להקשיב לאירועים מכולה, מפה נמלים 80 ו-443, וקושרים קובץ תצורה.We גם לחשוף את המחוונים על נמל 8080 (לשימוש פנימי בלבד).
docker run -d \
--name=traefik \
--network=traefik-net \
-p 80:80 \
-p 443:443 \
-p 8080:8080 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $PWD/traefik.yml:/traefik.yml \
-v $PWD/acme.json:/acme.json \
traefik:v2.9
Explanation of the options:
- (ב) [15] ו-[[1924]]]]]]
- (ב) ,5:4) , חשוף את לוח המחוונים (בטוח זה מאוחר יותר עם אימות).
- (FLT:5) לספק גישה ל-API Docker, זה הכרחי לזיהוי דינמי, אך מציג השלכות אבטחה (שמאוחר יותר לא ממוקד).
- (ב) [15] ו-FLT 7 (בשיתוף: תצורה סטטית מרכזית ואבטחת תעודת SSL).
(ב) עיין בפסוק "ה' (ב"ה) ב[[1924]], ב[[1924]], [[1924]], [[1924]]]]
touch acme.json && chmod 600 acme.json
« « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « « «
תצורתו של Traefik מחולקת לשני חלקים: FLT:0igstaticFLT:1 תצורה (בדרך כלל בקובץ) ו-FLT:2דינמיתFLT 3 תצורה (מספקים כמו תוויות Docker).הקובץ הסטטי מגדיר נקודות כניסה, ספקים והגדרות גלובליות כגון רמת כניסה וקביעת לוח המחוונים.
ייצוב סטטי (traefik.yml)
צור קובץ VOFLT:11 באותו מנהל שממנו אתה מפעיל את המכולה. להלן הוא דוגמה לקריאה בייצור עם נקודות כניסה HTTP ו HTTP, תצורה ספק Docker, ובואו מוצפן עבור SSL.
entryPoints:
web:
address: ":80"
# Redirect HTTP to HTTPS if desired (commented out for initial setup)
# http:
# redirections:
# entryPoint:
# to: web-secure
# scheme: https
web-secure:
address: ":443"
dashboard:
address: ":8080"
providers:
docker:
exposedByDefault: false # Only expose containers with traefik.enable=true
network: traefik-net
api:
dashboard: true
debug: true
certificatesResolvers:
letsencrypt:
acme:
email: [email protected]
storage: /acme.json
httpChallenge:
entryPoint: web
log:
level: INFO
נקודות מפתח:
- (ב) ויקרא (ב) ב[[1924]], [[1924]]]], [[1924]]]], [[1924]]]], [[1924]]]], [[1924]]]]]], [[1924]]]]]]
- (ב) ,0) ,1 (ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) [ה]ה' [ה']: [ה']'[ה]'[ה]']'[ה']'[ה']'[ה]']'[ה']'[ה']'[ה']'[ה']'[ה']''[ה']']''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
- (ב) ,0) ,Certificate SolrLT:1: השימוש בפרוטוקול ACME של הצפנה עם אתגר HTTP-01. ReplaceFLT 18 עם הדואר האלקטרוני שלך.
- (ב) ויקרא י"ד: "ה' י"א: "ה', ב'" (ב)" (ב"ב) ב"ה', ב"ב)" (ב"ב)
סודיות דינמית באמצעות Docker Labels
כאשר Traefik פועל עם ספק Docker, הוא קורא תוויות מריצה מכולות. התווית הם metadata המצורפת לכלי אינטרנט המגדירים כללים, מודעות ביניים והגדרות אחרות.לדוגמה, שירות אינטרנט פשוט עשוי להיות בעל תוויות כמו:
docker run -d \
--name=app1 \
--network=traefik-net \
-l "traefik.enable=true" \
-l "traefik.http.routers.app1.rule=Host(`app1.example.com`)" \
-l "traefik.http.routers.app1.entrypoints=web-secure" \
-l "traefik.http.routers.app1.tls.certResolver=letsencrypt" \
my-web-image
תוויות מופצות על ידי Traefik כדי לבנות נתבים, שירותים, ומיילדות באופן דינמי.כל שינוי בתוויתות משפיע מיד מבלי להפעיל מחדש את Traefik.
המונחים: Application Containers
כעת אנו מפעילים מיכלי יישומים אמיתיים עם תוויות שאומרים ל- Traefik כיצד לנתב את התנועה. להלן שני דפוסים משותפים: שירות דומיין יחיד וקצב מבוסס נתיב עבור שירותים מרובים.
דוגמה: שירות אינטרנט פשוט עם HTTPS
נניח שיש לך מיכל המפעיל אפליקציה באינטרנט בנמל 80 פנימי.המטרה היא לשרת אותו ב-FLT:22.
docker run -d \
--name=myapp \
--network=traefik-net \
-l "traefik.enable=true" \
-l "traefik.http.routers.myapp.rule=Host(`myapp.example.com`)" \
-l "traefik.http.routers.myapp.entrypoints=web-secure" \
-l "traefik.http.routers.myapp.tls=true" \
-l "traefik.http.routers.myapp.tls.certResolver=letsencrypt" \
-l "traefik.http.services.myapp.loadbalancer.server.port=80" \
my-web-app-image
הערה: אנו מציינים במפורש את הנמל הפנימי (ראה FLT:24) כי מיכל עשוי לחשוף מספר יציאות.אם נמל ה-FLT:25 של מיכל תיקון, Traefik יכול לבודד אותו, אך מפורש הוא בטוח יותר.
דוגמה 2: מסלול מבוסס על מספר שירותים
(ב) "וַיַּּהְּבְתָּבָה" (ב) , אִין אִם הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא הוּא
עבור שירות ה- API:
docker run -d \
--name=api \
--network=traefik-net \
-l "traefik.enable=true" \
-l "traefik.http.routers.api.rule=Host(`app.example.com`) && PathPrefix(`/api`)" \
-l "traefik.http.routers.api.entrypoints=web-secure" \
-l "traefik.http.routers.api.tls=true" \
-l "traefik.http.routers.api.tls.certResolver=letsencrypt" \
-l "traefik.http.services.api.loadbalancer.server.port=3000" \
api-image
לחזית:
docker run -d \
--name=frontend \
--network=traefik-net \
-l "traefik.enable=true" \
-l "traefik.http.routers.frontend.rule=Host(`app.example.com`) && PathPrefix(`/`)" \
-l "traefik.http.routers.frontend.entrypoints=web-secure" \
-l "traefik.http.routers.frontend.tls=true" \
-l "traefik.http.routers.frontend.tls.certResolver=letsencrypt" \
-l "traefik.http.services.frontend.loadbalancer.server.port=80" \
frontend-image
Traefik מעריך כללים על מנת ספציפית; נתיבים ספציפיים יותר (כמו FLT:35) מתאימים קודם לכן.זה מבטיח את הטיפול הנכון מטפל כל בקשה.
תכונות מתקדמות Traefik
מעבר למניעה בסיסית, Traefik מציע תכונות עוצמתיות שמשפרות את האבטחה, האמינות והעקשנות.
מודעות
מודעות ביניים הן פונקציות שתהליך מבקשות לפני שהן מגיעות לגיבוי, הן יכולות להיות מושלכות ולהשתמש בהן מחדש בכל נתבים.
- (ב) ,0) ,ב"הת'"ה: להגן על המחוונים או על הסביבה הממושכת.
- (ב) ,0) ,RateLimitFLT:1: בקשות Throttle מ- IP יחיד.
- (ב) ,0) ,[דרוש מקור]: "השיבו" (שם, כ"ד, כ"ד).
- (ב) עיין ב-[[1924]]: [[1924]]
- (ב) [15] ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
דוגמה: Secure the Traefik עם HTTP Basic Auth.1 ליצור קובץ ההרחבה:
htpasswd -nB user | tee -a .htpasswd
לאחר מכן להגדיר אמצעי זהירות בקובץ תצורה דינמי (או באמצעות תוויות על מיכל Traefik) והתייחס אליו על נתב המחוונים.לפשטות, להציב מודעות ביניים בקובץ נפרד (למשל, FLT:40) ולהטען אותו באמצעות ספק:
http:
middlewares:
dashboard-auth:
basicAuth:
usersFile: /etc/traefik/.htpasswd
לאחר מכן, ניתן גם לעדכן את מיכל ה-Trefik כדי לעלות על מנת להוסיף את קובץ ה-FLT:44 ו-FLT:43.
providers:
file:
filename: /dynamic.yml
לבסוף, התווית את נתב המחוונים להשתמש במזהה (או להגדיר את נתב המחוונים בספק הקובץ).התיעוד הרשמי של Traefik מספק הדרכה מפורטת.
תגית: Balancing
איזון עומס הוא אוטומטי כאשר מספר מכולות חולקים את אותו שם שירות. Traefik מחלק בקשות נכנסות באמצעות אלגוריתם עגול-רובין כברירת מחדל.You יכול להתאים משקולות ודביקות באמצעות תוויות.לדוגמה, להפיץ תנועה 70/30 בין שתי גרסאות של אפליקציה:
docker run -d \
--name=myapp-v1 \
--network=traefik-net \
-l "traefik.http.services.myapp.loadbalancer.server.port=80" \
-l "traefik.http.routers.myapp.rule=Host(`app.example.com`)" \
-l "traefik.http.routers.myapp.service=myapp" \
myapp:v1
docker run -d \
--name=myapp-v2 \
--network=traefik-net \
-l "traefik.http.services.myapp.loadbalancer.server.port=80" \
-l "traefik.http.services.myapp.loadbalancer.server.weight=30" \
myapp:v2
בדיקות בריאות
Traefik יכול לפקח על בריאות מכולות אחורית ולעצור את ההשתתפות במקרים לא בריאים.תבדקו את בדיקות הבריאות על שירות איזון העומס באמצעות תוויות:
-l "traefik.http.services.myapp.loadbalancer.healthcheck.path=/health"
-l "traefik.http.services.myapp.loadbalancer.healthcheck.interval=10s"
-l "traefik.http.services.myapp.loadbalancer.healthcheck.timeout=3s"
אם מיכל נכשל בבדיקת הבריאות, Traefik מסיר אותה מהב לבריכה עד שהוא עובר שוב.
עקבו אחרי Dashboard and Metrics
לוח המחוונים (הזמין כברירת מחדל בנמל 8080) מספק חשיפה בזמן אמת ל נתבים, שירותים, מתווך ובריאות.
metrics:
prometheus:
addEntryPointsLabels: true
addServicesLabels: true
לאחר מכן, מחיקת ה-Commontpoint (defaultFLT:49) מ-Prometheus ו-Ratchize עם Grafana.
היתרונות של שימוש ב- Traefik
סוללות פריסת מכולות בדרכים שפרוקסיות היפוך מסורתיות אינן יכולות להתאים:
- (FLT:0)Zero-touch routingFirLT:1; מיכלים חדשים מתגלים באופן אוטומטי ונצמדים ללא הפעלת קבצי התצורה של Proxy או עריכה.
- (FLT:0) משולב SSLFLT:1: בואו של אינטגרציה הצפנה אינטגרטיבית תעודות קידוד והתחדשות, צמצום שגיאות חוצות ותעודה.
- (ב) ⁇ :0)Layer 7 routingFLT:1: תמיכה בפתירה, מארח, ראשים, פרמטרים של שאילתה, ושילובים מורכבים של כללים.
- (ב) ⁇ :0) ,9.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.10.
- (FLT:0) תמיכה של רב-ספקי יותר: השתמש ב Docker, Kubernetes, Consul, או אפילו תצורה מבוססת קובץ פשוטה - Traefik מתאים.
- (ב) ⁇ :0) ⁇ (ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
יתרונות אלה מתרגמים למחזורי פריסה מהירים יותר, פחות שגיאות תצורה, וצמצום קל יותר.כאשר מיכל משוכפל, Traefik באופן אוטומטי עומס איזון בין מקרים; כאשר מכולה מתרסקת, ה- Proxy ההפוך מפסיק לשלוח אליו תנועה.
בעיות נפוצות
גם עם אוטומציה של Traefik, בעיות יכולות להתעורר.למטה הן מכשולים תכופים ופתרונותיהן.
- (ב) לא מופיע בקווים: ראה: "התא" (ב) "וַיְּאֶתָּבְתָּבְהַהָּתִיתִיתִיתִיתִיתִיתִיתִי" (בראשית כ"ד, כ"ד).
- (FLT:0SSL תעודה לא השיגה את ה-HTFLT:1: ודא שהתחום שלך פותר ל- IP הציבורי של השרת.בדוק כי נמל 80 הוא זמין לאתגר HTTP-01.אם באמצעות אתגר DNS, להגדיר את הספק כראוי.
- (ב) [15] ,0) ,(Dashboard unreachableFLT:1: לוח המחוונים מוגש על נמל 8080 על ידי ברירת מחדל.If you changed the entry point or Port, להתאים את התווית עבור נתב לוח המחוונים.
- (ב) ,0) , הוראת כללים שאינם מתאימים לסעיף 1: (הראשונה ל-[[1924]], [[1924]], [[1924]], [[1924]], [[1924]]]], [[1924]]]]]], [[1924]]]]]]]]]], [[1924]]]]]]]], [[1924]]]]]]]]]]
- (ב) (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
תמיד מתחילים עם ה-FLT:58 כאשר הם מתקשים לראות החלטות מפורטות.
שיקולים ביטחוניים
ריצה Traefik עם Docker socket הגדל מציג סיכון טבועה: אם התוקף מקבל שליטה על מיכל Traefik, הם יכולים לתמרן את דוקר daemon. Mitigate זה על ידי:
- (ב) ,0) הגבלת גישה ל-Docker socketph: השתמש בפתרונות פרוקסי כגון FLT:59 כדי לסנן שיחות API.
- (ב) ,0) , רצ'יל כמשתמש לא-בסיסי (ב) 1 עם יכולות מוגבלות (שימוש ב-FLT:60 ו-FLT:61).
- (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ,0) אימות של לוח המחוונים של ה-DPSFLT:1 ושימוש ב- HTTPS עבור נקודות קצה ניהול.
- (ב) ,0) העדכונים הפורמליים של ההרחבה: שמור על Traefik ודימוי הבסיס שלו עד כה.
בנוסף, קביעת כללי חומת האש כדי להגביל את הגישה לנמל 8080 רק מ- IP פנימיים (למשל, VPN).
השוואה עם Proxies אחרים
Traefik הוא לא ה- Proxy ההפוך היחיד עבור Docker; Nginx ו- HAProxy הם חלופות פופולריות.כאן הוא האופן שבו Traefik עומד:
- (FLT:0vs. NginxFLT:1): Nginx דורש ניהול קבצים ידני או כלים כגון Nginx-proxy. Traefik מספק שילוב Native Docker ללא תסריטים נוספים. Nginx יש תמיכה קהילתית רחבה יותר והוא יותר קל עבור הגדרות פשוטות, אבל השיקום הדינמי של Traef הוא מעולה עבור שינויים מהירים.
- (FLT:0vs. HAProxyFLT:1): HAProxy מצטיין איזון עומס גולמי וביצועים, אבל חסר תגליות שירות אוטומטיות ו בואו אינטגרציה הצפנה. Traefik הוא יותר דעה וקל יותר להגדיר עבור HTTP / HTS במערכת אקולוגית מקוטבת.
- (FLT:0vs. CadiglliFLT:1: קדידי כולל גם HTTPS אוטומטיים ותצורה פשוטה, אבל Traefik מציע תמיכה מתוכנתת עשירה יותר ולוחם. Caddy הוא פשוט יותר עבור פריסות המכילות יחיד; קשקשים טרפוויק טוב יותר עבור microservices.
עבור צוותים המשתמשים ב-Docker Compose או Kubernetes, שילוב הספק של Traefik מקטין את הנטל התפעולי באופן משמעותי.
מסקנה
(הופנה מהדף Docker פריסת כלי על ידי הפעלת כ-Agent, self-configuring לאחור Proxy.היכולת שלו לגלות שירותים באופן אוטומטי, לנהל תעודות SSL, ותנועה במסלול המבוססת על תוויות מבטלת שלבים ידניים רבים אשר מאטים את הפיתוח ואת הפעולות. מאמר זה כיסה את ההגדרה החיונית: יצירת רשת דוקר, הפעלת Traef עם הגדרות סטטיות ודינמיות, פריסת יישומים עם תוויות מינוף ואפקטים מתקדמים, כמו גם בדיקות אבטחה מתקדמות.