sách gpt4 ăn đã đi

Plugin Traefik (gốc) tùy chỉnh

In lại Tác giả: qq735679552 Thời gian cập nhật: 27-09-2022 22:32:09 30 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết trên blog CFSDN về tùy chỉnh plug-in Traefik (local) này được tác giả sưu tầm và biên soạn. Nếu bạn quan tâm đến bài viết này thì nhớ like nhé.

Plugin Traefik (gốc) tùy chỉnh

Traefik đã triển khai rất nhiều phần mềm trung gian theo mặc định, có thể đáp ứng hầu hết các nhu cầu hàng ngày của chúng ta. Tuy nhiên, trong công việc thực tế, người dùng vẫn có nhu cầu tùy chỉnh phần mềm trung gian. Để giải quyết vấn đề này, chính thức đã đưa ra chức năng Traefik Pilot[1], và trong phiên bản Traefik v2.5 cũng đã ra mắt chức năng hỗ trợ các plug-in riêng cục bộ.

Thí điểm giao thông

Traefik Pilot là một nền tảng SaaS liên kết với Traefik để mở rộng chức năng của nó. Nó cung cấp nhiều chức năng để tăng cường khả năng quan sát và kiểm soát Traefik thông qua bảng điều khiển và Bảng điều khiển toàn cầu:

  • Các chỉ số hoạt động mạng của proxy Traefik và nhóm proxy
  • Các vấn đề về tình trạng dịch vụ và cảnh báo về lỗ hổng bảo mật
  • Các plug-in mở rộng chức năng Traefik

Trước khi Traefik có thể sử dụng các tính năng của Traefik Pilot, chúng phải được kết nối và chúng ta chỉ cần thực hiện những thay đổi nhỏ đối với cấu hình tĩnh của Traefik.

Plugin Traefik (gốc) tùy chỉnh

Tác nhân Traefik phải có quyền truy cập Internet để kết nối với Traefik Pilot, thiết lập kết nối qua HTTPS trên cổng 443.

Đầu tiên chúng ta cần tạo một tài khoản trên trang chủ Traefik Pilot (https://pilot.traefik.io/), đăng ký một phiên bản Traefik mới và bắt đầu sử dụng Traefik Pilot. Sau khi đăng nhập, bạn có thể tạo một phiên bản mới bằng cách chọn Đăng ký phiên bản Traefik mới.

Plugin Traefik (gốc) tùy chỉnh

Ngoài ra, khi Traefik của chúng tôi không được kết nối với Traefik Pilot, biểu tượng chuông sẽ xuất hiện trong Giao diện người dùng web Traefik và chúng tôi có thể chọn Kết nối với Traefik Pilot để điều hướng đến Giao diện người dùng Traefik Pilot để vận hành.

Plugin Traefik (gốc) tùy chỉnh

Sau khi đăng nhập hoàn tất, Traefik Pilot sẽ tạo mã thông báo cho một phiên bản mới và chúng ta cần thêm Mã thông báo này vào cấu hình tĩnh Traefik.

Plugin Traefik (gốc) tùy chỉnh

Kích hoạt cấu hình Pilot trong tệp cấu hình cài đặt Traefik:

  1. # Kích hoạt tích hợp Pilot
  2. phi công:
  3. đã bật: ĐÚNG VẬY
  4. dấu hiệu: "e079ea6e-536a-48c6-b3e3-f7cfaf94f477"

Sau khi cập nhật hoàn tất, chúng ta có thể thấy thông tin liên quan đến Giao diện người dùng Traefik Pilot trong Giao diện người dùng web của Traefik.

Plugin Traefik (gốc) tùy chỉnh

Tiếp theo, chúng ta có thể chọn plugin mà chúng ta muốn sử dụng trên trang plugin của Traefik Pilot. Ví dụ: chúng tôi sử dụng plugin Demo Plugin[2] tại đây.

Plugin Traefik (gốc) tùy chỉnh

Nhấp vào nút Cài đặt plugin ở góc trên bên phải để cài đặt plugin và một hộp thoại sẽ bật lên để nhắc chúng tôi cách cài đặt nó.

Plugin Traefik (gốc) tùy chỉnh

Đầu tiên chúng ta cần đăng ký Traefik hiện tại với Traefik Pilot (đã hoàn thành), sau đó chúng ta cần thêm plug-in này vào Traefik trong cấu hình tĩnh, sau đó thêm các tham số khởi động plug-in:

  1. # Kích hoạt tích hợp Pilot
  2. phi công:
  3. đã bật: ĐÚNG VẬY
  4. dấu hiệu: "e079ea6e-536a-48c6-b3e3-f7cfaf94f477"
  5. các đối số bổ sung:
  6. # Thêm hỗ trợ cho plugin demo
  7. - --experimental.plugins.plugindemo.modulename=github.com/traefik/plugindemo
  8. - --experimental.plugins.plugindemo.version=v0.2.1
  9. #Cấu hình khác

Sau khi cập nhật hoàn tất, hãy tạo một đối tượng Middleware như dưới đây:

  1. ➜ mèo <
  2. Phiên bản api: traefik.containo.us/v1alpha1
  3. loại: Phần mềm trung gian
  4. siêu dữ liệu:
  5. tên: plugin của tôi
  6. đặc điểm kỹ thuật:
  7. plugin:
  8. plugindemo: # Tên plugin
  9. Tiêu đề:
  10. X-Demo: thử nghiệm
  11. Foo:thanh
  12. Cuối cùng

Sau đó thêm nó vào đối tượng IngressRoute của ứng dụng whoami ở trên:

  1. Phiên bản api: traefik.containo.us/v1alpha1
  2. loại: IngressRoute
  3. siêu dữ liệu:
  4. tên: ingressroute-demo
  5. không gian tên: mặc định
  6. đặc điểm kỹ thuật:
  7. điểm vào:
  8. - mạng lưới
  9. tuyến đường:
  10. - khớp: Host(`who.qikqiak.com`) && PathPrefix(`/notls`)
  11. loại: Luật lệ
  12. dịch vụ:
  13. - tên: whoami # Dịch vụ K8s
  14. cổng: 80
  15. phần mềm trung gian:
  16. - tên: myplugin # Sử dụng phần mềm trung gian mới được tạo ở trên

Sau khi cập nhật hoàn tất, khi truy cập http://who.qikqiak.com/notls, chúng ta có thể thấy rằng hai Tiêu đề được xác định trong plugin trên đã được thêm vào.

Plugin Traefik (gốc) tùy chỉnh

Tất nhiên, ngoài việc sử dụng các plug-in do nhà phát triển cung cấp trên Traefik Pilot, chúng ta cũng có thể tự phát triển các plug-in theo nhu cầu riêng. Bạn có thể tham khảo tài liệu phát triển plug-in [3].

Plug-in riêng cục bộ

Ở trên, chúng tôi đã giới thiệu rằng Traefik Pilot có thể được sử dụng để sử dụng các plugin, nhưng đây là nền tảng dịch vụ SaaS, không phù hợp lắm với hầu hết các tình huống doanh nghiệp. Trong nhiều trường hợp hơn, chúng tôi cần tải các plugin trong môi trường cục bộ. giải quyết vấn đề này, Traefik Sau phiên bản v2.5, một phương pháp mới được cung cấp để tải các plug-in trực tiếp từ thư mục lưu trữ cục bộ. Không cần kích hoạt Traefik Pilot. Bạn chỉ cần đặt mã nguồn plug-in vào một. thư mục có tên /plugins-local. Thư mục mới được tạo tương ứng với thư mục làm việc hiện tại. Ví dụ: nếu chúng ta trực tiếp sử dụng hình ảnh docker của traefik, thì điểm vào là thư mục gốc /. Traefik sẽ tự xây dựng plug-in của bạn, vì vậy tất cả những gì chúng ta phải làm là viết mã nguồn và đặt nó vào đúng thư mục và để Traefik tải nó.

Cần lưu ý rằng vì trình cắm chỉ được tải một lần mỗi lần khởi động, nên nếu muốn tải lại mã nguồn trình cắm của bạn, chúng tôi cần khởi động lại Traefik.

Dưới đây chúng tôi sử dụng một ví dụ về trình cắm tùy chỉnh đơn giản để minh họa cách sử dụng các trình cắm riêng. Đầu tiên, chúng tôi xác định tệp Dockerfile có tên Dockerfile.demo, trước tiên hãy sao chép mã nguồn trình cắm thêm từ kho git, sau đó sử dụng traefik:v2.5 làm hình ảnh cơ sở để sao chép mã nguồn trình cắm vào /plugins- thư mục cục bộ, như được hiển thị bên dưới:

  1. TỪ núi cao:3
  2. ARG PLUGIN_MODULE=github.com/traefik/plugindemo
  3. ARG PLUGIN_GIT_REPO=https://github.com/traefik/plugindemo.git
  4. ARG PLUGIN_GIT_BRANCH=chủ
  5. CHẠY apk thêm vào --cập nhật git && \
  6. git clone ${PLUGIN_GIT_REPO} /plugins-địa phương/src/${MÔ_ĐUN_PLUGIN} \
  7. --độ sâu 1 --nhánh đơn --nhánh ${PLUGIN_GIT_BRANCH}
  8. TỪ traefik:v2.5
  9. SAO CHÉP --from=0 /plugins-local /plugins-local

Trình cắm trình diễn mà chúng tôi sử dụng ở đây giống với trình cắm được trình bày trong Thí điểm ở trên. Chúng tôi có thể sử dụng trình cắm này để tùy chỉnh thông tin tiêu đề yêu cầu.

Sau đó, trong thư mục Dockerfile.demo, xây dựng hình ảnh:

  1. ➜ docker build -f Dockerfile.demo -t cnych/traefik-private-demo-plugin:2.5.4 .
  2. # Đẩy tới kho gương
  3. ➜ docker push cnych/traefik-private-demo-plugin:2.5.4

Sau khi hình ảnh được tạo, bạn có thể sử dụng hình ảnh này để kiểm tra plug-in demo. Sửa đổi hình ảnh theo địa chỉ hình ảnh tùy chỉnh của chúng tôi ở trên:

  1. hình ảnh:
  2. tên: cnych/traefik-private-demo-plugin
  3. thẻ: 2.5.4
  4. #thiếu sót khác
  5. # Không cần kích hoạt thí điểm
  6. phi công:
  7. đã bật: SAI
  8. các đối số bổ sung:
  9. # Thêm hỗ trợ cục bộ cho plugin demo
  10. - --experimental.localPlugins.plugindemo.moduleName=github.com/traefik/plugindemo
  11. #thiếu sót khác

Lưu ý rằng chúng tôi đã sử dụng --experimental.localPlugins khi thêm tham số khởi động của Traefik ở trên. Sau khi cập nhật hoàn tất, chúng ta có thể sử dụng plug-in riêng của mình để tạo đối tượng Middleware:

  1. ➜ mèo <
  2. Phiên bản api: traefik.containo.us/v1alpha1
  3. loại: Phần mềm trung gian
  4. siêu dữ liệu:
  5. tên: plugin-riêng-tôi
  6. đặc điểm kỹ thuật:
  7. plugin:
  8. plugindemo: # Tên plugin
  9. Tiêu đề:
  10. X-Demo: bản demo riêng tư
  11. Foo:thanh
  12. Cuối cùng

Sau đó thêm nó vào đối tượng IngressRoute của ứng dụng whoami ở trên:

  1. Phiên bản api: traefik.containo.us/v1alpha1
  2. loại: IngressRoute
  3. siêu dữ liệu:
  4. tên: ingressroute-demo
  5. không gian tên: mặc định
  6. đặc điểm kỹ thuật:
  7. điểm vào:
  8. - mạng lưới
  9. tuyến đường:
  10. - khớp: Host(`who.qikqiak.com`) && PathPrefix(`/notls`)
  11. loại: Luật lệ
  12. dịch vụ:
  13. - tên: whoami # Dịch vụ K8s
  14. cổng: 80
  15. phần mềm trung gian:
  16. - tên: my-private-plugin # Sử dụng phần mềm trung gian mới được tạo ở trên

Sau khi cập nhật đối tượng tài nguyên ở trên, khi truy cập http://who.qikqiak.com/notls, chúng ta có thể thấy rằng hai Tiêu đề mới được xác định trong plugin trên đã được thêm vào, chứng tỏ rằng cấu hình plug-in riêng của chúng tôi là thành công:

Plugin Traefik (gốc) tùy chỉnh

Với sự hỗ trợ của các plug-in riêng cục bộ, Traefik đã thực sự bắt đầu phát triển phải không?

Tài liệu tham khảo

[1]Traefik Pilot: https://pilot.traefik.io/ 。

[2]Plugin demo: https://github.com/traefik/plugindemo 。

[3]Tài liệu phát triển plugin: https://doc.traefik.io/traefik-pilot/plugins/plugin-dev/ 。

Liên kết gốc: https://mp.weixin.qq.com/s/uwMEQgS56OOolgSJes8n2Q.

Cuối cùng, bài viết về cách tùy chỉnh các plug-in Traefik (cục bộ) này kết thúc tại đây. Nếu bạn muốn biết thêm về cách tùy chỉnh các plug-in Traefik (cục bộ), vui lòng tìm kiếm bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên quan. tương lai blog của tôi! .

30 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress