Tôi đã thử triển khai một ứng dụng nginx mẫu và nó đang hoạt động.
Vì vậy, tôi đã thay thế tương tự bằng một nodejs khác vì trang này chứa nhiều trang phụ. Vì vậy, tôi có thể kiểm tra định tuyến.
Tại đây, với loại dịch vụ mặc định của LoadBalancer, trang đang tải như bên dưới.
Tuy nhiên, với cổng istio, nó chỉ hiển thị một trang trống.
Xin đề nghị làm thế nào để khắc phục điều đó?
Cổng của tôi:
phiên bản api: mạng.istio.io/v1alpha3
loại: Cổng
metadata:
tên: sampleserver-gateway
thông số kỹ thuật:
bộ chọn:
istio: ingressgateway # sử dụng bộ điều khiển mặc định của istio
may chủ:
- Hải cảng:
số: 80
tên: http
giao thức: HTTP
máy chủ:
- "*"
Dịch vụ ảo của tôi:
phiên bản api: mạng.istio.io/v1alpha3
loại: Dịch vụ ảo
metadata:
tên: nginxserver
thông số kỹ thuật:
máy chủ:
- "*"
cổng:
- cổng máy chủ mẫu
http:
- trận đấu:
- bạn:
chính xác: /
tuyến đường:
- điểm đến:
máy chủ: dịch vụ nginx
Hải cảng:
số: 8080
Tệp triển khai và dịch vụ của tôi:
phiên bản api: v1
loại: Dịch vụ
metadata:
tên: dịch vụ nginx
nhãn:
ứng dụng: nginx
dịch vụ: nginx
thông số kỹ thuật:
bộ chọn:
ứng dụng: nginx
cổng:
- tên: http
cổng: 8080
cổng mục tiêu: 3000 #80
---
phiên bản api: v1
loại: ServiceAccount
metadata:
tên: chi tiết nginx
nhãn:
tài khoản: nginx
---
apiVersion: ứng dụng/v1
loại: Triển khai
metadata:
tên: triển khai nginx
nhãn:
ứng dụng: nginx
phiên bản: v1
thông số kỹ thuật:
bản sao: 1
bộ chọn:
trận đấuNhãn:
ứng dụng: nginx
phiên bản: v1
mẫu:
metadata:
nhãn:
ứng dụng: nginx
phiên bản: v1
thông số kỹ thuật:
serviceAccountName: chi tiết nginx
hộp đựng:
- tên: nginx
hình ảnh: uday1kiran/bắt đầu:1.0 #nginx
imagePullPolicy: IfNotPresent
cổng:
- containerPort: 3000 #80
tên: cổng nginx
#an ninhBối cảnh:
#runAsUser: 1000
Đối với cổng, tôi đặt dịch vụ kubernetes mặc định là ClusterIP.
Tuy nhiên, vì nó không hiển thị, vì mục đích thử nghiệm, tôi đã đổi nó thành LoadBalancer để kiểm tra bất kỳ vấn đề nào với ứng dụng, nhưng thông qua dịch vụ LoadBalancer bình thường, nó đang tải chứ không phải với cổng vào istio.
Ứng dụng mẫu là hình ảnh công khai, bạn có thể kiểm tra trực tiếp
Các nguồn mã của ứng dụng nằm trong thư mục ứng dụng của repo