我试图在k8s中设置一个dvwa环境,当我暴露dvwa吊舱的端口时,发现它无法正常工作。
我尝试暴露nginx样本,以确保我的k8s env正常工作。是的,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,我还尝试在dvwa_service.yaml中使用80端口,但仍然无法正常工作。
有人可以帮我吗???预先感谢!
答案 0 :(得分:0)
targetPort
尝试以下服务定义
apiVersion: v1
kind: Service
metadata:
name: dvwa
spec:
ports:
- port: 3306
targetPort: 3306
selector:
app: dvwa
type: NodePort
您能否进入dvwa pod并运行localhost:3306 你有反应吗?