我创建了一个服务并使用了nodeport等但无法访问该服务。
我使用以下内容创建了一个web-service.yaml文件,并使用kubectl创建服务:
apiVersion: v1
kind: Service
metadata:
name: web-service
labels:
app: web-service
spec:
type: NodePort
ports:
- port: 80
protocol: TCP
selector:
app: webserver
以及包含以下部署详细信息的webserver.yaml文件
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: webserver
spec:
replicas: 3
template:
metadata:
labels:
run: webserver
spec:
containers:
- name: webserver
image: nginx:alpine
ports:
- containerPort: 80
答案 0 :(得分:0)
在您的部署中,label是run = webserver,但在您的服务中,label是app = webserver。该服务使用app = webserver作为Selector,通过它选择三个标签“app”设置为“webserver”的pod。在这种情况下,没有任何pod具有标签“app”,因此部署未成功公开为服务。部署和服务中的标签名称和值应匹配。