L尝试在k8s中设置dvwa环境,当l暴露dvwa pod的端口时,l发现它不能正常工作。
我尝试暴露一个nginx样本,以确保我的k8s环境正常工作。是的,nginx在我的本地机器上运行良好。
以下是一些信息
# dvwa.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: dvwa
spec:
replicas: 2
selector:
app: dvwa
template:
metadata:
labels:
app: dvwa
spec:
containers:
- name: dvwa
image: citizenstig/dvwa:latest
ports:
- containerPort: 3306
# dvwa_service.yaml
apiVersion: v1
kind: Service
metadata:
name: dvwa
spec:
ports:
- port: 3306
selector:
app: dvwa
type: NodePort
$ kubectl get svc -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
AGE SELECTOR
dvwa NodePort 10.98.238.130 <none>
3306:32393/TCP 7m15s app=dvwa
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP
35h <none>
nginx NodePort 10.97.143.32 <none>
80:31961/TCP 5m51s app=nginx当l ssh进入我的k8s机器并输入curl 10.97.143.32:80时,它返回nginx页面,但curl 10.98.238.130:3306不工作,docker图像是citizenstig/dvwa,它暴露了80和3306,l也尝试在dvwa_service.yaml中使用80端口,但仍然不能工作。
有人能帮我吗?提前感谢!
发布于 2019-03-26 02:38:01
您的服务定义中缺少targetPort
在下面的服务定义下尝试
apiVersion: v1
kind: Service
metadata:
name: dvwa
spec:
ports:
- port: 3306
targetPort: 3306
selector:
app: dvwa
type: NodePort您能进入dvwa pod并运行localhost:3306吗?
https://stackoverflow.com/questions/55342881
复制相似问题