【发布时间】:2021-09-24 08:04:21
【问题描述】:
我是 Kubernetes 新手,我正在尝试不同的东西。这是我的部署文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: hellok8s
spec:
replicas: 2
selector:
matchLabels:
app: hellok8s
template:
metadata:
labels:
app: hellok8s
spec:
containers:
- image: brianstorti/hellok8s:v3
name: hellok8s-container
下面是我的服务文件。
apiVersion: v1
kind: Service
metadata:
name: hellok8s-svc
spec:
type: NodePort
selector:
app: hellok8s
ports:
- port: 4567
nodePort: 30001
我正在使用 exec 命令并从容器内部尝试使用服务名称访问服务。当我使用集群 IP 访问它时,它工作正常,但是当我尝试使用服务名称访问它时,它不起作用。可能是什么问题?
【问题讨论】:
-
1.您是否尝试过附加命名空间,例如
servicename.namespace2. 似乎您错过了服务中的protocol: TCP -
服务正在 TCP 上运行。我已经检查了服务。以及如何附加命名空间? @杨磊
-
但是您没有粘贴服务的
TCP部分,您可以更新问题吗?我不知道你从哪里执行,如果来自 anther 命名空间,你可以调用hellok8s-svc.belongingnamespace -
我从默认命名空间执行它
-
你在使用svc时使用的是哪个端口?它应该是 4567,而不是 30001
标签: kubernetes kubernetes-pod kubernetes-service