我正在使用 Docker Desktop 和 Docker Desktop 中的 Kubernetes 我已经创建了一个部署和一个服务,如下面的代码片段所示: 部署.yaml:
kind: Deployment
metadata:
labels:
app: rhap
name: deployment
spec:
replicas: 1
selector:
matchLabels:
app: rhap
template:
metadata:
labels:
app: rhap
spec:
containers:
- image: image:release1
name: rhap
服务.yaml:
apiVersion: v1
kind: Service
metadata:
name: rhap-service
spec:
selector:
app: rhap
ports:
- name: cport
port: 8444
nodePort: 30080
- name: iport
port: 3041
nodePort: 30081
- name: bport
port: 4031
nodePort: 30082
- name: uport
port: 31002
nodePort: 31002
type: NodePort
我可以通过 https://localhost:30080 从主机系统访问端口 30080,它会打开我的应用程序。
我已禁用主机虚拟机上的防火墙。 当我尝试从主机虚拟机外部访问端口时,我无法访问端点。
我的 IT 管理员告诉我这些端口正在侦听 IPv6 而不是 IPv4。 com.docke 3093 飞利浦 109u IPv6 4364913 0t0 TCP *:30080(监听) com.docke 3093 飞利浦 155u IPv4 101951 0t0 TCP 127.0.0.1:6443(监听) com.docke 3093 飞利浦 361u IPv6 4367583 0t0 TCP *:30081(监听) com.docke 3093 飞利浦 375u IPv6 4367585 0t0 TCP *:30082(监听) com.docke 3093 飞利浦 631u IPv6 4428698 0t0 TCP *:31002(监听) cupsd 1587823 root 6u IPv6 3162374 0t0 TCP [::1]:631(监听)
不确定我在这里缺少什么。请求帮助。
我认为这是因为该服务没有与应用程序的端口相同的目标端口。
如果不指定服务的目标端口,则默认将服务端口分配给目标端口。