Nhận Nhật ký xâm nhập Kubernetes để gỡ lỗi

Nhan Nhat Ky Xam Nhap Kubernetes De Go Loi



Bạn có biết Get Kubernetes ingress log để gỡ lỗi là gì không? Các vấn đề về mạng ngày càng khó chẩn đoán hơn khi việc triển khai ngày càng lớn hơn. Hướng dẫn này chỉ cho bạn cách sử dụng plugin kubectl ingress-nginx để gỡ lỗi quyền truy cập vào ứng dụng của bạn thông qua bộ điều khiển xâm nhập. Trước tiên, hãy xem định nghĩa về lối vào Kubernetes, điều quan trọng để hiểu rõ hơn về chủ đề chính.

Kubernetes Ingress là gì?

Định nghĩa của sự xâm nhập là 'mục nhập' theo nghĩa đen của nó.







Trong cộng đồng Kubernetes, điều đó cũng đúng. Lưu lượng truy cập vào cụm được gọi là đầu vào, trong khi lưu lượng rời khỏi cụm được gọi là đầu ra.




Là một tài nguyên Kubernetes gốc, lối vào có thể so sánh với các nhóm, triển khai, v.v. Bạn có thể cập nhật các cấu hình định tuyến DNS bằng cách sử dụng lối vào. Bộ điều khiển xâm nhập là thứ thực hiện định tuyến. Nó thực hiện điều đó bằng cách đọc các quy tắc định tuyến ngay từ các đối tượng xâm nhập được lưu trữ trong etcd. Nếu không có sự xâm nhập của Kubernetes, bạn có thể hiển thị ứng dụng ra thế giới bên ngoài bằng cách đưa Service Type Load Balancer vào quá trình triển khai.



Kubernetes Ingress hoạt động như thế nào?

Có hai điều quan trọng mà bạn cần phải rõ ràng. Đó là:





Tài nguyên xâm nhập Kubernetes

Tài nguyên này chịu trách nhiệm duy trì tất cả các quy tắc định tuyến DNS trong cụm. Các quy tắc định tuyến DNS được chỉ định trong tài nguyên Kubernetes Ingress, một tài nguyên Kubernetes gốc. Nói cách khác, bạn ánh xạ lưu lượng DNS bên ngoài tới các đích dịch vụ Kubernetes nội bộ.



Bộ điều khiển xâm nhập Kubernetes

Bằng cách giành quyền truy cập vào các quy tắc DNS được triển khai bởi tài nguyên đầu vào, bộ điều khiển đầu vào Kubernetes (Nginx/HAProxy, v.v.) chịu trách nhiệm định tuyến.

Việc triển khai Bộ điều khiển xâm nhập không có nguồn gốc từ Kubernetes. Do đó, nó không thể là mặc định của cụm.

Để các quy tắc xâm nhập hoạt động, chúng ta phải định cấu hình bộ điều khiển xâm nhập. Có rất nhiều bộ điều khiển xâm nhập kinh doanh và mã nguồn mở trên thị trường. Phiên bản của máy chủ proxy web ngược của một cụm đóng vai trò là bộ điều khiển xâm nhập. Máy chủ proxy ngược dựa trên Kubernetes này được tiếp xúc với dịch vụ cân bằng tải.

Bộ điều khiển xâm nhập là gì?

Một chương trình chạy theo cụm có tên là Bộ điều khiển xâm nhập sẽ định cấu hình bộ cân bằng tải HTTP theo các tài nguyên Ingress. Bộ cân bằng tải có thể là bộ cân bằng tải trên đám mây hoặc phần cứng được triển khai bên ngoài hoặc có thể hoạt động như một phần mềm trong cụm. Việc triển khai Bộ điều khiển xâm nhập khác nhau là cần thiết cho các bộ cân bằng tải khác nhau.

Khi sử dụng NGINX, cả bộ cân bằng tải và bộ điều khiển xâm nhập đều được triển khai trong một nhóm.

Xin lưu ý rằng phải có bộ điều khiển xâm nhập đang hoạt động trong cụm để tài nguyên Ingress hoạt động.

Bộ điều khiển xâm nhập không được khởi chạy tự động cùng với một cụm, trái ngược với các loại bộ điều khiển khác hoạt động như một thành phần của nhị phân trình quản lý-bộ điều khiển kube.

điều kiện tiên quyết:

Bạn cần một cụm Kubernetes và bạn phải định cấu hình công cụ dòng lệnh kubectl để kết nối với cụm của mình. Bạn có thể ra lệnh cho các cụm Kubernetes bằng công cụ dòng lệnh kubectl. Các ứng dụng có thể được triển khai, tài nguyên cụm có thể được kiểm tra và quản lý, đồng thời có thể xem nhật ký bằng kubectl.

Nếu bạn hiện không có cụm, Minikube có thể được sử dụng để tạo một cụm. Minikube là một Kubernetes cục bộ nhằm mục đích làm cho việc học và phát triển Kubernetes trở nên đơn giản.

Kubernetes có thể được truy cập chỉ bằng một lệnh nếu bạn có môi trường máy ảo hoặc môi trường vùng chứa Docker (hoặc tương thích tương tự). Hãy bắt đầu quá trình từng bước ngay bây giờ:

Bước 1: Bắt đầu Minikube

Sử dụng công cụ minikube, bạn có thể chạy Kubernetes cục bộ. Minikube chạy cụm Kubernetes cục bộ tất cả trong một hoặc nhiều nút trên máy tính của bạn để phục vụ công việc phát triển hàng ngày hoặc để kiểm tra Kubernetes (bao gồm Windows, PC Linux và macOS). Đây là lệnh để bắt đầu minikube:

> bắt đầu minikube



Bước 2: Kích hoạt Bộ điều khiển xâm nhập

Chúng tôi sẽ trình bày cách kích hoạt bộ điều khiển NGINX Ingress trong bước này. Thực hiện lệnh sau:

> tiện ích minikube cho phép xâm nhập



Bước 3: Xác minh xem NGINX Ingress Controller có hoạt động hay không

Bây giờ, điều quan trọng là phải xác minh xem bộ điều khiển NGINX có đang hoạt động hay không. Lệnh sau có thể được sử dụng để xác nhận rằng:

> kubectl lấy nhóm -N ingress-nginx



Xin lưu ý rằng bạn có thể không nhận thấy rằng các nhóm này đang hoạt động bình thường trong tối đa một phút. Đầu ra được hiển thị trong hình ảnh trước đó.

Bước 4: Tạo ứng dụng Hello World

Ở đây, chúng tôi sử dụng lệnh sau để tạo triển khai:

> kubectl tạo web triển khai --hình ảnh =gcr.io / google-mẫu / xin chào-ứng dụng: 1.0



Lệnh được thực thi và kết quả của nó được đính kèm trong hình ảnh trước đó. Ở đầu ra, có thể thấy “hello-app”.

Bước 5: Đưa ra triển khai

Bây giờ, chúng tôi sẽ hiển thị cho bạn một lệnh để hiển thị một triển khai cụ thể. Lệnh được đề cập như sau:

> triển khai hiển thị kubectl Kalsoom  - -loại =NodePort --Hải cảng = 8080



Bạn có thể thấy đầu ra “dịch vụ/kalsoom tiếp xúc” trong hình ảnh trước đó.

Bước 6: Truy cập Dịch vụ qua NodePort

Đây là một bước quan trọng, nơi chúng tôi chỉ cho bạn cách bạn có thể truy cập dịch vụ đã tạo thông qua NodePort. Lệnh để đạt được mục đích này được đưa ra như sau:

> dịch vụ minikube Kalsoom  --url



Lệnh cùng với đầu ra được đính kèm trong hình trước.

Giờ đây, địa chỉ IP Minikube và NodePort giúp việc xem ứng dụng mẫu trở nên đơn giản. Bạn có thể sử dụng tài nguyên Ingress để truy cập ứng dụng ở bước sau.

Bước 7: Tạo một xâm nhập

Tại đây, chúng tôi tạo một Đường vào để truyền lưu lượng đến Dịch vụ của bạn. Lệnh được đề cập như sau:

> áp dụng kubectl -f https: // k8s.io / ví dụ / Dịch vụ / kết nối mạng / ví dụ-ingress.yaml



Như bạn có thể thấy, lệnh được thực thi thành công.

Bước 8: Xác minh địa chỉ IP

Chúng tôi kiểm tra xem địa chỉ IP đã được đặt hay chưa. Đối với điều đó, chúng tôi sử dụng lệnh đã cho sau:

> kubectl xâm nhập



Ở đầu ra, bạn sẽ thấy một địa chỉ IPv4 trong cột ĐỊA CHỈ.

Phần kết luận

Tổng quan về quá trình ghi nhật ký của NGINX Ingress Controller được cung cấp trong bài viết này. Tóm lại, nhật ký truy cập và lỗi cho NGINX cùng với nhật ký từ quy trình Bộ điều khiển xâm nhập tạo cấu hình NGINX và tải lại NGINX để áp dụng nó, được cung cấp bởi Bộ điều khiển xâm nhập NGINX.