我有以下部署文件
apiVersion: apps/v1
kind: Deployment
metadata:
name: family-tree-deployment
labels:
app: familytree
spec:
replicas: 1
selector:
matchLabels:
app: familytree
template:
metadata:
labels:
app: familytree
spec:
containers:
- name: familytree
image: index.docker.io/koustubh/familytree:v1.0
ports:
- containerPort: 8080
我可以使用kubectl create -f deploy.yml
现在,我只是使用以下命令公开了此部署
kubectl expose deployment family-tree-deployment --type=LoadBalancer --name=familytree-service
服务已成功创建。
输出为
$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
familytree-service LoadBalancer 10.51.244.161 35.221.113.235 8080:30505/TCP 1h
$ kubectl describe svc familytree-service
Name: familytree-service
Namespace: default
Labels: app=familytree
Annotations: <none>
Selector: app=familytree
Type: LoadBalancer
IP: 10.51.244.161
LoadBalancer Ingress: 35.221.113.235
Port: <unset> 8080/TCP
TargetPort: 8080/TCP
NodePort: <unset> 30505/TCP
Endpoints: 10.48.4.7:8080
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
我可以登录到Pod,并确保该服务正在运行。 但是,当我使用负载均衡器的外部IP并查询我的api时,连接超时。
我已确保防火墙允许端口8080。 我的应用程序在端口8080上运行
答案 0 :(得分:0)
生成的Service对象看起来非常有效,因此我们可以排除标签问题或丢失的公共IP地址。此外,您可以在内部访问您的服务,这意味着防火墙规则很可能被错误地应用。
请确保您允许以下传入流量