无法从 kubernetes 中的 public ip 访问服务
Not able to access service from the public ip in kubernetes
我正在使用 kubernetes 和 运行 一项服务。服务 运行ning 正在服务中。但是我无法从实例的 public ip 访问它。下面是我的部署文件。
apiVersion: v1
kind: Service
metadata:
name: apache-service
spec:
selector:
app: apache
ports:
- protocol: TCP
port: 80
targetPort: 80
type: NodePort
---
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: apache-deployment
spec:
selector:
matchLabels:
app: apache
replicas: 2 # tells deployment to run 2 pods matching the template
template:
metadata:
labels:
app: apache
spec:
containers:
- name: apache
image: mobingi/ubuntu-apache2-php7:7.2
ports:
- containerPort: 80
这是我的服务清单。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
apache-service NodePort 10.106.242.181 <none> 80:31807/TCP 9m5s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 11m
但是当我使用群集和节点的 public ip 从以下 telnet 检查相同的服务时。它没有响应。
telnet public-ip:31807
任何类型的帮助都将不胜感激。
集群IP是什么意思?您是指充当 kunernetes master 的节点吗?如果您使用主 IP,它将不起作用。因为出于安全考虑,masters 没有安排部署。
通过节点端口公开服务意味着该服务侦听每个工作节点中的特定端口。因此,您可以使用节点端口访问 kunernetes 工作节点并获得响应。但是,如果您使用 aws 等云提供商创建集群,则工作节点安全组是安全的。可能需要编辑工作节点的安全组才能访问该服务。
我正在使用 kubernetes 和 运行 一项服务。服务 运行ning 正在服务中。但是我无法从实例的 public ip 访问它。下面是我的部署文件。
apiVersion: v1
kind: Service
metadata:
name: apache-service
spec:
selector:
app: apache
ports:
- protocol: TCP
port: 80
targetPort: 80
type: NodePort
---
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: apache-deployment
spec:
selector:
matchLabels:
app: apache
replicas: 2 # tells deployment to run 2 pods matching the template
template:
metadata:
labels:
app: apache
spec:
containers:
- name: apache
image: mobingi/ubuntu-apache2-php7:7.2
ports:
- containerPort: 80
这是我的服务清单。
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
apache-service NodePort 10.106.242.181 <none> 80:31807/TCP 9m5s
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 11m
但是当我使用群集和节点的 public ip 从以下 telnet 检查相同的服务时。它没有响应。
telnet public-ip:31807
任何类型的帮助都将不胜感激。
集群IP是什么意思?您是指充当 kunernetes master 的节点吗?如果您使用主 IP,它将不起作用。因为出于安全考虑,masters 没有安排部署。
通过节点端口公开服务意味着该服务侦听每个工作节点中的特定端口。因此,您可以使用节点端口访问 kunernetes 工作节点并获得响应。但是,如果您使用 aws 等云提供商创建集群,则工作节点安全组是安全的。可能需要编辑工作节点的安全组才能访问该服务。