Tôi cố gắng để chạy ứng dụng của tôi sử dụng Kubernetes tôi đã tạo ra một triển khai từ tập tin gọi là deployment.yaml
một dịch vụ từ các tập tin gọi là service.yaml
Kubernetes không thể nhìn thấy ứng dụng của tôi tại địa chỉ IP cho
Dưới đây là nội dung của deployment.yaml
:
apiVersion: v1
kind: Pod
metadata:
name: kubectl-test
spec:
containers:
- name: kubectl-test
image: gcr.io/[my-name]/node-app:0.0.1
imagePullPolicy: Always
ports:
- containerPort: 8080
hostPort: 8080
Đây là tôi services.yaml
kind: Service
apiVersion: v1
metadata:
#Service name
name: kubectl-test-node-app
spec:
selector:
app: kubectl-test-189010
ports:
- protocol: TCP
port: 8000
targetPort: 8000
type: LoadBalancer
Khi tôi chạy lệnh kubectl get deployments
, tôi có thể thấy:
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
kubernetes-bootcamp 1 1 1 1 16m
tôi có thể thấy dịch vụ của tôi bằng cách sử dụng kubectl get services
và tôi có thể thấy:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubectl-test-node-app LoadBalancer 10.59.242.211 35.195.2.76 8000:31592/TCP 8m
kubernetes ClusterIP 10.59.240.1 <none> 443/TCP 1d
Khi tôi cố gắng đến thăm EXTERNAL-IP:8000
tôi không thể nhìn thấy tôi ứng dụng ở đó, tôi không nhận được bất kỳ lỗi nào, nhưng tôi không làm gì sai!
EDIT
tôi đã phải tạo triển khai sử dụng:
`kubectl run kubernetes-bootcamp --image=[image-name] --port=8080`
nhưng không phải với lệnh này
`kubectl create -f deployment.yaml`
Đây có phải là có liên quan đến cảng: 8000:31592/TCP
?
kubectl get pods
kubectl-test 1/1 Running 0 4h
kubernetes-bootcamp-1654181842-czwqg 1/1 Running 0 3h
EDIT
Chạy lệnh kubectl describe services kubectl-test-node-app
lợi nhuận:
Name: kubectl-test-node-app
Namespace: default
Labels: <none>
Annotations: <none>
Selector: app=kubectl-test-189010
Type: LoadBalancer
IP: 10.59.242.211
LoadBalancer Ingress: 35.195.2.76
Port: <unset> 8000/TCP
TargetPort: 8000/TCP
NodePort: <unset> 31592/TCP
Endpoints: <none>
Session Affinity: None
External Traffic Policy: Cluster
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal CreatingLoadBalancer 58m service-controller Creating load balancer
Normal CreatedLoadBalancer 57m service-controller Created load balancer
Không có điểm cuối xác định. Tôi đoán đây là vấn đề? Làm thế nào tôi có thể xây dựng các điểm kết thúc?
bạn đang sử dụng cổng máy chủ cũng như cổng nút đó là lạ. Nếu bạn có thể sử dụng Nodeport thì nó đảm bảo rằng ứng dụng của bạn được liên kết với cổng chính xác. –
@SureshVishnoi Tôi mới làm quen với điều này, tôi phải làm theo hướng dẫn để xem những gì tôi cần làm, u có thể chỉ ra cho tôi những gì tôi cần làm không? –